中国的世界级管理软件——用友U9,给广大中国企业(尤其是中高端的制造型企业)带来了许多期许。面对即将发布的用友U9 v2.0产品,用友副总裁、U9产品研发中心总经理黄涛鲜明地谈出了数年研发过程中,用友对软件SOA发展趋势的理解。 中国的世界级管理软件——用友U9,给广大中国企业(尤其是中高端的制造型企业)带来了许多期许。面对即将发布的用友U9 v2.0产品,用友副总裁、U9产品研发中心总经理黄涛鲜明地谈出了数年研发过程中,用友对软件SOA发展趋势的理解。
同时就用友如何在U9产品中贯彻SOA架构,并展示这款“中国的世界级”产品的创新性,道出了用友U9全体研发人员的心得。
SOA是基础架构,而不是一种协议,U9如何贯彻SOA
“有些厂商对SOA的理解,是认为通过WEB的方式从服务器调用系统的功能,以及将系统的API定义成一个可调用的功能,这就是SOA。如果站在这样的角度上来看,SOA就不是一个架构,而只是一个跨平台的调用协议而已。”黄涛认为:如果如此误解SOA,那么任何一个软件,只要对它的API接口做一个封装或者改造,就能号称是SOA架构的软件了。
用友认为:SOA架构是一个基础性的东西,那些事后能通过包装或简单调整做出来的软件,一定不是架构,最多只是一项技术而已。
黄涛讲述:在U9里,用友U9是从企业的服务化运作去考虑和审视软件的SOA架构,把企业运作经验总结并积累变成一个个“服务”,把“组织能力”服务化,通过对“服务”的编排来实现弹性的业务流程,U9将这种方法定义为SOA架构,其核心是对企业业务的抽象和组件化。
也就是说,软件从一开始,就不是“像传统软件那样按照工作流的方式”去设计的,而是从企业的战略,到业务流程,以及流程所需要的服务去考虑。这样的思路所设计出来的软件,自然而然地就变成了一个个服务的组合,服务成为了软件设计的头等工具。
当用友U9设计软件通过服务的编排来实现业务流程时,那么这个软件天生就是以服务为基础架构的。
黄涛指出:“在U9里面不是需要买另外一个包或工具,它才能变成平台,U9在设计时就有服务和服务组的概念。”服务组的服务之间有着较大的相关性,比如说,用PDM做接口的时候,肯定与BOM有很大的相关性,BOM的驱动和维护能牵引企业实际业务工作中很多调整。又例如企业经营中现场做任何一个流程变更,都会对物料流程有所影响。
U9的设计基础建立在服务和服务组概念上,而几年来,研发人员就服务组间相关性管理,分辨服务组数据的内外部关系等等很多复杂问题,花费了大量心血。“在如此大的研发投入下,最终保障每一个购买U9的客户,不光买到的是一款成型的平台产品,更重要的是买到了一个庞大的服务库。”
依靠这个服务库,用户可以弹性地组合应用,例如一些客户将U9和PDM整合,和第三方整合,都是用了U9服务库内置的服务引擎来构建。
U9内部,目前有大约近1万个的服务。意味着客户购买了U9以后,就可以调用服务库里任何一个服务,而不需要自己再去开发新应用。
基于服务组件研发,确保了U9的SOA真身,同时做到了高效研发
U9有一个平台,叫UAP 。
通过平台,可以分两个层面精细化考虑软件产品客户化问题。第一个层面是“个性”,第二个层面是“扩展”。
在个性层,U9平台提供了大量标准功能,ERP项目实施人员和维护人员可以通过进行大量服务组件的配置来实现不同企业客户的个性化需求,而不再需要进行重新编码。
而扩展层,U9在WEB层、数据层等都提供了很多框架和引擎,而这些框架和引擎里面,又提供了很多标准的扩展机制。例如:销售订单发货前两天,要通过短信或邮件通知客户,这需要一个新应用,而U9中有很多标准的开发工具,可以供后期为客户实施中,开发针对性的新服务。
此外,U9除了上述两个“客户化”方式外,也保留了传统的二次开发途径。如果说在某个行业,服务不合适,要重新开发新的服务,U9的接口支持国际标准,可以用.NET,也可以用J2EE去调用U 9的其他服务,在技术选择上是开放的。
灵活地扩展、客户化机制,得益于SOA架构。
此外,这种架构给U9带来的更大发展优势,就是大大方便了系统升级的便利。黄涛指出:选择U9后,ERP升级过程中,首先客户风险降低了,此外对于U9的研发过程其实收益更大。
传统ERP任何一个大规模系统升级,都会给用户带来巨大的风险,主要是架构上的调整,以及兼容性的问题。而SOA架构的U9,软件的颗粒是服务,只要服务接口的API标准不改变,对服务模块就没有任何影响,用户均可以做到平缓升级。
兼容性上,基于SOA架构的U9,完全不用考虑原有系统开发的服务组件能否应用到新的系统之上,由于SOA架构系统平台与组件间通过API接口连接,同样只要API不改变,系统平台升级就不会影响到已成熟的组件兼容性问题。
“在以前的系统中,是没有元数据去描述和定义API的。”针对这类问题,以前的客户和开发商都是不了解的,无法解决的。在U9里面,通过元数据去描述了其对外所有的接口。有了这样一个描述后,我们很容易在开发过程中,看到API的兼容问题。
这种模式,除了让客户放心于系统升级外,更重要的是,大大提高U9自身的研发效率。基于SOA架构建立服务库后,U9系统大升级,不会对服务的复用造成影响。传统ERP升级,周边开发的新应用都会面临调整,而SOA架构对服务几乎没有任何影响,可以直接链接到新平台上“重用”。
“有了大量可以重用的服务,就能保证U9开发的‘高效率、高质量、低成本’”黄涛表示。
记者注意到,用友U9两年来已经发版了4次,升级发展速度大大超过传统ERP。从2008年初正式发布U9 V1.0版开始,继2008年发布了1.1和1.5版本,而2009年11月将发布2.0版本,这充分说明基于SOA架构的U9在开发效率上的明显优势。