信息周刊:能否介绍一下中远集运的SOA项目?
马涛:中远集运目前拥有120余艘全集装箱船,其船舶在全球超过30个国家和地区、超过100个港口停靠,销售网络和代理超过400家。2004年10月开始,中远集运开始做SOA项目。当时有两条路,一条是建立一套新的系统,另一条是建立一个平台把原有的系统整合到一起。后来我们选择了IBM公司的中间件产品以及sterling公司的EDI平台(电子数据交换平台),作为与海关、码头等交换数据的一个窗口系统。
信息周刊:SOA给中远集运带来了哪些好处?
马涛:原来我们有很多系统,分别用c++、VB等语音编码,服务器也有很多。运维成本居高不下,养了很多工程师,出现问题解决的效率也不高,这都是原来历史上存在的问题。从整个企业的信息体系看,系统架构都是蜘蛛网状的,各个系统之间靠接口来连接,接口一多问题就多。因此我们需要统一平台,统一研发工具,统一IT队伍,把蜘蛛网的架构转变为服务导向的架构,转变为可重用、可构件化、可延伸、可扩充的架构,以达到降低成本、提高效率的目的。
信息周刊:为什么会选择EDI平台作为突破口?
马涛: EDI承载着中远集运的核心业务,是维系企业贸易活动的命脉,同时它也是最容易被业务变化所牵制的部分。尤其是在9.11事件后,美国出台“提前24小时报关”的新规定,让原有业务流程遭受重大影响,虽然这一问题在开发团队闭关1个月后得以解决,但EDI的主体框架的改变迫在眉睫。
信息周刊:通过SOA的开发方式是否大幅提高了开发效率?
马涛:在这个项目里,我们通过3个迭代实现了高度并行的开发,以及应用持续集成的问题。3个迭代分别代表用户对一次开发产品测试、解决用户提出问题、成品验证及压力测试这三个开发阶段,而迭代式开发环境的构建则使用了WBI (WebSphere Business Integration)Server Foundation、WBI Message broker和WBI Monitor等产品。
迭代式开发让我们可以容纳需求的变更而不是拒绝变更,比如说,我们已经开发好了厦门港的装卸指示流程,而其他港口也需要进行装卸指示业务,那么我们只要在配置管理界面中增加一个港口定义,填写详细信息,再把已有的流程配置到新增港口中就行了。而如果要开发新流程,也只要修改现有流程或开发新流程,并添加到配置中。在新流程开发时,数据抽取、报文生成、报文发送等环节都可以实现开发组件的重用。
信息周刊:中远集运是如何理解SOA的?
马涛:SOA实际上就是一种理念与方法论。各个国家的海关在不同地方有不同流程,不同地方一旦提出需求,其他国家的程序无法直接调用,往往要另起炉灶进行开发。实施新的EDI平台后,在一个平台上,可以把两三个程序串起来,可以快速的响应需求。
市场的变化是非常快的,HP提出“动成长”、IBM提出“随需应变”,都是强调企业要快速适应外部市场的变化。因为外部市场的变化控制不了,所以我们只能适应变化,在一个很好的架构上去适应。