与2005年一样,对面向服务架构和Web服务而言2006年一样是忙碌的一年。事实上,这一年间通过开展大量活动才消除了围绕面向服务架构的夸张介绍。
当然,围绕热门技术总是有大量夸张宣传,或者只有这样,才能在短期内快速实施该技术。新的面向服务架构主旋律产品、新面向服务架构标准以及由SOA引起的行业变革都是本年度有力度的事件,然而,最重要的是有大量用户开始使用SOA。
其实这不是夸张宣传,这是一种进步。在2006年即将结束的时候,我们来历数在过去的一年中SOA和Web服务领域的八件大事,在这一部分,我们先为大家介绍四个事件。
8.WS-Policy协议最终成为标准
2006年4月,WS-Policy正式成为W3C(World Wide Web Consortium)标准,为WS-Policy这个热切盼望进入W3C的新标准找到了归宿。建议者认为WS-Policy能够提供SOA中所要求的松耦合的Web services规范。
该规范现在已经上了W3C标准审批轨道,数周内将正式成为标准。
“我认为一般而言,规范是一个非常重要的概念,需要快速成长起来,” Interarbor Solutions LLC的首席分析师Dana Gardner说。“服务需要这些规范约束,才能共同工作,相互配合。”
ZapThink LLC 咨询公司高级分析师Ron Schmelzer认为WS-Policy成为W3C标准是一个好的开始,但是他警告说我们需要建立共享规范的集合,而不是规范解释自己的词表。
“建立标准是必须的,但仅有标准是不够的”他说。“一个标准并不能解决规范互用性问题。”
7.SOA变得敏捷
面向服务的架构强调结构和再定位。在开发的时候,部分再定位似乎是围绕敏捷开发的概念展开。随着不断有争议出现,如果你用相同的方式建立架构,那么建立的所有架构都将一样。
敏捷编程(Agile Programming)已经成为Google IT 商店的方法论,同时成为SOA开发的理想方法。使用敏捷编程的人认为该方法好处多多。
“采用敏捷编程的进步之处在于我们已经认识到传统的编程方法并不适于服务开发。” Schmelzer说。“你不得不处理多层连续改变问题。”
Gardner说面向服务的架构将要求开发人员从全生命周期的角度认识服务或服务组件,而不仅仅从单个项目的需求出发。
“你不能建立架构之后就什么都不管”,他说。他补充到这种每次只设计和实现系统的一部分, 逐步逐步完成的方法叫迭代开发,在迭代开发中人力和流程都比编程代码重要得多。
Gardner和Schmelzer都认为敏捷编程已经成为开发中最好的实践方法。
6.企业服务总线(ESB)的重新使用
2006年1月,Progress Software收购网络服务管理厂商Actional,并将它与与Sonic的企业服务总线(ESB)软件合并。之后,Sun微系统将企业服务总线(ESB)作为其复合应用程序平台的一部分。
2006年,Iona科技使用企业服务总线(ESB)从事重要的SOA开发,JBoss进入开源企业服务总线(ESB)行列。同时,硬件提供商加强企业服务总线(ESB)产品制造。
“现在,通常人们是将企业服务总线(ESB)分解,或将其作为解决方案的一部分,” Gardner说。
Schmelzer认为这些变化是为了使企业服务总线(ESB)成为优秀的面向服务架构框架。他特别强调,认为企业服务总线(ESB)是面向服务架构软件中的核心组成部分。
“我认为,从哲学角度看,SOA mega-suite根本就不是面向服务的架构,”他说。
Gardner相信企业服务总线(ESB)需要进一步提高功能性,不仅仅局限于消息这一块,企业服务总线应该植入大的业务流程中。
“例如,我不能确定企业服务总线(ESB)中是否包括管制,但是通过某个ESB实施管制就是另一回事,”他说。
5.Eclipse进入Web服务和面向服务架构的开源领域
2006年年初,Eclipse基金会宣布今年将推出面向服务架构的工具,并在夏天时候提出了SOA工具项目工作计划。尽管Eclipse基金会的SOA工具要到明年夏天才能正式发布,但是今年夏天发布的Eclipse Callisto中包含有大量Web服务启用工具。
Eclipse 目前已经成为Web服务领域的主要机构,我们可以通过Eclipse 学习指南深入了解Eclipse的情况。
“真的很难找到有人说Eclipse的不好” Gardner说。
Gardner和Schmelzer都认为Eclipse已经成为微软之外的主要集成开发环境。
Schmelzer表扬Eclipse,因为它在设计阶段就强调面向服务架构模块的概念。
Gardner说“非常幸运,这么早就看到了开源面向服务架构的工具,正常情况下,我们可能需要再过几年才能看到这样的开源工具。”
4.面向服务的架构开始发挥作用
许多提供商、分析师和媒体在谈到SOA的时候非常迷惑,实施上IT领域已经开始推行面向服务的架构。面向服务的架构不再只是一种理论。大型公司开始强调技术架构的重要性。
在2006年,我们听到大量赞扬SOA的呼声,有来自英美烟草公司(British American Tobacco)、 Transamerica保险公司、亚马逊(Amazon)、哈特福德金融服务公司(The Hartford)、Aetna精密部件生产公司、奥斯陆Vital Forsikring公司、二滩水电站(Ertan Hydropower)、 Washington Group International、网路招聘公司Monster Worldwide、 丹麦国家和荷兰国际集团(Ing Group)。
“人们已经从‘什么是面向服务的架构’阶段进步到‘我怎样实施面向服务的架构?’阶段” ZapThink LLC 咨询公司高级分析师Ron Schmelzer说。“业务就像一个概念,SOA确实能够发挥作用。”
Interarbor Solutions LLC 公司高级分析师Dana Gardner提出接受SOA,实施SOA的必要性。
“我们再也不会看到像十几年前在网络领域,人们蜂拥采用某种技术的场面,”他说。“面向服务的架构需要对IT领域采用一些战略方法,需要改变企业内部的文化。”
Gardner注意到面向服务的架构会带来许多好处,尽管现在采用SOA能带来什么好处的案例还没有公布。然而,他相信SOA会成为未来企业开拓市场的中坚力量。
3.SOA需要管制
2006年年初,我们经常谈到面向服务架构中的管制鸿沟问题,从那时起,用户开始强调SOA管制的重要性。事实上,管制这一术语是贯穿SOA之中每一环节,我们要为那些不了解管制的人重新解释SOA管制的含义。
随着SOA的管制备受关注,IBM、AmberPoint等公司相继推出详细的SOA管制策略。像Dun&Bradstreet(邓百氏)咨询公司这样的用户认为,SOA的管制非常重要,同时防止流氓服务的增加也是至关重要的。
“管制不仅仅是指SOA管制,我们所说的是真正的IT管制,” Gardner说。“2006年,商家将管制与面向服务的架构结合起来,使SOA能够覆盖整个IT领域。SOA管制使SOA成为现实情况的转换概念。”
Schmelzer认为管制是唯一能够清理IT领域混乱局面的方法。
他说没有管制的Web服务会产生大量问题, Google Maps API (应用编程接口)就是这样一个例子。
“如果Google改变API (应用编程接口)会出现什么情况?”他问。“是一切都功亏一篑了吗?你怎么发现问题?怎样弥补漏洞?”
2.收购热潮
2006年,软件巨头Mercury Interactive收购SOA注册提供商Systinet,震惊IT领域。六个月后由于Systinet的原故,惠普公司收购Mercury公司。其他引人注意的收购还包括Progress软件公司收购Web服务管理提供商Actional、红帽(Red Hat)收购JBoss、SOA软件公司收购Web服务中介商Blue Titan公司、BEA系统公司收购SOA仓库Flashline以及webMethods公司成功收购Infravio。
“提供商发现他们需要提供一些专门针对面向服务架构的功能,所以他们打开大门,进行收购,” Schmelzer说。IBM和甲骨文公司也在这次收购大潮中吸纳了多个小型提供商。值得注意的是,微软是唯一没有进行收购的大型软件提供商。
“微软没有进行任何收购活动,为此我依旧有些不安,”他说。“我们很难预测将来在微软SOA业务量是否会比.NET业务量大。我认为可能不会。”
Schmelzer认为2007的热门收购领域应该是测试和客户服务领域,特别是客户服务。
“所有启动的项目都在进行应用程序集成开发,”他说。
Gardner则认为数据作为一种服务,会成为下一个收购热门。
“在进行面向服务架构的工作之前,我们需要解决大量数据问题,”他说。“同时,市场上有大量专做数据业务的提供商,他们在数据处理方面拥有较成熟的技术。”
1.Java平台的未来并不明朗
这场风暴起于2006年夏天,分析家预测提出Java企业平台消亡论。当然,提供商一定认为这是一个悖论,但是现实是在SOA世界中,Java EE 5需要进行革新。说到这里,我们一定会想到Sun公司的James Gosling和 Kevin Schmidt等人,他们认为Java及Java企业平台能够在模块化的SOA领域发挥举足轻重的作用。
“开发人员采用这种笨拙的语言怎么能开发出灵活的产品?” Schmelzer问。“Java什么时候才能进步? 目前Java似乎还是需要与HTML语言搭配使用。”
他说通过调查,他发现大量用户在Rails、 Python 和 .NET 上使用面向对象的脚本语言Ruby而不是Java,这是因为Java企业版非常不实用。
Gardner提到今天夏天的一项公告,说Java平台将开放源代码。
“大家都在张望,看Java如何作为开放源代码的一部分,而不是独立的平台,”他说。
没有人希望Java编程语言最终消失,但是似乎IT领域Java平台的数量屈指可数的日子也不远了。
“与其他所有事务一样,Java必须跟上时代的步伐,” Gardner说。