IT专家网:开发商黄海强的SOA实践


 2007-07-26 00:00:00       748

开发商黄海强的SOA实践
四川创立与EOS的故事
 
2007年7月26日下午16时45分,普元成都地区的合作伙伴四川创立信息科技有限责任公司项目经理黄海强,站在“SOA in Action:SOA中国路线图技术实践全国路演”的演讲台上,把他与普元EOS的一段历时2年的缘分,款款道来,期间项目开发遭遇的困扰与思考,探索与实践,发人深省…
 
四川创立是2006 年8 月成立的公司,由四川电信实业集团投资成立的全资子公司,公司注册资本为3500 万元,公司软件研发人员有300 人的规模,产品服务于通信服务商。公司处于快速发展的一个时期。
 
我们一起听听四川创立技术部经理许志鹏在构件应用平台上的SOA实践之路。
 
从一个项目遭遇说起
 
一切都源于做一个具体项目的时候遇到一个困扰,最初,创立公司的这个项目是给某省电信公司做一个管理的支撑系统,这个项目其实起步很早的,2002 年8 月份,差不多一年多时间,2003 年底这个项目全省推广上线。
 
但是,到04 年年底的时候,这个系统还处在一个不断完善满足用户需求变化的过程当中。创立遇到一个问题,就是用户变化非常大,这个变化应该是跟中国电信集团这几年的重大举措是相关的,首先是2003 年6 月份,已经在实施BPR 业务流程重组,然后中间要通过集团的一个验收,在一年多期间内变化非常大的,而且这个变化是整个运营体制的变化,而不是一个简单的小功能。这导致创立原来修修补补的方式满足不了用户的要求。这是创立公司面临的第一个问题。
 
第二个就是这个项目由于周期非常长,对周期非常长的项目来讲,可能大家也有体会就是项目上线之后,其中一部分人员可能会投入到其他项目的研发,由于创立公司一直在满足客户的需求方面,不但人员没有剥离,反而还在不同的补充。
 
第三个平台的基础, 2002 年做的平台基础非常薄弱的,等创立公司想整个重新来做这个系统的时候,发现这个代价非常大,另外还有要提出的一个就是流程,因为用户流程的变化也属于需求变化里面的。当时,创立的用户对于我们的项目团队,尤其是流程变更的响应非常不满,而且每一次变更对我们系统都是伤筋动骨,牵一发而动全身。记得我们2004 年2 月份有一个检查,我们整个团队研发人员每天睡五个小时,用了半个月时间才把流程从头到尾实现一个预期目标,后来在调整一个子系统的时候也差不多也是这么大的一个投入,持续一个月才把这个流程做完了,这也体现了我们系统架构的问题。用户对我们的流程要求非常高的。我们2004 年年底的时候省公司要求我们做第二次开发,时间也是非常紧迫的。这是我们一个项目上线之后遇到的困扰。
 
救命稻草:开源框架?
 
遇到这些问题以后,创立就在寻找一个解决的出路,当时公司高层把部门经理、我、项目团队骨干召集到一起说下一步怎么做,我们提出的思路肯定不是在原有基础上重构了,当时没有想到借用第三方的平台,而且我们的团队里面有Java 的人才,所以,我们当时想用比较流行的框架和一些开源的流程。2004 年有一个契机就是北京网通的一个类似的系统,我们用开源的框架去实现这个系统,实现起来还是比较快的,但是实际上在运行的过程中我们发现,它虽然用开源的工作技术实现了所有的业务流程,但是它在实现流程变更或者新增流程等等这些,依然是达不到用户的要求,也是周期非常长。
 
最后创立就把这个结论拿到公司分析的时候,我们公司副总说,现在必须得考察第三方厂商提供的先进的平台或者符合这种SOA 架构的一个产品,借助这个产品抓紧实现我们的系统,而且不想让我们开发用一年,上线用一年,再以后,就又再推倒重来这种重复。
 
与EOS结缘
 
当时SOA 的概念也不是特别的流行,创立当时对这个平台要求非常简单,就是:第一,这个平台要有工作流的产品,它的工作流要符合我们复杂的业务流程;第二个就是,我们当时已经跨度两年多了,我们整个团队的流失也比较严重,当时Java 我们只有六个人了,我们希望这个平台能够缩短它的开发周期或者降低成本。
 
当目标非常明确的时候,我们考察几个了厂商的产品,包括国外的,有四个厂商的产品,我们来进行体验、评估。其实这个时间也比较短,那是2005 年的4 月份,用了一个月的时间,我们评估包括普元在内的几个产品之后,我们最后觉得还是通盘来看, 普元的EOS 这一块跟我们实际要求比较贴切的,时间比较紧了,我们就决定用EOS 了。
 
我们用了半个月的时间,用了一个EOS 并且经过培训,我们项目二期的启动就是05 年6 月份,二期开发整个用了半年的时候,就是05 年年底二期上线。
 
走出焦油坑
 
其实最开始应用普元的时候,我们也是有一定的顾虑的,到现在应用普元EOS两年多时间,我们项目团队也有一些真切的体会。这里跟大家说一下。
 
首先就是EOS 的随需应变,这一点还是非常明显的。我们二期上线,我们原先的系统依然存在客户提出新的需求,依然在改变以及加入新的需求,我们用了这个EOS 才真正满足了用户的需求方面了。以前原来的架构响应用户的需求平均来讲要三周时间,应用了EOS 时间缩短非常明显,基本上就两天到一周左右的概念,我觉得这一点体会非常明显,用户也是因为这个,本来对我们这个团队是不抱什么信心的,现在又转变对我们的态度。结果我们那个项目团队得到客户和公司内部的高度认可。
 
