- 浏览: 59430 次
- 性别:
- 来自: 昆明
-
最新评论
-
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.0了。
同感!
哈哈,我也想发明一种语言,或者开创一种以我名字命名的开发模式流芳百世,但没那个实力。所以只能站在别人肩膀上瞎捣腾一下。从程序员的角度看,框架或者说平台之类的东西对于程序员的确是噩梦,因为越优秀的框架平台就越能造就越多的“傻子”。至于说框架平台的存在是否有意义,我问几个问题就可以了:你愿意每一个项目都去实现你的权限参考模型吗?你愿意没一个项目或者说同一个项目中的报表打印功能都写一大堆底层API来实现吗?如果你的项目是基础iBatis持久化解决方案的,你愿意写一系列的SQL映射文件吗?你愿意像白痴一样写一些和表结构对应的领域实体对象吗?你不想从这些琐事无聊的事情中解放出来吗?
至于为何迟迟不推V1.0。一是本人精力能力有限,可以说是在摸索中边学习边成长边总结的在做~~~~~ 所以速度自然很慢 而且偶还得逃生活啊 业余时间毕竟是有限的再加上IT行业的加班风那就更有限了
很欣赏楼主钻研精神,说点建议吧
我想封装是必要的,但切记过度。注意解耦,最好能动态替换像报表、权限、这些功能独立模块。不要弄成黑盒子了。
就像我们都DIY过电脑,程序员现在更像DIYer,各种框架就像各类配件,我们自由选择,如果实在不满意一些配件也可以自己动手做。别把平台做成品牌机了,那就没意思了。
也说点感叹,在国内做程序真是很悲哀,给公司写程序真是很无聊,混口饭吃罢了。我也像楼主一样在写自己用着顺手的框架,Java开发5年经验,可与楼主共勉。
我做extjs做了3年多了,之前做了不少模板给同事们用,不过后来大家写的东西也总是重复,或者就是各有各的样子,上个月我也正在准备搞这个东西,不过现在把前期的模板方法准备好,也就准备搞一个CRUD的东西,以方便大家的开发和加快开发进度。特殊要求的在进行特殊的改造。
前些天出差了,这不刚刚回杭州就发现了这个东西,好东西,期待你的开源~~有机会多多交流~~希望有机会能加入你的开源团队当中~~
因为,第一,没有经过实际项目考验的,都不能称之为成功的产品。第二,技术更新很快,开发速度过慢,会跟不上的,等你完善了,大家都开始使用新的技术了。
开源是肯定的了。暂时不想吸收其他人。一个人我比较好掌控,人多了我怕驾驭不住方向!没有经过实际项目考验的,都不能称之为成功的产品,这很对。我也正愁以后发布了没人应用到真正项目中。偶公司有正规的平台研发团队,有比我这好的开发框架。所以在偶公司是没法应用到项目实践上去。对于技术更新速度而言,我到是不担心。
能否开源早一点呢?2011那头太久了。
但是,这种东西真的有多大意义呢,楼主需要好好想想,不要总是埋头苦干!
同为程序员,特别的反感任何代码生成工具、和二次开发平台!
在一种语言之上封装另外的自定义语言,在原生开发模式之上封装新的开发模式,个人觉得这是一条邪路!
我不喜欢平台这个词,一听就是一个经过封装的黑盒子,限制了程序员的创造力和空间。
技术总是不断演进,楼主不用一开始就想做个完美的东西,否则也不至于迟迟推不出1.0了。
同感!
哈哈,我也想发明一种语言,或者开创一种以我名字命名的开发模式流芳百世,但没那个实力。所以只能站在别人肩膀上瞎捣腾一下。从程序员的角度看,框架或者说平台之类的东西对于程序员的确是噩梦,因为越优秀的框架平台就越能造就越多的“傻子”。至于说框架平台的存在是否有意义,我问几个问题就可以了:你愿意每一个项目都去实现你的权限参考模型吗?你愿意没一个项目或者说同一个项目中的报表打印功能都写一大堆底层API来实现吗?如果你的项目是基础iBatis持久化解决方案的,你愿意写一系列的SQL映射文件吗?你愿意像白痴一样写一些和表结构对应的领域实体对象吗?你不想从这些琐事无聊的事情中解放出来吗?
至于为何迟迟不推V1.0。一是本人精力能力有限,可以说是在摸索中边学习边成长边总结的在做~~~~~ 所以速度自然很慢 而且偶还得逃生活啊 业余时间毕竟是有限的再加上IT行业的加班风那就更有限了
但是,这种东西真的有多大意义呢,楼主需要好好想想,不要总是埋头苦干!
同为程序员,特别的反感任何代码生成工具、和二次开发平台!
在一种语言之上封装另外的自定义语言,在原生开发模式之上封装新的开发模式,个人觉得这是一条邪路!
我不喜欢平台这个词,一听就是一个经过封装的黑盒子,限制了程序员的创造力和空间。
技术总是不断演进,楼主不用一开始就想做个完美的东西,否则也不至于迟迟推不出1.0了。
同感!
但是,这种东西真的有多大意义呢,楼主需要好好想想,不要总是埋头苦干!
同为程序员,特别的反感任何代码生成工具、和二次开发平台!
在一种语言之上封装另外的自定义语言,在原生开发模式之上封装新的开发模式,个人觉得这是一条邪路!
我不喜欢平台这个词,一听就是一个经过封装的黑盒子,限制了程序员的创造力和空间。
技术总是不断演进,楼主不用一开始就想做个完美的东西,否则也不至于迟迟推不出1.0了。
从用户角度看,多个UI基本没意义。
从程序员角度看,支持多UI即意味着要放弃专有UI平台的特性化功能,结果为无法或者很难与针对特定UI设计的平台相对抗,不管从易用性还是快速开发方面。
楼主能坚持3年去做一件事情,这本身就是一种成就。
有时人是有很多想法的,但真正能做到的人太少了……
尤其是中国人的惰性是最强的,我本身就是一个例子!
楼主加油!
早日成功!
希望楼主可以分一些精力来写一些开发中心得。毕竟轮子大家都在造,只是大小的问题。
还有“不用关心技术细节。把所有的技术细节交给我们来做,让你去做你最擅长的事。”,如果技术细节都让您做了我不就傻了嘛,开个玩笑
你不觉得这样的“傻子”存在而且不少吗?! 做了三、五年JavaWeb应用说不出pageContext、request、session、application的区别、连一个servlet都写不出来配不出来、更不知道filter、listener是些什么东东、不能用html和css画个漂亮的table的大有人在。归结起来都是框架和不求上进惹的祸。当然术业有专攻,如果你是把精力放在业务学习上成为业务专家、行业顾问或其他有意义上的事上那也是好事情。但我觉得现在似乎很多程序员兄弟们很容易浮躁,静不下心来做点事。偶以前很长一段时间也是这样。。。
===
如同eclipse的插件一样,eclipse后来改用了ogsi来搭建,实现了热插拔。我觉得是不是可以采用osgi的底层来搞个成品呢。
在我提到过的基于EclipseRCP的易道富桌面客户端开发框架(eRedRCF)里可以做一些这方面的尝试。在Web里面做似乎有点难度吧,而且没有思路。捣腾她的性价比可能也很低。
。
1. 一个Server,跨多种UI
2. 基础功能:权限、对象管理、插件式功能接入(没思路)、UI组件库、日志、消息中心(直接使用JMS)
3. 基于以上设想实现公司一个项目(自己重写)
插件式功能接入
===
如同eclipse的插件一样,eclipse后来改用了ogsi来搭建,实现了热插拔。我觉得是不是可以采用osgi的底层来搞个成品呢。
你的框架中基础框架已比较完善了,个人的一些建议供参考:
1)增加流程引擎和自定义表单及表单引擎(流程引擎很重要,没有它业务实现的工作量还是很大);
2)增加自定义视图(列表页面)的功能,而不是通过代码生成器生成多个相类似的页面文件,这大大减少后期风格的统一、调整和维护等工作量;
流程引擎考虑到我个人精力、时间以及在这块技术点上目前还是盲区。所以在V1.0里面暂时不引入,整个东西放到以后的升级维护过程中引入进来。至于表单引擎我没理解她到底是个什么东东,还望老兄在解释一下。谢谢
有流程引擎的话,就需要考虑自定义表单和表单引擎,同一流程不同活动不同权限的人看到的处理表单是不一样的,如:不同活动的处理表单不同、即使同一活动不同权限看到的表单也有所差别(编辑、只读以及部分数据的隐藏问题),这也就是我所说的内容。
这玩意太复杂,我觉得一个人的力量肯定是不够的。。用友早期自己开发,最后也是掏钱买。
希望楼主可以分一些精力来写一些开发中心得。毕竟轮子大家都在造,只是大小的问题。
还有“不用关心技术细节。把所有的技术细节交给我们来做,让你去做你最擅长的事。”,如果技术细节都让您做了我不就傻了嘛,开个玩笑


