- 浏览: 58884 次
- 性别:
- 来自: 昆明
最新评论
-
iqpkeq:
您这篇文章还有后续么?
XText原创翻译连载 第一章:XText概述 -
salcabar:
我们是新组成的一个团队,很需要懂得extjs的大牛,有意的可以 ...
ExtJS htmlEditor终极扩展(插入图片[上传|链接]、插入表格、水平线等) -
crabboy:
这域名挂了?
G4系统集成与应用开发平台(G4Studio)相关资源下载永久有效中转页面 -
kouzigege:
貌似2.X下不能用,我想加一个表格功能,痛苦死了
ExtJS htmlEditor终极扩展(插入图片[上传|链接]、插入表格、水平线等) -
huangwuyi:
群主,求源码啊这个不能访问啊 http://code.goog ...
ExtJS htmlEditor终极扩展(插入图片[上传|链接]、插入表格、水平线等)
G4系统集成与应用开发平台(G4Studio)相关资源永久有效中转页面:
http://hi.baidu.com/eredlab/blog/item/12eb6eb5b87cbfdd37d3ca1e.html
项目主页地址:
http://code.google.com/p/g4-xiongchun
在线演示地址:
http://web230531.host89.chinajsp.net/
恩 2天的时间访问人数突破1W了,嘿嘿!非常感谢诸大侠们的宝贵意见和给予的肯定和鼓励!!
这个轮子的前世与今生
先说说这个轮子的大概情况。她是一个开放源代码的项目,是一个面向企业计算环境的基础开发平台,用于在企业计算环境下进行系统集成与行业应用快速开发。姑且称之为:eRedG4(易道系统集成与应用开发平台)吧。所谓G4一为等我发布V1.0的时候此轮子就造了快满4年了,二为此轮子已经是第四代了。(此前已经有3个夭折版本由于本人经验能力方面的问题导致技术选型不得当在我开发过程中被我先后不断推翻否定掉了。现在这个版本大的基线确切的说是2009年01月才定的型,当然以前版本的部分基础类库是沿用了的)。目前为止,已经完成了整个开发平台工作量70%左右。
为什么要发此文
偶06年毕业参加工作,当时Java水平比现在菜得多,记得实习时候经常有代码要带我的师傅白帮忙,挺感谢他的,算是我到公司的入门师傅吧。后来由于我对编程有着极大的兴趣,对技术的掌握有了突飞猛进的提高(其实是起点太低:)),慢慢的就不满足于在公司框架上天天重复着复制粘贴的操作了,凭着一股牛劲十足的偏执与激情终于在07年8月份下定决心开始着手eRedG4平台的研发工作。3年的捣腾之路让偶饱尝了各种辛酸与痛楚,当然也带来了无数次完美封装或排错后的高潮与冲动。就这样一路辛酸痛楚着、高潮冲动着坚持了3年。无论是得意时、落魄时、高兴时、伤心时都从不敢懈怠。。。本想一鼓作气的把她干完,但偶最近感觉
身心疲惫,精神恍惚,唯恐在爱机前壮志未酬一命呜呼掉岂不悲哉。加之入职以来都过度偏向技术了,业务知识的不足已经严重影响了我对公司产品和项目的整体把握和驾驭。刚好公司近来有个大集中大整合的项目,正好是我梳理业务提升对公司业务领域掌握层次的大好时机,所以决定把G4平台研发的工作放慢脚步推迟到
2011年9.21发布1.0全功能版本。故写此文算是对G4做个阶段性总结,也希望广大网友们尽管拍砖,使劲拍,拍到头破血流为止。。。
郑重声明
此项目不含任何商业气息也不会在任何时候对其进行商业化包装,纯粹是一个程序员凭借激情与耐力的一个作品。版本发布后回提供完整的代码和文档供同学们参考、修改、使用、或者进行二次开发后包装为你自己的产品!所以今天请诸好汉们在此聚室而谋,多拍砖头,好让偶在以后下一步的工作能够超着正确的方向推进。尽快发布版本,因为偶快扛不住了~~~~
~
继续对eRedG4平台做一个梗概性的介绍
这段就看一下我的《eRedG4开发指南》的目录截图就能有个大概了解了,打字好辛苦。
分别再介绍一下每一章里面的东东,
(1)、基础类库(eRedCCL)
eRed公共组件库(eRed Common Component Library)是eRedG4平台底层基础组件库。为eRedG4平台的其它组件提供了一系列的基础服务。她包括如下一些内容:
1)、常用数据结构、(已实现)
2)、XML处理器、(已实现)
3)、JSON处理器、(已实现)
4)、Properties处理器、(已实现)
5)、模板引擎、(已实现)
6)、eRedServer开发调试服务器(Based Jetty)(已实现)
7)、全能序列号发生器(已实现,参考升值照搬了开源项目E3的相关代码)
8)、辅助工具类等。(已实现)
eRedCCL不但可以作为eRedG4平台的基础组件,也可以独立打包作为一个独立组件发布给其它Java应用使用。
(2)、业务模型框架(eRedBMF)
eRedBMF(eRed Business Model
Frame)。eRed业务模型框架是面向企业计算环境基础开发平台(eRedG4)的核心组件之一。主要负责企业计算模型下一系列关键技术的实现。使得应用软件开发人员在基于
eRedG4平台构建应用系统的时候把更多的精力放在企业计算模型上。而不用关心技术细节。把所有的技术细节交给我们来做,让你去做你最擅长的事。
1)、基于Spring的业务处理对象托管模型(已实现)
2)、基于iBatis2.X的数据持久化方案(已实现)
3)、基于SpringJDBCTemplate的数据持久化方案(待开发)
4)、基于Spring的声明式事物和编程式事物机制实现(已实现)
5)、基于AOP模型的日志审计组件(已实现)
6)、基于AOP模型的业务异常组件(已实现)
7)、“企业服务总线”实现。基本想法为提供一个灵活可配置的服务路由控制器。可以将业务逻辑组件方便的以CXF、 Hessian、SprigHttpInvoker三种RPC方式发布为服务,并在三种服务发布方式之间灵活切换和路由。此组件的定位还在摸索中,希望大家拍砖!准备要用的ESB实现框架也在考察论证中,望大家发表建议!(论证中,待开发)
(3)、富浏览器端开发框架(eRedRIF)
时间晚了,写快点。只能简单说一下了。我的想法就是一个应用提供2套界面开发方案。一套基于web浏览器的,也就是这里 说的eRedRIF;一套基于SWT/JFace和EclipseRCP技术的富桌面客户端开发框架(eRedRCF)。偶的最高理想是设计一套统一这两套UI的标记描述语言,统一UI开发方法或过程然后在编译时可以根据引擎随便驱动出一套UI界面。当然了,这个似乎有点像共产主义,暂时不纳入日程。否则就重蹈大跃进覆辙了。目前的定位还是两套供选择的UI独立开发和部署,但为可能发生的UI方案更换提供便利性。
先说说eRedRIF
1)、引入Struts1.X。但仅仅是用于充当MVC模型中控制器的作用。其他作用大大弱化。(已实现)
2)、UI主要依赖ExtJS,+
部分自定义JSP标签。(已实现)
(本来想把EXTJS全面封装为JspTag,但经过反复论证后放弃了此念头)
3)、基于JasperReport封装客户端Applet打印功能和PDF导出功能。(已实现)
4)、基于FusionChartsFree封装动画图表功能。(已实现)
5)、基于JXL的Excel导入和Excel导出功能(导出支持自定义模板标记语言哦,很方便的)(正在开发,即将杀青)
补充:已经开发完毕(2010-08-20):详情点击
http://www.iteye.com/topic/733339?page=9#1646449
6)、可能还有一些Ext缺乏或不完善的UI组件会在后期继续封装成JspTag。
上一段JSP代码截图你就有个大概印象了。
(只是部分UI封装为JspTag,ExtJS使用原生,但后面提供了代码生成器)
其他效果统一放在最后面的插图了,省事点呵呵~~~~~~
(4)、富桌面客户端开发框架(eRedRCF)
富桌面客户端开发框架是基于IBM早期推出的
Swt/Jface图形库和现在的EclipseRCP技术构建的Java桌面应用。她的崛起必将刷新Java桌面的市场份额。对于这套技术我已经跟进很久了,很看好。国外已经有很多成功案例。据不可靠报道:国内电信、电力等高端行业也逐渐开始了尝试和探索。。。偶也不甘落后,准备在这块上做点文章。目前尚未设计开发,可能得放到明年去了。
可能还有很多同学对这套技术还不怎么熟悉,可以通过这个链接了解一下:
http://www.eclipse.org/community/rcpcp.php
下面上个图片,来个直观感受吧!图片是网上看到的一个做得还马虎点的RCP应用!上面的链接有很多老外的案例。可以去那看!
(5)、权限参考模型(eRedARM)
eRed权限参考模型参照了NIST (美国国家标准与技术研究院)提出的标准RBAC模型,并在此模型的基础上进行了一些删减和变异。使其更加符合中国特色。哎不多说了,最后我会放几个图大家一看便知。(已实现)
(6)、辅助开发插件(eRedG4.Builder)(未开发,但有很多前期预演工作,将很快实现)
辅助开发插件为基于eclipse并与其无缝结合的一个开发助手。可以生成一大堆符合eRedG4开发平台标准的一大堆文件。比如:
1)、根据库表结构生成一堆领域实体对象。
2)、根据库表结构生成一大堆iBatis的SQLMAP文件。
3)、根据UI界面生成向导生成各种常用的ExtJS代码。
4)、根据代码生成向导2分钟之内生成一个可运行的对单表操作CRUD功能模块。
还是上个图吧,大概样子就是这样的:
哎,累死偶了,终于写完了 最后来一组写真集就睡觉了!
评论
1 系统集成。
系统集成做得不错,每个公司都有一个自己的平台,把需要的各种第三方框架集成进来,省得应用开发人员每个项目都自己搞一套。Spring就是做这种事情的,LZ在spring的基础上更加集成。但这个轮子的用户往往在某个公司内部使用,其他公司的人不愿意采用,因为风险太大。
2 快速开发。
这一点其实很难做到,特别是在java平台上。号称快速开发的是哪些:vb/delphi/asp.net/RoR/php,。。。java平台上从来不以快速开发为卖点,而是是轮子多,框架多,标准多,选择多为特点。
对。
这个框架的毛病在于整合得太多了。除了一点没有技术积累的公司,很难让别人来用你的,有很大技术风险。
快速开发,又面临一个适用场合的问题。
楼主的精神真是了不起,回顾自己,楼主会的技术自己都会,但就是没有个具象的作品出来。眼高手低。
还是非常喜欢楼主的作品,呵呵4年的沉淀果真不能比
我也有楼主那样的构想,想要实现一套基础开发平台,目前我还在起步中,零零碎碎做了几个月了
我的目标:
1. 一个Server,跨多种UI
2. 基础功能:权限、对象管理、插件式功能接入(没思路)、UI组件库、日志、消息中心(直接使用JMS)
3. 基于以上设想实现公司一个项目(自己重写)
1. server端技术 java:jsp + spring3 + hibernate3 + struts2 + jdbc + jms
2. client端技术:
a) 界面UI考虑——跨界面:ExtJS风格,frameset风格,普通WEB风格,EclipseRCP,前3个已经实现,EclipseRCP去年的时候做了一个APP架子达到了可以插件安装功能,可以自动升级:)
b) 事件驱动:组件高度独立,相互之间调用采用事件机制,系统要做什么动作都自己发送事件,组件自动响应,事件源和响应之间都不知道对方的存在——通过做了三个风格的界面,感觉这样维护UI太爽了
c) 后期打算实现真正的富客户端(Applet作为浏览器的服务器负责数据的传输和更新,以及离线业务处理)一直有的一个设想Applet应用引擎
看了楼主的备受鼓舞
不得不佩服楼主的精神和毅力,学习楼主——贵在坚持的精神,我心里没有底,自己做的东西能坚持做多久:(
1 系统集成。
系统集成做得不错,每个公司都有一个自己的平台,把需要的各种第三方框架集成进来,省得应用开发人员每个项目都自己搞一套。Spring就是做这种事情的,LZ在spring的基础上更加集成。但这个轮子的用户往往在某个公司内部使用,其他公司的人不愿意采用,因为风险太大。
2 快速开发。
这一点其实很难做到,特别是在java平台上。号称快速开发的是哪些:vb/delphi/asp.net/RoR/php,。。。java平台上从来不以快速开发为卖点,而是是轮子多,框架多,标准多,选择多为特点。
对。
这个框架的毛病在于整合得太多了。除了一点没有技术积累的公司,很难让别人来用你的,有很大技术风险。
快速开发,又面临一个适用场合的问题。
楼主的精神真是了不起,回顾自己,楼主会的技术自己都会,但就是没有个具象的作品出来。眼高手低。
你的框架中基础框架已比较完善了,个人的一些建议供参考:
1)增加流程引擎和自定义表单及表单引擎(流程引擎很重要,没有它业务实现的工作量还是很大);
2)增加自定义视图(列表页面)的功能,而不是通过代码生成器生成多个相类似的页面文件,这大大减少后期风格的统一、调整和维护等工作量;
你说的系统集成在我字典里是快速开发的意思,再配上我的权限参考模型那就是更快速的开发。你直接开发业务功能就OK了,权限方面的东西都帮你做了。
至于我字典里的系统集成是指JBA SOA ESB这些理念要造我的平台里体现。但我又不想用这些华而不实的词藻来修饰,所以就用了系统集成这么一个简单通俗的词语没想到被你误解了!呵呵
1 系统集成。
系统集成做得不错,每个公司都有一个自己的平台,把需要的各种第三方框架集成进来,省得应用开发人员每个项目都自己搞一套。Spring就是做这种事情的,LZ在spring的基础上更加集成。但这个轮子的用户往往在某个公司内部使用,其他公司的人不愿意采用,因为风险太大。
2 快速开发。
这一点其实很难做到,特别是在java平台上。号称快速开发的是哪些:vb/delphi/asp.net/RoR/php,。。。java平台上从来不以快速开发为卖点,而是是轮子多,框架多,标准多,选择多为特点。
恩,随便了解过一下。似乎是金蝶退出的免费但不开源的平台吧,而且其后台是一系列商用的东西,她开放其实是挂羊头卖狗肉的做法,相信明眼人都不会去用的,一但用了那么相信他们的商务很快就会找你了 以各种理由和借口强行推销她的事业版本了。她的界面也是用的EXT,但是用JSF来驱动的不是用原生EXTJS来编写UI的。这和把EXT封装成JspTag有一点某种层面上的类似。我不支持这种做法。一不利于做EXT层面的性能优化,二加大了Web服务器的负担发挥不了客户端的计算能力。
哇 楼上写了好多 我先把这位置mark下来 晚上再和你交流
毕竟都需要一个重头开始的过程。
我以前的公司也有过类似的实现,我有了很长一段业余的时间才将其消化清楚,最近跳槽到另一家较新的公司,也有这样的设想,正在考虑熟悉业务之后做一个类似的实现。
所以我觉得至少楼主的东东对我有很大的帮助,赞一个。呵呵,期待你的大作!
(1)、基础类库
1)、常用数据结构,建议加上一个VO的超类,使用反射来定义get与set方法,通过传入参数进行属性的注入与获取,Apache下游线程的utils,并定义主键,主子vo规范等
2)、XML处理器,这个jdk1.5里好像支持得很不错了...vo与xml的相互转换....不过如果能够有更简洁好用的接口..当然也值得期待...
3)、JSON处理器,是否包含vo与json的相互转换?我觉得json与vo的相互转换应该放在父类中自动进行...
5)、模板引擎,不清楚具体的定义
(2)、业务模型框架(eRedBMF)
2)、基于iBatis2.X的数据持久化方案(已实现),我觉得还是适当的支持hibernate,至少我有这方面的需求(客户要求使用hibernate...)。
3)、基于SpringJDBCTemplate的数据持久化方案(待开发),可以使用spring的rowmapper封装一个小东西,其优点是小巧,灵活,可控。结合着jdbcTemplate就很好用了...
4)、基于Spring的声明式事物和编程式事物机制实现(已实现),这个很爽,我们也是用它来实现事物管理与独立事物。
5)、基于AOP模型的日志审计组件(已实现),夺标的时候用得着...
6)、基于AOP模型的业务异常组件(已实现),这个不理解,是捕获了异常?异常这一块可以提供一套业务异常体系,通过配置的方式定义业务异常信息...
7)、“企业服务总线”实现。发布方式定下来之后基本就不会修改了...不是很明白其意义所在..
(3)、富浏览器端开发框架(eRedRIF)
可以提供一种界面配置的模式。通过xml来配置界面的显示。(好像楼主的已经支持了)
2)、UI主要依赖ExtJS,+ 部分自定义JSP标签。(已实现),不晓得为啥子,一直对ext有点纠结,担心性能是一个方面,难道是因为它收钱?不过用它来做界面确实方便好看...
4)、基于FusionChartsFree封装动画图表功能。(已实现),哈哈,这个做过demo,效果很不错的....至少拉近了与微软silverlight的距离。
5)、基于JXL的Excel导入和Excel导出功能(导出支持自定义模板标记语言哦,很方便的)(正在开发,即将杀青),想问下这个如果导入的excel文件格式改变了,还能正常识别并导入吗?好像是有问题的,我还是倾向于使用txt的方式,并且实现配置输入规则(可空,最大长度,最小长度,类型,正则表达式等...)而且jxl导入导出大数据量时有性能问题。这块值得探讨呀....
6)、可能还有一些Ext缺乏或不完善的UI组件会在后期继续封装成JspTag。你怎么解决的主子表问题?ext里好像是不支持主子表。
我想接下來,應該在健壯性和擴展性上下工夫。
期待開源。
在Ubuntu下面用过eclipse,和Windows没啥区别嘛。NB没试过。。。因为一直不喜欢用那个IDE 可能是eclipse先入为主吧
发表评论
-
服务器信息监控Based G4Studio,我比较喜欢的一个功能模块弄好了
2011-06-28 01:06 1714最近事比较多,这个功能拖了好几天才弄好。在JVM监控方面原Be ... -
ExtJS htmlEditor终极扩展(插入图片[上传|链接]、插入表格、水平线等)
2011-05-18 00:41 8537众所周知,ExtJS的HtmlEditor功能极其简陋 ... -
[G4Studio开源平台]如何搭建G4开发环境
2011-03-10 13:21 802[视频教程]如何搭建G4开发环境演示了如何进行数据初始化以及创 ... -
新鲜出炉的G4Studio开源平台简介
2011-02-27 21:59 2930G4③号群(500人):48359988RedG4相关 ... -
XText原创翻译连载 第一章:XText概述
2011-02-09 09:47 3339写在最前面 原创翻译:转载可不说明出处。但至少带上 ... -
开源平台G4Studio_V1.03.1发布了
2011-01-22 13:08 2126做最厚道的开源项目-将开源进行到底! 简介: ... -
开源项目G4Studio远景战略抉择!请大家指路
2011-01-01 15:21 2436关于开源项目eRedG4的相关信息请大家浏览这个新闻贴,我这里 ... -
G4系统集成与应用开发平台(G4Studio)相关资源下载永久有效中转页面
2010-12-22 22:37 5028项目主页地址:http://www.g4studio.org/ ... -
风云再起之开源项目G4Studio_V1.01发布了(全面支持Mysql)
2010-12-13 14:42 15892010-12-08发布V1.0后,4天时间GoogleCod ... -
开源项目G4Studio V1.0发布了【有在线Demo、有源码->有真相】
2010-12-08 12:02 2372G4Studio是一个开放源代码的、面向企业计算环境下异构系统 ...
相关推荐
《G4Studio开发指南》是一本详尽介绍G4Studio平台开发技术的参考资料,共包含296页的内容。G4Studio是由xiongchun开发的,它为用户提供了强大的工具集,用于构建和管理复杂的模拟系统,尤其是在物理学、工程学以及...
- **前世与今生**:G4Studio经历了一个从无到有、逐步完善的过程,从最初的基础类库体系发展成为一个全面的集成开发平台。 - **家族成员**:G4Studio包括多个组成部分,覆盖了从服务器端到客户端的全方位开发需求。 ...
**G4Studio开发指南_V3.1完整版详解** G4Studio是一款强大的图形化编程工具,主要用于游戏开发、模拟器构建以及其他交互式应用程序的设计。它以其直观易用的界面和全面的功能,吸引了众多开发者和爱好者。V3.1版本...
《G4Studio行业应用二次快速开发平台:基于JavaEE技术体系的中小企业解决方案》 G4Studio行业应用二次快速开发平台,作为一个高效、便捷的软件开发工具,尤其针对中小型企业,旨在简化开发流程,提高开发效率。它...
G4Studio开源框架是一款专为中小软件企业提供二次开发服务的平台,它基于强大的JavaEE技术体系,旨在提高软件开发效率并降低开发成本。这个框架的核心理念是实现标准功能的复用,通用模块的灵活配置,以及针对特定...
《G4Studio开发指南_V3.1》是针对G4Studio这一软件的详细开发手册,旨在帮助开发者深入了解和熟练运用G4Studio进行项目开发。G4Studio作为一个专业的开发平台,可能包含了丰富的功能和复杂的API接口,该指南的出现...
G4Studio行业应用二次快速Java开发平台最新版(5.2正式发行版)是一个专为开发者设计的高效能、易使用的开发工具,旨在简化企业级应用的构建过程。该平台基于Java技术,提供了丰富的功能和组件,使得开发人员能够快速...
《G4Studio开发指南》专用电子阅读器注册机
G4Studio是一套基于JavaEE、面向中小软件企业的免费开源产品套件,集需求分析、软件设计、编码实现、运行测试、运营维护、软件项目管理于一体,力求覆盖整个软件生命周期,被誉为“程序员私活神器”。目前最新版本为...
G4Studio知识以及开发步骤。让你初步了解G4Studio的一些相关知识点。它配备MyEclipse8.5的步骤
【G4Studio_V3.1】是一款开源的软件开发工具,专为学习和使用而设计。这个版本的发布标志着G4Studio项目在功能完善和用户体验上又迈出了重要的一步。作为一个专业的IT知识分享者,我将详细介绍这款工具的特性、用途...
【G4studio开发指南注册机】是一个针对G4studio软件的辅助工具,主要目的是帮助用户完成软件的激活过程。在IT行业中,注册机通常是指能够生成有效序列号或激活码的程序,允许用户绕过软件的正版验证机制,从而免费...
G4Studio是一套基于JavaEE面向中小软件企业的集需求分析、软件设计、编码实现、运行测试、运营维护、软件项目管理等于一体,力求覆盖整个软件生命周期的免费开源产品套件。以“标准功能可复用、通用模块可配置、行业...
这个东东可以破解开发文档,共享一个,打开运行复制粘贴就好,希望能对你有所帮助
提示:为了降低维护支持成本,在开发过程中我们只对视频中提供的基于内置G4Server的开发调试环境提供技术支持和咨询。
### G4studio教程知识点解析 #### 一、G4studio简介 G4studio是一款用于快速开发Web应用的集成开发环境(IDE),它基于Java技术栈,特别适合于使用Struts框架进行开发。...这对于熟悉G4studio开发流程非常有帮助。
《G4Studio_V3.0:ExtJS技术的百科全书》 在Web应用程序开发领域,ExtJS是一个广泛使用的JavaScript库,它提供了丰富的组件和强大的数据管理功能,为构建交互式用户界面提供了强大的支持。G4Studio_V3.0是一个包含...
G4Studio 第二部分