论坛首页 Java企业应用论坛

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

浏览 57500 次
该帖已经被评为良好帖
作者 正文
   发表时间:2010-08-10   最后修改:2011-02-25

易道系统集成与应用开发平台(eRedG4)相关资源永久有效中转页面:

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
   发表时间:2010-08-10   最后修改:2010-08-10
偶先自己拍两砖头,
第一砖:Ext审美疲劳了。
第二砖:又是一个重复的轮子。
拍这2砖的就省了。给你省点力,偶自己拍。。。哈哈哈~~~~~~~~~~~ 希望大家拍点有建设性滴~~~~~~
0 请登录后投票
   发表时间:2010-08-10  
不懈的追求与努力,不断的积累与创新,终会把您造就成为一个大牛。

系统很强大,值得期待...
0 请登录后投票
   发表时间:2010-08-10  
桌面客户端建议用swing,一是跨平台方面好,二不用引入额外的包,三swing的性能随着JDK的升级也不断的提升,已经不是以前的swing了
0 请登录后投票
   发表时间:2010-08-10  
前辈很是值得我学习。。。 关注-i-n-g。。。
0 请登录后投票
   发表时间:2010-08-10  
logo 看起来有点山寨
0 请登录后投票
   发表时间:2010-08-10  
就想问下你extjs是不是2.x版本的。呵呵。很好很强大啊。
1 请登录后投票
   发表时间:2010-08-10  
看的出来,g4是作者的呕心力作,不管是架构设计,技术选型还是细到代码编写,作者都反复推敲,g4乃开源上品.

感觉g4定位有点大,搞的太辛苦了,还不一定讨好,我建议将重心放到权限系统,界面容器和组织机构管理这种系统上来,提供java,c#等主流开发语言的API,这样对项目使用的的技术框架不做约束。

为坚持喝彩,注意劳逸结合,身体才是革命的本钱.作者好样的
0 请登录后投票
   发表时间:2010-08-10  
目前正在学习RCP开发,LZ好样的`顶一个先..一会慢慢看~~
0 请登录后投票
   发表时间:2010-08-10  
非常不错,楼主一定很有成就感。
引用
(6)、辅助开发插件

我对这块很感兴趣。期待中。。。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics