SOA发展历程
回顾SOA发展历程,大致分为三个阶段。
1. 孕育阶段
这一阶段以XML技术为标志,时间大致从上世纪九十年代末到本世纪初。虽然这段时期很少提到SOA,但XML的出现无疑为SOA的兴起奠定了稳固的基石。
可扩展标记语言(Extensibl Markup Language,XML)系W3C所创建,源自流行的标准通用标记语言(Standard Generalised Markup Language,SGML),它在上世纪60年代后期就已存在。这种广泛使用的元语言,允许组织定义文档的元数据,实现企业内部和企业之间的电子数据交换。由于SGML比较复杂,实施成本很高,因此很长时间里只用于大公司之间,限制了它的推广和普及。
通过XML,开发人员摆脱了HTML语言的限制,可以将任何文档转换成XML格式,然后跨越互联网协议传输。借助XML转换语言(Extensible Stylesheet Language Transformation,XSLT),接受方可以很容易地解析和抽取XML的数据。这使得企业既能够将数据能够以一种统一的格式描述和交换,同时又不必负担SGML那样高的成本。事实上,XML实施成本几乎和HTML一样。
XML是SOA的基石。XML规定了服务之间以及服务内部数据交换的格式和结构。XSD Schemas 保障了消息数据的完整性和有效性,而XSLT使得不同的数据表达能沟通过Schema映射而互相通信。
2. 发轫之初
2000年以后,人们普遍认识到基于公共——专有互联网之上的电子商务具有极大的发展潜力,因此需要创建一套全新的基于互联网的开放通信框架,以满足企业对电子商务中各分立系统之间通信的要求。于是,人们提出了Web服务的概念,希望通过将企业对外服务封装为基于统一标准的Web服务,实现异构系统之间的简单交互。这一时期,出现了三个著名的Web服务标准和规范:
◆简单对象访问协议(Simple Object Access Protocal,SOAP)
◆Web服务描述语言(Web Services Description Language,WSDL)
◆通用服务发现和集成协议(Universal Discovery Description and Integration,UUDI)
这三个标准可谓Web服务三剑客,极大地推动了Web服务的普及和发展。短短几年之间,互联网上出现了大量的Web服务,越来越多的网站和公司将其对外服务或业务接口封装成Web服务,有力地推动了电子商务和互联网的发展。Web服务也是互联网Web 2.0时代的一项重要特征。
3.成长阶段
从2005年开始,SOA推广和普及工作开始加速。不仅专家学者,几乎所有关心软件行业发展的人士都开始把目光投向SOA。一时间,SOA频频出现在各种技术媒体、新产品发布会和技术交流会上。
各大厂商也逐渐放弃成见,通过建立厂商间的协作组织共同努力制定中立的SOA标准。这一努力最重要的成果体现在3个重量级规范上:SCA/SDO/WS-Policy。SCA和SDO构成了SOA编程模型的基础,而WS-Policy建立了SOA组件之间安全交互的规范。这三个规范的发布,标志着SOA进入了实施阶段。
从整体架构角度看,人们已经把关注点从简单的Web服务拓展到面向服务体系架构的各个方面,包括安全、业务流程和事务处理等。
与SOA有关的标准化组织
1. 结构化信息标准促进组织(OASIS)
OASIS是一个非赢利的国际协会,致力于电子商务相关标准的制定和推广,也是目前制定Web服务标准最多的一个组织。除了制定通用的电子商务、Web服务和安全标准之外,OASIS还制定了很多针对行业的电子标准。OASIS理事会成员几乎全部来自微软、IBM、BEA system、Oracle、Sun、SAP AG、诺基亚等业界大公司。
2. 开放SOA合作组织(OSOA)
OSOA是一个非正式的厂商联盟,使得各厂商能够共同开发一个语言中立的编程模型。该编程模型帮助企业软件开发人员能够最大限度地发挥SOA架构的特性和优势。目前加入OSOA的厂商包括IBM、BEA、SAP、Oracle等。尽管OSOA不是一个标准化组织,但由于有IBM、BEA等业界厂商的支持,它制定的规范很可能会成为事实上的标准。因此,我们可以把它看作一个准标准化组织。OSOA成立了两个项目组,分别负责制定SCA和SDO规范。
3. 万维网联盟(W3C)
W3C成立于1994年,主要负责制定Web相关标准和规范,比如HTML、CSS等。W3C专门成立了Web服务专区,下辖六个工作组,负责制定Web服务相关的标准。W3C对Web服务的发展可谓功不可没,像非常著名的SOAP和WSDL皆出自于W3C。
4. Web服务互操作组织(WS-I)
WS-I是一个开放的厂商联盟,鼓励任何对Web服务有兴趣的厂商加盟并贡献自己的力量。 它主要致力于提升Web服务基于平台、操作系统和编程语言中立的互操作能力,其成员几乎覆盖了所有重量级厂商,如IBM、微软、Sun、Oracle和BEA等。
5. 互联网工程任务组(IETF)
The IETF(因特网工程工作小组)是定义标准因特网操作协议(像TCP/IP)的团体,IETF接受国际互联网协会Internet架构委员会(Internet Architecture Board,IAB)的监督管理。IETF的成员分别来自于互联网协会的个人或者组织成员。
SOA的鼓噪之声
对于IT供应商,SOA是未来产品的发展方向,是不可能放弃的战场;对于用户来说,能够“随需应变”的SOA也许会带来与以往不同的应用模式,更加灵活、便利;对于国内的独立软件运营商来说,SOA也许是一个IT势力重新洗牌的机会。
汉末三国时期,魏、蜀、吴从他们自己立国图强、建立霸业的政治目的出发,都想得到荆州这块重要的战略之地。三方围绕荆州展开了激烈的争战,时而波澜壮阔,惊心动魄,时而又偃旗息鼓,暗中争斗。
现在,SOA俨然成了供应商眼中的荆州。得之,可得天下。各路人马为了SOA,开始了一轮或明或暗的争斗。
荆州之争
2007年的SOA市场一直很是活跃,IBM不仅以服务商的角色介入SOA,而且还在推广传播众多的SOA成功实施案例。
2006年底,IBM全球服务部开始围绕“服务产品化”这个核心进行转型。
IBM将基于基础架构访问服务、基础架构管理服务和基础架构支持服务三大服务产品群分为十条服务产品线。
IBM全球信息科技服务部服务产品事业群基础架构访问服务暨合作联盟大中华区总经理徐辉认为IBM在服务转型上实际上就是一个SOA的尝试。
徐辉说,在IBM的十条服务产品线里,包括了一百多种客户需要的服务产品,以及下面更多的服务产品组件,这些大多是提炼出来的、具有自主知识产权的、可以重复使用的,这就是SOA的理念。IBM可以通过方案的架构师、通过行业顾问了解客户的需求是什么,通过这些服务产品的组合,达到一个整合业务的目的来帮助客户实现他们的业务目标。IBM自身的以服务产品为导向的转型恰好是SOA很好的说明。
BEA公司将自身定位于SOA平台提供商,并推出一系列产品和方案。
与此同时,Oracle正在忙于实现称为OracleFusion的软件集成事业。这是在过去四年中近30笔收购的结果,不仅如此,Oracle还承诺在2008年初推出完全基于Java和支持SOA的商业应用堆栈。
2007年SAP将完成旗下所有软件应用转移到SOA之上,部份新版软件已经出货,并预计于2007年完成所有软件的改写。SAP凭借NetWeaver策略,力图向客户证明它的SOA功能上比Oracle更胜一筹。
不仅这些国际供应商在SOA市场表现活跃,国内的软件厂商也不甘落后。普元、东方通、锐易特,都在以其中间件产品为SOA化着陆点。
中国工程院院士倪光南一直对SOA青睐有加,2007年5月29日SOA国际标准在北京路演时,倪院士把SOA标准与构件技术结合比喻成一颗 “银弹”。
值得注意的是,目前这个领域还没有出现垄断性的力量。从这个角度说,SOA是中国中间件软件乃至软件行业的一个市场机会,因为SOA很可能将推动软件产业一次新的结构性变化,将会涌现新的赢家、新的垄断势力、新的技术领袖,重新划分IT势力。
得标准者可得天下
早在2005年11月,IBM、BEA、Oracle、SAP等公司就曾共同发布了SOA的技术规范:服务构件架构(SCA)和服务数据对象(SDO)。
5月29日,随着倪光南院士、普元软件CEO刘亚东、OSOA专家Edward Cobb和Oracle公司SOA资深工程师Jeff Mischkinsky掀开SCA和SDO全球路演的幕布,SOA国际标准正式登陆中国。
对此,为SOA终于有了国际标准欢喜雀跃的有之,提出反对意见的也有不少。
有人说,SCA/SDO目前还只能称为规范而不是标准。SOA的技术架构没有标准,但SOA有相关技术标准。如果OASIS将SCA/SDO规范提交给ISO组织或国际电联,获得通过之后才能成为标准。
也有人说,其实SOA的架构没有标准。SCA不是SOA的标准,而是编程模式,在SOA环境中的一种新编程模式。对于把SCA说成SOA国际标准,这其中有很大的炒作成分。
IBM中国开发中心Web 2.0首席架构师毛新生认为SOA强调开放,在自己的框架内,都可以制造自己的服务组件。有了标准,所有服务组件和所支持的服务都可以无缝地集成和应用。SCA是处理能力的规范,SDO是组件之间相互交流的规范。在访问不同的数据源时,通过标准化的方式提高交互能力。SCA/SDO作为组件模型,虽然没有成为正式标准,但一直在供应商的产品中应用,已经经过行业的检测和洗礼。
对此,长风联盟秘书长、北京软件与信息服务业促进中心副主任肖澜则认为,目前SOA还是停留在理念层面,SOA的技术和标准还远未成形,SOA的标准之路仍然漫长,还需要3~5年甚至8~10年的时间才能真正成熟,而不像很多厂商所宣传的SOA已经到了实施阶段。更确切地说,大家都还处于摸索阶段,就算已经有项目开始实施,也是摸着石头过河。
长风联盟曾经发布了《SOA推进战略白皮书》,希望通过白皮书能为中国软件产业更好把握SOA带来的巨大机遇、促进产业格局全面调整、实现产业的整体突破与提升提供参考与借鉴。
SOA真的来了吗?
据IDC《2007年中国企业SOA应用调查》显示,超过77%接受调查的中国企业开始考虑或着手实现SOA架构。具有前瞻性的公司正在跨越功能和部门来拓展他们的SOA实施,最终将涵盖整个企业甚至他们的合作伙伴、供应商和客户。
而另一份调查结果显然没有这么乐观。SearchOracle.com调查了683位分布在各行各业、在IT决策过程中有一定发言权的IT专家,发现84%的受访者没有实现任何的SOA技术。其中,48%的受访者表示他们计划在未来三年中实施SOA,然而其他的半数受访者表示他们不知道他们的公司是否或者合适将进入SOA的世界。
对于目前SOA市场,不同立场的人有不同的理解。
北京锐易特软件技术有限公司技术总监李轶强认为用户对SOA都会觉得是一个很美好的蓝图,但一旦到了很实际的实施阶段,就会出现一些问题,让用户感到困惑。所以SOA在中国现在还是初级阶段,要考虑怎么落地的问题。
毛新生认为SOA现在已经不是概念普及阶段,大家早已经清楚SOA的概念是什么。现在,SOA是未来的发展趋势,已经成为共识。用户对SOA的疑问集中在怎样实施,服务力度怎么样,如何标示等操作层面的问题。
赛迪顾问分析师张曦表示,目前不能对SOA市场盲目乐观。张曦对SOA的前景,给予了肯定的态度。他说,对于用户和企业来说,软件都标准化了,开发成本和使用成本都会降低,SOA肯定是未来发展的趋势,只是没有数据显示的那么乐观。
用户对SOA,又爱又怕的心理恐怕是难免的。喜的是SOA能为他们解决困扰多年的整合问题,灵活变通的形式也让人喜闻乐见。忧的是SOA毕竟是新鲜事务,勇于做第一个吃螃蟹的人难免要承担风险。
“目前SOA市场成熟度有待提高。我更期待的是典型案例,如果有比较成熟的行业应用案例出现,哪怕是不同行业,也可以作为参考,”雅昌企业集团信息总监游卫东说。
提到SOA,中国石化信息系统管理部教授级高工吴正宏说:“我们一直在跟踪这个领域,但我们关注的是集成。”
谈到现在供应商提供的SOA产品,吴正宏认为严格地来讲,完全符合SOA架构的产品还没有。去年,供应商提供的产品大都是基于ESB(企业服务总线)上改造的。今年虽然不少供应商都推出了基于SOA架构的产品,但是还不成熟。
中石化关注SOA是从2000年左右开始的,目前也是尝试在做小规模的开发,没有计划把所有的系统都结合在一起,担心这样反而会有安全和管理方面的麻烦。目前考虑的规划都是从业务角度出发,再考虑用什么样的技术,而不会为SOA而SOA。