G4Studio简介2

1.1.G4Studio概述   
    G4Studio是一套基于JavaEE面向中小软件企业的集需求分析、软件设计、编码实现、运行测试、运营维护、软件项目管理等于一体,力求覆盖整个软件生命周期的免费开源产品套件。以“标准功能可复用、通用模块可配置、行业需求快速开发、异构系统无缝集成”为目标,全方位立体化的为企业信息化建设,打造行业应用管理信息系统构建企业应用门户提供强有力的一站式解决方案。 
1.2.G4Studio开源协议及商用注意事项    
    在富浏览器端开发框架中,我们引用了在GPL协议下发布的ExtJSV3.1版本。按照协议要求,G4Studio也在GPL协议下发布。如果您使用G4Studio进行闭源商用系统开发,作者建议大家购买ExtJS商业授权,但具体如何操作取决于项目的实际情况和大家对ExtJS版权的认识。其次,虽然G4Studio自身也在GPL协议下发布,但无论是在过去、现在还是可预见的将来,我们都始终坚定不移的坚持开源发布,免费使用。您无需购买任何G4Studio产品的商业授权。(了解GPL协议) 
1.3.G4Studio的前世与今生   
    G4Studio项目于2007年启动。由于技术积累和选型问题先后夭折3个版本,历时近4年的艰辛研发于2010发布了里程碑意义的V1.0版本。随即受到业界广泛关注和好评,大家在使用过程中也提出了许多宝贵意见和建议,为平台的完善和后续版本的发布起了很大的推动作用。 
  G4Studio是一个生命力及其旺盛的项目。截止今天,我们已经发布多个版本更新到了V3.1。今后,我们依然会本着“分享经验-传递价值-成就你我”的G4价值观,一如既往的持续重构,不断优化完善,誓为国内开源界打造一个优秀的标杆级开源平台项目。 
    您可以通过[附录3:平台版本发布备忘]了解到G4Studio一路走来的点点滴滴。 
1.4.G4Studio家族成员简介   
    G4Studio既是行业应用快速开发平台解决方案也是在此开发平台之上衍生的一个开源软件产品线。她包含的内容及其广泛,覆盖了行业应用系统集成与开发、系统运维、软件企业管理等诸多方面。主要由基础类库体系、服务器端开发框架、富浏览器端开发框架、富桌面端开发框架、系统管理及权限参考模型、通用业务参考实现、门户网站配置与开发框架、平台辅助开发插件、标准范例系统、软件企业管理信息系统十大核心部件构成(见下图1)。 

G4Studio简介2  
关于上图的一点说明(请结合图中数字标注阅读): 
①、ExtJS作为G4Studio应用富浏览器客户端的主要组成部分。虽然ExtJS稍显臃肿的体积和动态构造Dom和渲染使得其在部分浏览器上(比如IE,尤其是IE6)上的表现饱受争议和诟病。但是辅以G4Studio平台提供的压缩和缓存技术以及一系列的优化手段,G4Studio富客户端不但能在Intranet上完美表现,而且在复杂不可控的Internet环境下也一样能得到可接受范围内的性能表现。对于G4Studio客户端双兼容架构之一的富桌面客户端通过HTTP协议和部署在远端的业务服务组件进行通信并以Java原生系列化技术对数据传输对象进行系列化操作,不但能得到HTTP无限穿越网络防火墙的先天优势也能得到Java原生高性能系列化技术的支持。因此,G4Studio富桌面客户端一样能够在Intranet和Internet环境下有着卓越表现。 
②、G4Studio借助Java先天跨平台优势,使得基于G4Studio的应用可以方便的部署到Windows、Linux、HP-Unix、IBM-AIX操作系统上。 
③、G4Studio目前支持且经过严格测试的服务器及版本为:Weblogic9.2(+)、Tomcat5.0(+)、Jetty6.0(+)、G4Server。 
④、G4Studio目前支持的数据库中间件及版本为:Oracle、Mysql5.0(+)、H2。 
⑤、G4Studio提供了稳定成熟的应用框架和丰富完善的技术组件库。在应用框架的组合上,我们参考设计模式但不拘泥于设计模式,以实用、快速开发为目标并结合平台开发插件,使得G4Studio二次开发人员能够非常快速的开发出行业应用功能模块来。丰富完善的技术组件库让你在开发过程中碰到任何技术问题都有现成可靠的解决办法,各种难题迎刃而解,彻底解放程序员,让他们更多时间和精力关注和解决业务域的问题,创造更大更可观的价值回报。 
⑥、业务组件库是基于G4Studio应用框架和技术组件库开发的一些平台预置功能模块。其中包括企业组织机构能力模型参考实现、系统管理及权限模型参考实现、通用业务参考实现。 
⑦、G4Studio平台对业务建模、流程建模、业务重组集成、设计开发、运行测试、应用部署整个生命周期都提供了不同程度的支持。 
    批注:上图中虚线框部分为在G4Studio蓝图中但当前版本未实现的部分。我们会在后续版本陆续推出。 