另外说一下工作流这一块,说太细的可能要结合产品的特性,什么自由流等等的东西。我想说的就是在我们那个,因为这套系统二期的时候,我们所有的业务流程都可以通过普元的EOS 工作流程来实现。
 
第三个是图形化的开发平台,这里有两点,第一个就是降低了开发人员的门槛,我2006 年7月份当时招聘了两个新毕业的大学生,他们一个月时间完全就可以上手做EOS 做一些不是特别复杂的开发,两个月之后就可以独立承担开发任务,包括工作流这一块,就是说开发门槛明显降低。
 
另外我说说,为什么图形化平台是真正体现了面向业务、面向客户的平台。以前传统的开发模式,一个功能和一个需求拿到以后,我们就要去想,我要去怎么实现,然后实际上我们在,尤其我这个项目体现得比较明显就是,用户今天说是,我觉得这样做比较好,然后我们就改了,用了一段时间用户说原来的方式比较好,又改了。调整起来比较方便,但是开发人员非常郁闷,就是说你需求人员怎么不把用户需求分析清楚,你怎么不告诉他原来的方式更好,或者怎么改进不会出现反复的状况。所以我要求不管是需求分析人员还是开发人员,重心很大部分来学习业务知识,你去来分析,什么样的客户需求是它最终想要的,而且在实现过程中,通过这种图形化界面,你的思路就会一层一层的展现出来。我觉得这一点是体现非常明显的。
 
另外一个我想强调的一点,因为有EOS,我们招人、用人的时候,他们有这样的顾虑就是职业上、职业发展的顾虑,就是用了EOS 之后底层开发接触很少了,我将来假设功能化有问题怎么办?或者普元哪天走不下去了,我将来去干什么去?肯定会有这样一个顾虑,实际上我们在实际应用过程中,发现它本身是基于行业的技术标准的,可以跟EJB 的开发技术结合起来。到EOS5.1推出页面开发,我们开发工程师就可以拿这个技术来实现界面的一些效果。这个是普元在5.1 的时候才提出跟Ajax的无缝结合。
 
另外就是子业务流程的时候,我们当时也用开源的技术包。它可以跟当前的技术非常好的结合起来,而且我也给大家灌输一种思想,如果你想更好的驾驭、掌控EOS,相关的知识你也去了解,只有这样你才可能更好的去使用EOS,你SOA 的体验肯定会更深刻。
 
构件化开发新体验
 
提到EOS,肯定要说到构件化开发的理念,首先第一点就是提高了代码的复用度。这个在我第一次用EOS,时间比较紧迫,当时规划没有做得太好,所以复用没有做得太好,当我们用其他项目上的时候,这个就体现出来了,一个项目开发的构件,可以直接拿到另一个项目用,而不是重复开发。同时我们以前,这个项目从一期、二期到三期,纵向项目经验的积累,或者知识的积累,以及各个产品部横向的互动,以前没有一个非常好的途径去共享这些知识,沉淀这些知识。我们应用了EOS 平台项目,这一点就提供了一个非常好的途径。
 
还有就是应用EOS 之后,这种构件化开发降低了人员流失带来的风险。我们对于跨度比较大的项目来讲,人员流失还是比较频繁,人员更迭的话,以前传统开发模式,原来每次人走之后,工作交接对项目影响非常大,现在你可以导出文档,工作交接基本上不存在什么问题。
所以人员流失带来的风险降低了。
 
还有一个就是管理控制台,提高对系统管控的能力。我们一直用得比较广的就是统计数据,
我们会分析我们所做的这些东西,运算路线这些,哪一些是使用频次最高的,那些是耗时最长的,我们去分析、优化,同时也会出一些共用系统,一些附件,达到共用附件的目的。
 
还有就是我们用了EOS 两年多,最开始我也还是没有底,用了两年之后,普元在市场上的表现给了我们最早吃螃蟹的人一些信心。因为从EOS5.1,我们发现业务开发没有大的减少,用了EOS5.1之后,在这一块的工作有所减少。还有就是EOS5.2 和EOS 5.3 平台的不断升级,同时我觉得普元公司能够加入到SOA的国际化标准组织中去,以及EOS 在其他行业,比如交总行等等,还有电信等其他大型企业成功案例,也坚定了我们的信心。
 
最后我想,还是要提一下普元的服务水平和质量。因为从最开始到现在两年多合作关系来讲,他们的服务和服务质量我觉得还是非常满意的,这也体现到三点:首先就是非常周到的售前服务。在我们想了解的时候,它会寻求各种支持来介绍这个平台的特点。我体会比较深的就是我们通过这个普元的售前人员,他成了一个纽带作用,让我们了解同行业的信息,让我们和其他厂商或者合作伙伴加强这种交流,这种碰撞往往使我们平台的演进等等都会起到一定的促进作用,我觉得这一点还是非常好的。
 
另外就是普元提供远程的支持,就是MSN、电话等等,我们举一个例子就是5.0 升5.1 的时候,这个版本升级跨度比较大,那一天我专门打一个电话,今天晚上要升级了,你要留一个人,当天晚上出了一点小问题,他们也一直陪伴我们到12 点左右。
 
第三就是我们团队不断新人加入进来,要不断的培训,我们又没有太多精力去培训,我们每次都请办事处的人进行培训,以及我们系统升级等等普元都在现场有效的支撑,这一点效果还是非常明显的。
 
 

相关阅读: