一个1000+Java classes或是多于150个的object的企业级J2EE应用系统,按照传统的开发方法,需要多少优良的技术人员和时间才能够构造出来?当借助了合适的开发工具作为手段,所需的人员与时间是否能够减少?
跨地域的开发团队,并同步进行,互相配合,这仅仅是个理想还是已经可以实现?……
本文将与您分享美国Trigent公司是如何在短短的一年时间里,透过使用realMethods应用框架,由两地开发团队共同协作,成功地创建了一个庞大与复杂的网上社群应用,而且上线时间比预期提前了三个月的成绩。
客户背景
美国Communispace成立于九十年代,由于业务不断扩展,原有基于Client-Server的网络社区服务系统已经不能满足市场的需求,它需要一个功能更强大的系统,可应用到不同的操作系统中,并且能灵活地根据客户需求定制。由于新系统的复杂性和时间的紧迫性,Communispace需要一个经验丰富的软件开发商作为外包商。
Trigent,一家提供软件开发和顾问业务超过十年的公司,专门为不同企业提供不同层面的解决方案,在美国本土和印度均拥有一支实力雄厚的开发团队。Communispace委托Trigent开发出一个全新的虚拟社区平台。
业务需求
基于Communispace的需求,Trigent对综合性的虚拟社区平台(下称Communispace System)进行了周详的设计和分析,认为Communispace System的设计相当复杂,对整体架构必须非常清晰以及在实现中不允许有偏差。首先,它具备的功能非常多,这相对于其他一些社区平台,难度有所增加;其次,它对于数据与个体间交互的要求非常高。例如,一个Communispace成员也许在不同的时间会有不同的角色(如”Contributor” 或者”Creator”),那么系统必须不断地去转换成员所扮演的角色;其三、客户对成本控制很严,并且时间要求上很苛刻。基于多年的开发经验,Trigent迅速意识到这个系统成功的关键因素是灵活的架构设计和实现,对此,Trigent得出一个结论:
Communispace System开发的成功与否,与能否使用到一个正确的应用框架息息相关。
事实上,Trigent为了使自己在同行业里具备更强的竞争优势,一直都在寻找着一种理想的框架,提高组件的重用,并且能帮助Trigent在美国和印度的两支开发队伍进行同步开发,以提高效率和质量,降低成本。但是市场上流行的应用框架虽然不在少数,但完整的和经过验证的还是欠缺,比如最普遍的Apache的Jakarta中的Struts也只是专注于表示层,这是不够的。由于Communispace项目的复杂性,Trigent对一个完整的应用框架的需求更迫切。
经过多次的研究和比较,Trigent决定选择realMethods公司产品realMethods J2EE Application Framework,因为realMethods与同类产品相比较,它透过核心模式实现了层与层之间的关联和每一层的实现;再者,它利用模型驱动令到开发流程统一化,使得整个开发更规范和利用核心模式保证应用的质量,从而减少开发时间。
解决方案
分析与设计
Communispace和Trigent对此次的项目需求经过了2个月的详细分析与计划之后,开始进行设计,发现Communispace System需要1000多个classes,150个object和90个major object支持,这是一个非常庞大与复杂的系统,并且客户一直没有确定选用哪一种J2EE的应用服务器。在这个阶段里,Trigent开始体验到realMethods发挥的实效作用。realMethods Framework的设计模式和快速生成应用原型给设计缩短了开发周期,同时开放的和标准的Framework代码能支持市场上所有流行的应用服务器和数据库,因此,开发可以按时进行,并没被此而耽误。而事实上,当Trigent的开发到了后期,客户才选择了当前最流行的BEA WebLogic作为基于J2EE平台的应用服务器。整个设计时间为期2个半月。
开发和配置
在这个阶段里,Trigent团队根据需求必须实现的功能包括聊天、即时消息、可视化的图表、基于MS SQL的搜索服务…还需要描绘数据和内容在不同应用系统之间的复杂和交互图,包括成员信息、安全和进入控制、配置信息、活动记录、目录元数据、捐赠信息以及与数据关联的日历、Email和文档信息……
由于系统的复杂性,一个清晰的架构能够帮到Trigent对其美国和印度的开发团队进行横向的开发方式。横向和离岸的开发方法必须有一个清楚和完整的架构才能体现其优点。realMethods Framework根据生成的完整的Communispace System领域模型清晰地分离了WEB层、EJB层和数据访问层,并且考虑到单独、无缝和并发的设计,让Trigent团队能够把开发资源分别集中在每一个层上。这种方式,有效地利用了开发人员自身的特长,例如,让精通EJB的资深JAVA开发人员专注于EJB的开发,而让只会JSP页面的年轻JAVA开发人员负责JSP的开发。这种对人力资源的合理利用,大大加快了开发效率以及开发质量。
并且在realMethods Framework的帮助下,开发人员可以基于现有的组件迅速地扩充起许多通用的组件,例如错误处理、认证以及安全性、数据连接、存储过程……所有的这些组件,在以前的开发过程中,开发人员经常是必须从头开始进行编码,或是在开发的过程中不停地修改。透过统一生成组件代码和文档,JAVA开发人员还可以有效地获得这些相关知识。
realMethods Framework实现了根据开发人员的特长而分工,并且省却开发人员重新编写基础代码的时间,而且清晰的架构和共同的开发语言极大地缩短了开发流程,整个开发过程仅用了6个半月。
测试及上线
为提高应用的质量,在开发过程中Communispace System经历了3次重大迭代的开发和测试工作,每一个模块的发布都必须功能测试,并且记录、跟踪直至每一个错误的消除,使得每个模块的质量得以提高和实现的准确性。
在测试过程中,realMethods Framework的代码生成器能为每个基于模式的业务对象(Business Object)生成测试用例,利用这些用例,Trigent团队能更早地开始单元测试,而开放的模版允许Trigent添加更多自定义对象的测试用例。并且realMethods Framework 生成的测试用例为表现层和业务层的分离独立测试起了很重要的作用,在表现层还处于设计状态的时候,业务层已经可以进入开发和测试的阶段,这种独立开发,互不耽误的形式,无疑节省了大量的时间。整个测试到上线时间为2个月。
成果和结论
直至最后成功上线,Communispace System的开发周期刚好是一年时间,在开发阶段,Trigent共投入了二十个人员参与其中,只用了6个月完成,Trigent发现,realMethods Framework的参与让预定时间提前了三个月,节省了20人×3×30天共1800人天。
标准的realMethods framework将Communispace System打造成与众不同的优秀产品。realMethods framework在EJB层和表示层运用值对象(Value Object)模式和缓存处理更为出色,所以在性能上,基于realMethods framework支持的Communispace System表现非常优秀。
使用realMethods framework令到美国和印度的开发团队能同时间开发而质量上并没有下降,效率提高。
由于realMethods framework 的代码是开放和采用标准的实现手法,使到Trigent开发人员不需要担心不同应用服务器的兼容性。
如果您对realMethods Framework有任何疑问,需要获得技术支持;如果您希望对realMethods Framework有更深入的了解,需要产品介绍或现场讲演。请您与元亨科技开发(深圳)有限公司联系,作为美国realMethods公司在亚洲的唯一合作伙伴,我们将负责为中国(包括香港地区)的realMethods Framework用户提供全面的技术服务。
联系电话:0755 - 8835 3939 E-mail:rMSupport@isw2.com |
|