`
eredlab
  • 浏览: 58883 次
  • 性别: 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
分享到:
评论
27 楼 Mr.Ten 2010-08-10  
楼主很有毅力,相信你会成功的,不过这名字。。。
实在有点。。。

易道。。
有道。。
道。。。
26 楼 sky3380 2010-08-10  
eredlab 写道
sky3380 写道
桌面客户端建议用swing,一是跨平台方面好,二不用引入额外的包,三swing的性能随着JDK的升级也不断的提升,已经不是以前的swing了


说说跨平台:基于EclipseRCP技术的Java桌面客户端一样的跨平台,只要针对不同的平台打包就是了,确切的是应该是源代码跨平台。是write once run anywhere 而不是build once run anywhere。稍逊于Swing,但这无所谓的啦,客户端跨平台的需求在行业业务系统中很少有吧,即使有也无所谓打包一下就OK。再说说性能:SWT的性能是Swing天生就追不上的,再升级也没用。Swt通过JNI调用宿主目标主机的窗口部件,宿主没有的部件才自己去绘制。性能方面是完胜Swing的。这个大家感觉一下NB和eclipse就有体会了。最后说说EclipseRCP,自从Eclipse3.0版本以后,eclipse插件就可以脱离eclipse环境独立运行。也就是所谓的RCP了。她天生继承了eclipse自身的更新、帮助等机制尤其是插件机制。连帮助文档都是插件。我想把这种插件机制在行业应用业务系统中做一些尝试。虽然NB也提供了类似的RCP开发,但是继eclipse之后吧,成熟度可能不如EclipseRCP。而且NB是基于Swing图形库的。JasperReport的报表模板绘制工具iReport从3.0就是基于NBRCP模式开发的。用起来效果不咋的,没eclipseRCP的酷~~~~~~


swt的性能只是在windows下才有一点优势,而linux下swing比在windows下快的多,你到linux下试一下NB就知道了。
25 楼 string2020 2010-08-10  
要是能共享源代码,那就爽。。。
24 楼 eredlab 2010-08-10  
引用
看的出来,g4是作者的呕心力作,不管是架构设计,技术选型还是细到代码编写,作者都反复推敲,g4乃开源上品.
感觉g4定位有点大,搞的太辛苦了,还不一定讨好,我建议将重心放到权限系统,界面容器和组织机构管理这种系统上来,提供java,c#等主流开发语言的API,这样对项目使用的的技术框架不做约束。
为坚持喝彩,注意劳逸结合,身体才是革命的本钱.作者好样的

感谢你的高度评价。但你的建议对偶现在的情形可以说是釜底抽薪,你说的那个可以单独立项了。偶现在只能是背水一战,永往之前了!


引用
logo 看起来有点山寨


哈哈,这都被你看出来了!Logo是山寨了已逝去的BEA的图标。


引用
开源地址什么时候出来!

我不是说了嘛 2011.09.21 还早呢  哈哈 我累了,速度放慢点!

引用
是楼主自己在用还是楼主的公司在用,这个东东不好推广

公司有专门的平台研发组的。偶做这个主要是兴趣使然,准备开源发布的。希望是越多人来用越好!不好推广是什么意思。。楼上推广过类似的东东??
23 楼 pan_java 2010-08-10  
精神值得学习.
22 楼 eredlab 2010-08-10  
sky3380 写道
桌面客户端建议用swing,一是跨平台方面好,二不用引入额外的包,三swing的性能随着JDK的升级也不断的提升,已经不是以前的swing了


说说跨平台:基于EclipseRCP技术的Java桌面客户端一样的跨平台,只要针对不同的平台打包就是了,确切的是应该是源代码跨平台。是write once run anywhere 而不是build once run anywhere。稍逊于Swing,但这无所谓的啦,客户端跨平台的需求在行业业务系统中很少有吧,即使有也无所谓打包一下就OK。再说说性能:SWT的性能是Swing天生就追不上的,再升级也没用。Swt通过JNI调用宿主目标主机的窗口部件,宿主没有的部件才自己去绘制。性能方面是完胜Swing的。这个大家感觉一下NB和eclipse就有体会了。最后说说EclipseRCP,自从Eclipse3.0版本以后,eclipse插件就可以脱离eclipse环境独立运行。也就是所谓的RCP了。她天生继承了eclipse自身的更新、帮助等机制尤其是插件机制。连帮助文档都是插件。我想把这种插件机制在行业应用业务系统中做一些尝试。虽然NB也提供了类似的RCP开发,但是继eclipse之后吧,成熟度可能不如EclipseRCP。而且NB是基于Swing图形库的。JasperReport的报表模板绘制工具iReport从3.0就是基于NBRCP模式开发的。用起来效果不咋的,没eclipseRCP的酷~~~~~~
21 楼 linliangyi2007 2010-08-10  
虽然已经对企业应用表示无聊了,但是对楼主的精神表示钦佩,加个良好。

持之以恒本身就值得所有程序员学习了。
20 楼 jychenok 2010-08-10  
zhaowei_520 写道
我想问一下 “基于JasperReport封装客户端Applet打印功能和PDF导出功能
”, 如果是Applet,那对客户端要求是不是高了点,要运行applet好像都要装jre,客户那边要求每个用户去安装jre,这个用户是否能接受!

没问题的,已经不是几年前了...现在jre也算是渐入人心了...
希望不久的将来jre会成为ie的标配...

补充一点,楼主关于两套ui的设想很不错,我们公司也做过类似的尝试,同时支持web与swing,当然也仅仅是后台的支持....没有达到楼主想象中的境界。用的是spring的代理对象。
19 楼 zhaowei_520 2010-08-10  
我想问一下 “基于JasperReport封装客户端Applet打印功能和PDF导出功能
”, 如果是Applet,那对客户端要求是不是高了点,要运行applet好像都要装jre,客户那边要求每个用户去安装jre,这个用户是否能接受!
18 楼 wxq594808632 2010-08-10  
打酱油下。。楼主头像在网吧拍的?
17 楼 zhaowei_520 2010-08-10  
功能很强大,界面也很绚丽,我给你提点小意见:
1. 引入第三方组建太多了,这可不是什么好事情,自己封装的东西,不管升级或维护,自己要对它有个很好的把控,组建引用多了,把控不好;

2. 你引入了extjs,好像table也是引入的extjs的grid,其性能方面是否有做考虑,
如果项目引入了这个框架, 以后在这方面出现了问题,那该如何处理。
16 楼 wangchangbing 2010-08-10  
lz 还是很强大的 
这种轮子如果没有公司支持估计很难自己独立的开发出来吧?

15 楼 jbon 2010-08-10  
建议楼主开源,找几个志同道合的人一起做,加快开发,尽快用到实际项目中,否则这个版本可能也会想之前三个版本一样夭折。
因为,第一,没有经过实际项目考验的,都不能称之为成功的产品。第二,技术更新很快,开发速度过慢,会跟不上的,等你完善了,大家都开始使用新的技术了。
14 楼 lkj107 2010-08-10  
是楼主自己在用还是楼主的公司在用

这个东东不好推广
13 楼 goldendays 2010-08-10  
lz加油...
12 楼 hrsvici412 2010-08-10  
不错,楼主辛苦了
11 楼 xia9527 2010-08-10  
开源地址什么时候出来!
10 楼 zivpiggy 2010-08-10  
非常不错,楼主一定很有成就感。
引用
(6)、辅助开发插件

我对这块很感兴趣。期待中。。。
9 楼 yf6230065 2010-08-10  
目前正在学习RCP开发,LZ好样的`顶一个先..一会慢慢看~~
8 楼 huangyh 2010-08-10  
看的出来,g4是作者的呕心力作,不管是架构设计,技术选型还是细到代码编写,作者都反复推敲,g4乃开源上品.

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

为坚持喝彩,注意劳逸结合,身体才是革命的本钱.作者好样的

相关推荐

    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