发表评论
-
服务器信息监控Based G4Studio,我比较喜欢的一个功能模块弄好了
2011-06-28 01:06 1730最近事比较多,这个功能拖了好几天才弄好。在JVM监控方面原Be ... -
ExtJS htmlEditor终极扩展(插入图片[上传|链接]、插入表格、水平线等)
2011-05-18 00:41 8563众所周知,ExtJS的HtmlEditor功能极其简陋 ... -
[G4Studio开源平台]如何搭建G4开发环境
2011-03-10 13:21 802[视频教程]如何搭建G4开发环境演示了如何进行数据初始化以及创 ... -
新鲜出炉的G4Studio开源平台简介
2011-02-27 21:59 2952G4③号群(500人):48359988RedG4相关 ... -
XText原创翻译连载 第一章:XText概述
2011-02-09 09:47 3356写在最前面 原创翻译:转载可不说明出处。但至少带上 ... -
开源平台G4Studio_V1.03.1发布了
2011-01-22 13:08 2158做最厚道的开源项目-将开源进行到底! 简介: ... -
开源项目G4Studio远景战略抉择!请大家指路
2011-01-01 15:21 2466关于开源项目eRedG4的相关信息请大家浏览这个新闻贴,我这里 ... -
G4系统集成与应用开发平台(G4Studio)相关资源下载永久有效中转页面
2010-12-22 22:37 5058项目主页地址:http://www.g4studio.org/ ... -
风云再起之开源项目G4Studio_V1.01发布了(全面支持Mysql)
2010-12-13 14:42 16142010-12-08发布V1.0后,4天时间GoogleCod ... -
开源项目G4Studio V1.0发布了【有在线Demo、有源码->有真相】
2010-12-08 12:02 2385G4Studio是一个开放源代码的、面向企业计算环境下异构系统 ...
相关推荐
《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知识以及开发步骤。让你初步了解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 第二部分
G4Studio是一套基于JavaEE、面向中小软件企业的免费开源产品套件,集需求分析、软件设计、编码实现、运行测试、运营维护、软件项目管理于一体,力求覆盖整个软件生命周期,被誉为“程序员私活神器”。目前最新版本为...