1.5.2.G4Studio技术架构层次调用图 
   本节将从G4Studio层次调用和分层模型和调用的动态视角和大家一起走进G4Studio。如下图3为G4Studio平台技术架构分层调用图。 
G4Studio简介2 
关于上图的一点说明(请结合图中数字标注阅读):   
①、浏览器通过HTTP以Form提交和请求参数提交的方式首先经过平台的编码过滤器和安全认证器,然后将数据采集到控制逻辑器Action中,Action将界面数据包装为Dto后调用Dao进行数据查询或调用业务服务组件BizService进行业务处理后将查询结果集或业务处理返回结果序列化为JSON对象通过HttpSerletResponse返回给浏览器客户端。   
②、Action将界面采集的数据组装为DTO对象后调用试图服务ViewService。特别强调:一般情况下,我们不走这条线。只有在系统的业务服务组件要同时支持各种异构客户端接入的时候,出于接口统一的因素,我们才需要考虑浏览器客户端是否要走这条线路。注意:并不是说有异构客户端接入时浏览器客户端就必须走这条路,而是如果为了要和其它客户端保持统一的接入口时才需要在Action调用视图服务。因为调用视图服务和其它异构客户端保持一致接口是需要付出性能代价的,具体情况得根据实际项目而定。   
③、Action将界面采集的数据组装为DTO对象后调用业务服务组件BizService进行业务处理,并将处理结果以DTO对象返回给Action。   
④、针对一些非事务类的查询操作,为了简化DAO编程,我们可以在Action中将界面采集的查询条件包装为DTO对象后直接调用非事务类DAO查询接口g4Reader,并将结果集以DTO、 
JavaBean、ArrayList等类型的数据对象返回给Action。   
⑤、业务服务组件BizService将相关业务数据组装为DTO对象或者JavaBean后调用事务类DAO访问接口g4Dao进行数据查询、数据持久化和存储过程调用操作。   
⑦、数据访问接口将DTO对象、JavaBean交给DAO实现将其映射为相应的SQL语句向数据库发出请求,并将数据库返回的结果集映射为DTO、JavaBean、等数据类型对象返回给数据访问接口调用端。   
⑧、对于桌面客户端我们可以将其简单分为2类。一类是使用G4Studio平台提供的基于SWT/Jface图形库的富桌面客户端开发框架开发出来的桌面客户端,对于这种客户端而言,我们使用HttpInvoker技术直接通过http协议访问视图服务ViewService,相互之间可之间通过DTO或者其它任意可系列化的Java对象来进行参数传递和数据交互。另一类是使用其它开发工具比如Delphi、VB、VC等开发出的桌面客户端,对于这类桌面客户端发出的请求可以通过WebService使用Soap协议调用视图服务组件,以系列化的XML资料格式进行数据交互。   
⑨、对于移动终端设备,我们提供Webservice数据接入技术。 
1.6.G4Studio第三方组件依赖关系   
    G4Studio平台取得的成绩,离不开大量的第三方开源组件的贡献。也正式由于这些开源组件才成就了Java阵营开源社区百花齐放,欣欣向荣的大好景象。在平台研发过程中,我们反复论证精选了一些成熟稳定的开源组件应用到G4Studio中来,如下图5所示:G4Studio第三方组件依赖关系。在此,我们也像这些开源组件的作者表示由衷的感谢和敬意。提示:如下所示部分组件为商业不友好组件或收费组件,建议大家使用时根据自己项目实际情况酌情删减或按照相应组件的开源协议灵活使用。 
G4Studio简介2

来源:qq19930130

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2014年6月10日
下一篇 2014年6月11日

相关推荐