SOA产业发展的主旋律:竞争与合作
SOA可以看作是B/S模式、XML/WebService技术与管理软件的结合。它通过组合单独业务和流程实现复杂的业务应用,而这些业务功能和流程称为服务,SOA把业务流程视为独立于应用程序及其运行的平台的可复用组件。当前,众多厂商成为了SOA技术架构的推动者,其中包括IBM、BEA、HP、Oracle和SAP等。
竞争与合作,是当今SOA产业发展的主旋律
在商业社会,只有永远的利益,没有永远的竞争对手。而SOA也会在这种竞合中稳步向前,成为下一个主流。
SOA正逐渐成为一个流行的词汇。IBM、SAP等IT服务厂商都宣布投入重金进行SOA的研发。但是,就像任何其他软件技术一样,国内SOA发展状况跟国外比还有一段距离。
有厂商认为,目前中国的SOA还局限于技术人员间的探讨,还没有到大规模部署和实践的时候。对于这一点似乎没有人提出疑问,因为尽管中国企业的基础信息化建设已经比较完善,但涉及到更高层次的应用还有诸多掣肘。
SOA最吸引人的地方在于,通过实施SOA可以实现更高的业务和IT一致性。它的整个IT系统是基于松散耦合组件组成的系统,建成的系统允许分散于各地且采用不同技术的资源协同工作。它要求研发人员开发的程序有更多的通用性。通俗来讲就是有标准化的接口,可以将各种组件迅速组装成为新的产品和服务。
显然,要实施SOA,难点在于把整个业务和IT逻辑重新梳理,提炼出更多的共性模块,之后的技术实施反而不是关键。
在中国的电信、银行对SOA需求迫切的行业,企业内部的信息化系统很多是按照部门来部署的,每个部门都有自己的利益,因此希望通过大集中式SOA部署,一次性实现所有部门和系统之间的共性组合,显然是不现实的。与此同时,各个部门为了应对日益加大的竞争压力,都希望在局部的范围内实现尽可能多的业务一体化组合,也就是希望快速而波及面小地实施SOA。此外,中国企业在信息化建设上,一向信奉稳重推进的策略,它们不希望一下子上马一个牵动全公司的项目,而是先试点,成功后再逐步推广开来。这种信息系统的实施性格也决定了集中式SOA在中国推进的困难,尽管从SOA希望实现的最终目标来讲,集中式SOA是最合适的。
IONA大中华区总裁薛志勇就主张SOA实施应该是分布式的,能满足企业在局部实现SOA部署的需求,而不是大包大揽,所有系统都进行SOA转化。今年IONA公司通过大唐软件帮助内蒙网通公司上SOA,在条件准备充分的情况下,开通一个接口或者一个服务最多两天,少则一天就成功实现了SOA。
当然,任何公司都是根据自己的技术特长和产品优势来推广SOA的,IBM、SAP、IONA、普元等都是如此。它们的这种“自卖自夸”式的宣传一定程度上把整个SOA市场炒热了。但是它们作为一个盈利企业,不会死板到只推广自己的SOA模式,而不理会别的公司的方案和产品。当自己所掌握的客户有需要,而自己又一时没有性价比合适的SOA产品提供的时候,与竞争对手合作也不是不可能的。在商业社会,只有永远的利益,没有永远的竞争对手。而SOA也会在这种竞合中稳步向前,成为下一个主流。
BPM无论从技术还是方法上都在促进SOA的发展
从SOA概念提出以来,越来越多的主流厂商开始了BPM与SOA的应用。近期,BEA收购Fuego扩展SOA到BPM软件,以此使用新的BPM升级SOA平台。2月,HP和Oracle集团宣布,HP的服务咨询和集成(ServicesConsulting&Integration)将会同Oracle的Fusion中间件,加入到它的SOA的投资组合以及HPOpenView管理软件套件,以Fusion融合SOA。去年,Oracle收购了BPM专业公司Collaxa;SAP重新设计软件,以便集成自由版本的面向BPM的中间件NetWeaver。
除平台提供商以外,开源厂商也试图占领拥有自己的SOA却缺乏服务的市场。JBoss公司在2005年10月发布的企业过程管理引擎,围绕业务过程执行语言(BusinessProcessExecutionLanguageBPEL)提供了一种可插拔的体系结构、扩展的任务管理以及新的可扩展性。BPEL虽然是用来编排Web服务的,但依然适合用来集成,而不是深入的业务逻辑。
BPM无论从技术还是方法上都将促进SOA的发展。在此过程中,大型平台厂商IBM、BEA、SAP、Oracle等将会尝试建立一种新SOA标准;而开源厂商努力构建一套工具,不把自己禁锢于用一种方法构建SOA。
从BPM的IT需求与SOA技术角度上看,BPM与SOA的融合也具有先天优势。BPM的范围覆盖了企业运营的各个环节,如生产、销售、物流、财务等企业经营活动,甚至延伸到供应商和经销商。其产品开发包括6个部分,从基础开始为:开发语言,如BPEL、Java等;BPM服务器,包含EAI/BPM平台产品;BPM工具,包括用户接口工具、过程建模工具、软件需求工具等;BPM套件;BPM知识架构;BPM系统和其应用。由此可见,BPM的IT需求与SOA技术具有以下相似点:
1.BPM涵盖范围广泛,需要完成因事件触发的完全不相干的事件,此特点正与SOA的松散耦合特点相吻合。
2.BPM需要多部门、区域的协同。在此中环境中网络环境的安全性可由SOA技术构架中的WS-Security、LDAP(LightweightDirectoryAccessProtocol-轻量级目录访问协议)、PKI(PublicKeyInfrastructure-公钥基础设施)架构和数位签章等机制来完成。
3.BPM系统构成元素种类繁多而复杂,包含分布于各模块的企业逻辑和规则。而SOA可以看作是B/S模式、XML/WebService技术与管理软件的延续。当前多数SOA环境能提供系统管理工具给系统管理员使用,协助管理SOA架构下模块的安装、移除、启动等。目前能够实现SOA的产品包括:MicrosoftBiztalkServer,webMethodsBusinessIntegrator,IBMSeeBeyond,TIBCO和Vignette。在SOA提出以前,大部分BPM产品在流程图中采用自有定义流程逻辑。
4.企业BPM系统的实施往往从最简单的开始,逐渐提升为复杂的BPM系统。而SOA模块化的特性正好吻合了此特性。