`
eredlab
  • 浏览: 58886 次
  • 性别: Icon_minigender_1
  • 来自: 昆明
社区版块
存档分类
最新评论

卧虎藏龙之G4Studio开发平台首次曝光【有在线Demo、有源码->有真相】

阅读更多

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功能模块。

还是上个图吧,大概样子就是这样的:

 
 哎,累死偶了,终于写完了 最后来一组写真集就睡觉了!



 

 

 

 

 

 

 

 



 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 










 

 

 

  • 大小: 18.8 KB
  • 大小: 28.6 KB
  • 大小: 119.8 KB
  • 大小: 25.7 KB
  • 大小: 152 KB
  • 大小: 154.9 KB
  • 大小: 158.5 KB
  • 大小: 154.4 KB
  • 大小: 151.3 KB
  • 大小: 146.6 KB
  • 大小: 129.9 KB
  • 大小: 137.1 KB
  • 大小: 182.2 KB
  • 大小: 166.4 KB
  • 大小: 145.9 KB
  • 大小: 191.5 KB
  • 大小: 160.1 KB
  • 大小: 110.3 KB
  • 大小: 196 KB
  • 大小: 193.6 KB
  • 大小: 151.8 KB
  • 大小: 139.4 KB
  • 大小: 153.7 KB
  • 大小: 144.1 KB
  • 大小: 152.7 KB
  • 大小: 140.3 KB
  • 大小: 132.5 KB
  • 大小: 143.6 KB
  • 大小: 163.2 KB
  • 大小: 158.5 KB
  • 大小: 224.5 KB
  • 大小: 202.8 KB
  • 大小: 177.9 KB
  • 大小: 251.8 KB
  • 大小: 198.3 KB
  • 大小: 76.7 KB
  • 大小: 187.6 KB
  • 大小: 30.6 KB
  • 大小: 145.7 KB
分享到:
评论
67 楼 cgs1999 2010-08-11  
eredlab 写道
cgs1999 写道
挺佩服LZ的毅力,支持一下。
你的框架中基础框架已比较完善了,个人的一些建议供参考:
1)增加流程引擎和自定义表单及表单引擎(流程引擎很重要,没有它业务实现的工作量还是很大);
2)增加自定义视图(列表页面)的功能,而不是通过代码生成器生成多个相类似的页面文件,这大大减少后期风格的统一、调整和维护等工作量;

流程引擎考虑到我个人精力、时间以及在这块技术点上目前还是盲区。所以在V1.0里面暂时不引入,整个东西放到以后的升级维护过程中引入进来。至于表单引擎我没理解她到底是个什么东东,还望老兄在解释一下。谢谢


有流程引擎的话,就需要考虑自定义表单和表单引擎,同一流程不同活动不同权限的人看到的处理表单是不一样的,如:不同活动的处理表单不同、即使同一活动不同权限看到的表单也有所差别(编辑、只读以及部分数据的隐藏问题),这也就是我所说的内容。
66 楼 eredlab 2010-08-11  
nychen2000 写道
我补充一句,我认为开源是商业的手段之一,不存在动机不纯的问题,关键在于这个产品带来真正的价值。
可以把开源当做纯粹的兴趣,但是能够在商业上成功,那是较高境界。

楼上观点很犀利,感谢分享!
只是这个问题很复杂 不讨论了 偶更喜欢技术相关的话题。我这东西比不上普元,说直接点仅仅是个业余玩出来的小东西。等发布了之后有人用就用,没人用偶自己收着自己家里玩。
65 楼 nychen2000 2010-08-11  
我补充一句,我认为开源是商业的手段之一,不存在动机不纯的问题,关键在于这个产品带来真正的价值。

可以把开源当做纯粹的兴趣,但是能够在商业上成功,那是较高境界。
64 楼 nychen2000 2010-08-11  
eredlab 写道
nychen2000 写道
我们很多人做了很多轮子,包括我自己。
作为学习是可以的,但是如果有其他目的,则一定要考虑商业价值和商业的可行性。
到目前为止,没有一个轮子在商业上是成功的,包括很多公司造的类似轮子。
为什么呢?
………………

在帖子里面偶就红字标识过:G4平台不存在任何商业动机也没有利益驱动。如果是利益驱动的话,我宁愿不去追求这个利益回家种地去了。至于目前很多轮子滚不远我的拙见是主要原因有二:
1、产品本身存在一些问题。
2、假开源,挂羊头卖狗肉,动机不纯、利益驱动。在推出项目后一小子没得到预期回报就放弃了后期维护升级以及支持跟不上。
以前E3项目的作者提过一个口号:”分享经验、传递价值、成就你我“我觉得很好。批注:这里的价值我的理解并非为经济价值、所谓的成就也并非名和利、升迁高就!


我完全没有否认商业目的的意思,商业目的是光明正大和理所当然的。

我想说的意思是,用平台作为商业切入点貌似是有问题的,包括很多公司的产品,比如思维加速、普元等。本来的出发点是卖平台,最后都去做项目了(思维加速的人明确告诉过我,他们业务重点是自己做项目,普元的我仅是猜测)。

其实做项目未尝不可,而且很好,只是我本人觉得,实践证明平台给人的价值不大;spring不是包罗万象的平台,开始就是一个ioc,结果成功了。

问题在哪儿呢?
………………
63 楼 ermao0927 2010-08-11  
先不说技术吧 LZ的毅力就是我们所有人需要学习的

很多人有这样的技术 但是没有这样的毅力 哎

LZ加油
62 楼 eredlab 2010-08-11  
nychen2000 写道
我们很多人做了很多轮子,包括我自己。
作为学习是可以的,但是如果有其他目的,则一定要考虑商业价值和商业的可行性。
到目前为止,没有一个轮子在商业上是成功的,包括很多公司造的类似轮子。
为什么呢?
………………

在帖子里面偶就红字标识过:G4平台不存在任何商业动机也没有利益驱动。如果是利益驱动的话,我宁愿不去追求这个利益回家种地去了。至于目前很多轮子滚不远我的拙见是主要原因有二:
1、产品本身存在一些问题。
2、假开源,挂羊头卖狗肉,动机不纯、利益驱动。在推出项目后一小子没得到预期回报就放弃了后期维护升级以及支持跟不上。
以前E3项目的作者提过一个口号:”分享经验、传递价值、成就你我“我觉得很好。批注:这里的价值我的理解并非为经济价值、所谓的成就也并非名和利、升迁高就!
61 楼 xiaoyp 2010-08-11  
仰望中~~技术不行~~不参与而拖后腿了~~
60 楼 nychen2000 2010-08-11  
我们很多人做了很多轮子,包括我自己。

作为学习是可以的,但是如果有其他目的,则一定要考虑商业价值和商业的可行性。

到目前为止,没有一个轮子在商业上是成功的,包括很多公司造的类似轮子。

为什么呢?

………………
59 楼 lcj325 2010-08-11  
期待两年之后也能达到您的水平~~~~~
58 楼 eredlab 2010-08-11  
cgs1999 写道
挺佩服LZ的毅力,支持一下。
你的框架中基础框架已比较完善了,个人的一些建议供参考:
1)增加流程引擎和自定义表单及表单引擎(流程引擎很重要,没有它业务实现的工作量还是很大);
2)增加自定义视图(列表页面)的功能,而不是通过代码生成器生成多个相类似的页面文件,这大大减少后期风格的统一、调整和维护等工作量;

流程引擎考虑到我个人精力、时间以及在这块技术点上目前还是盲区。所以在V1.0里面暂时不引入,整个东西放到以后的升级维护过程中引入进来。至于表单引擎我没理解她到底是个什么东东,还望老兄在解释一下。谢谢
引用
对。这个框架的毛病在于整合得太多了。除了一点没有技术积累的公司,很难让别人来用你的,有很大技术风险。
快速开发,又面临一个适用场合的问题。楼主的精神真是了不起,回顾自己,楼主会的技术自己都会,但就是没有个具象的作品出来。眼高手低。

真的整合的很多吗?后台框架整合的就一个标配而已:Struts Spring iBatis(我曾也考虑过把struts踢出去,用SpringMVC来代替,因为在我的这个G4平台中,struts的作用实在太弱了就仅仅是一个转发控制器的作用)对于前端而言应该说主要就EXTJS,至于FusionChartsFree和jasperreport之类的东西是辅助性质的嘛,可有可无甚至是可插可拔的。你的项目如果用不到就不用,她的存在不会给你带来任何风险。

57 楼 eredlab 2010-08-11  
maodiesky 写道
看到图片怎么都这么熟悉
感觉是 ext + jaspereport + fusionchart 的结合体

这是富浏览器客户端框架的三个主要UI组件,以后还会根据需要加入很多优秀实用的UI组件。但UI框架只是整个开发平台的一部分。
引用
建议先放出部分源码 让大家学习下 如果楼主方便的大度的话,不要多 放权限模块和辅助插件,或是源码不方便的话 放点设计思路出来也行 谢了

源码最终是要全部放出来的。此开发平台的每一个毛孔都将是Open的。只是时间问题而已。这老兄是个只看图片不看字的主,我在帖子里说得很清楚了啊!
56 楼 qiren83 2010-08-11  
建议先放出部分源码 让大家学习下 如果楼主方便的大度的话

  不要多 放权限模块和辅助插件

  或是源码不方便的话 放点设计思路出来也行 谢了
55 楼 JavaLanguageFun 2010-08-11  
哎 ,看到楼主写的这个东西 ,我什么时候才能达到楼主的水平哦 。膜拜
ing.....
请问楼主 啥时候 出几个技术文档 ,给我们讲讲里面的技术和设计思路哦。
在此感谢楼主。
54 楼 kmkim 2010-08-11  
高手。。。
53 楼 yangzc106 2010-08-11  
这个东西还不错。
52 楼 IcedCoffee 2010-08-11  
lz真有毅力...
开源吗?
51 楼 maodiesky 2010-08-11  
看到图片怎么都这么熟悉
感觉是 ext + jaspereport + fusionchart 的结合体
50 楼 zhangyou1010 2010-08-11  
佩服楼主的坚持,关注楼主。
49 楼 沈冠军 2010-08-10  
挺漂亮的,呵呵,不错不错……
48 楼 tangluyou 2010-08-10  
楼主:你实在是个大牛人,对小弟来讲。我现在公司也在做web开发。不过我的技术真的很不怎么样,但是我真的想成为大哥您这样的牛人。探索,探索,继续探索中。。。。。

相关推荐

    G4Studio开发指南

    《G4Studio开发指南》是一本详尽介绍G4Studio平台开发技术的参考资料,共包含296页的内容。G4Studio是由xiongchun开发的,它为用户提供了强大的工具集,用于构建和管理复杂的模拟系统,尤其是在物理学、工程学以及...

    G4Studio开发指南—原装正版

    - **前世与今生**:G4Studio经历了一个从无到有、逐步完善的过程,从最初的基础类库体系发展成为一个全面的集成开发平台。 - **家族成员**:G4Studio包括多个组成部分,覆盖了从服务器端到客户端的全方位开发需求。 ...

    G4Studio开发指南 完整版 带注册机

    **G4Studio开发指南_V3.1完整版详解** G4Studio是一款强大的图形化编程工具,主要用于游戏开发、模拟器构建以及其他交互式应用程序的设计。它以其直观易用的界面和全面的功能,吸引了众多开发者和爱好者。V3.1版本...

    G4Studio行业应用二次快速开发平台基于JavaEE技术体系,面向中小软件企业.zip

    《G4Studio行业应用二次快速开发平台:基于JavaEE技术体系的中小企业解决方案》 G4Studio行业应用二次快速开发平台,作为一个高效、便捷的软件开发工具,尤其针对中小型企业,旨在简化开发流程,提高开发效率。它...

    g4studio开源框架

    G4Studio开源框架是一款专为中小软件企业提供二次开发服务的平台,它基于强大的JavaEE技术体系,旨在提高软件开发效率并降低开发成本。这个框架的核心理念是实现标准功能的复用,通用模块的灵活配置,以及针对特定...

    G4Studio开发指南_V3.1

    《G4Studio开发指南_V3.1》是针对G4Studio这一软件的详细开发手册,旨在帮助开发者深入了解和熟练运用G4Studio进行项目开发。G4Studio作为一个专业的开发平台,可能包含了丰富的功能和复杂的API接口,该指南的出现...

    G4Studio行业应用二次快速java开发平台最新版(5.2正式发行版)

    G4Studio行业应用二次快速Java开发平台最新版(5.2正式发行版)是一个专为开发者设计的高效能、易使用的开发工具,旨在简化企业级应用的构建过程。该平台基于Java技术,提供了丰富的功能和组件,使得开发人员能够快速...

    《G4Studio开发指南》专用电子阅读器注册机

    《G4Studio开发指南》专用电子阅读器注册机

    G4Studio_V3.2.002_All_In_One JavaEE开源快速开发平台

    G4Studio是一套基于JavaEE、面向中小软件企业的免费开源产品套件,集需求分析、软件设计、编码实现、运行测试、运营维护、软件项目管理于一体,力求覆盖整个软件生命周期,被誉为“程序员私活神器”。目前最新版本为...

    G4Studio知识以及开发步骤

    G4Studio知识以及开发步骤。让你初步了解G4Studio的一些相关知识点。它配备MyEclipse8.5的步骤

    G4Studio_V3.1 下载

    【G4Studio_V3.1】是一款开源的软件开发工具,专为学习和使用而设计。这个版本的发布标志着G4Studio项目在功能完善和用户体验上又迈出了重要的一步。作为一个专业的IT知识分享者,我将详细介绍这款工具的特性、用途...

    G4studio开发指南注册机

    【G4studio开发指南注册机】是一个针对G4studio软件的辅助工具,主要目的是帮助用户完成软件的激活过程。在IT行业中,注册机通常是指能够生成有效序列号或激活码的程序,允许用户绕过软件的正版验证机制,从而免费...

    G4Studio开发指南_V3.1.002.rar

    G4Studio是一套基于JavaEE面向中小软件企业的集需求分析、软件设计、编码实现、运行测试、运营维护、软件项目管理等于一体,力求覆盖整个软件生命周期的免费开源产品套件。以“标准功能可复用、通用模块可配置、行业...

    G4studio开发文档注册机

    这个东东可以破解开发文档,共享一个,打开运行复制粘贴就好,希望能对你有所帮助

    G4Studio开发指南 破解版

    提示:为了降低维护支持成本,在开发过程中我们只对视频中提供的基于内置G4Server的开发调试环境提供技术支持和咨询。

    G4studio教程

    ### G4studio教程知识点解析 #### 一、G4studio简介 G4studio是一款用于快速开发Web应用的集成开发环境(IDE),它基于Java技术栈,特别适合于使用Struts框架进行开发。...这对于熟悉G4studio开发流程非常有帮助。

    G4Studio_V3.0 Ext非常详细的例子

    《G4Studio_V3.0:ExtJS技术的百科全书》 在Web应用程序开发领域,ExtJS是一个广泛使用的JavaScript库,它提供了丰富的组件和强大的数据管理功能,为构建交互式用户界面提供了强大的支持。G4Studio_V3.0是一个包含...

    G4Studio 第二部分

    G4Studio 第二部分

Global site tag (gtag.js) - Google Analytics