Forrester Research不仅仅在最近关于这个主题的研究中计算出115个标准与SOA和WebServices相关,而且它还发现仅仅是确认哪些厂商支持哪些标准就几乎是不可能的。但是CIO为了满足商业需求必须不断推进SOA项目。通用汽车的IT架构和标准首席架构师和主任Hong Zhang,在不断推进的SOA工作中平衡各种标准的困境已经几年了。
Zhang说有很多关于SOA的标准是一件好事。“这表明软件行业正朝着广泛采用SOA方向前进,”他说。“挑战是还不存在通用的、一致的架构框架来指导这些标准的进化、完善和集成。很多标准都不成熟。”
在这些标准成熟之前,CIO怎样才能趟过这滩泥地呢?技术官员和行业专家给出了这样的建议:密切的监视这些标准的发展并且努力保证你的选择是开放的,但是一定不要拖延关键SOA项目的启动。一些策略可以帮助你避免陷入标准的困境中。
首先,当你做你的SOA规划的时候,你可以创建一个关键标准的列表,不是全面的标准列表。Forrester Research的分析师Randy Heffner说,比如,像SOAP和WSDL这样的标准已经被广泛的采纳了,包括WS-Security等标准即将被广泛采纳的。但是其他的一些需要构建和高质量服务进行操作的WebServices的规范——比如管理、交易和高级安全的标准——仅仅成熟到适合具有冒险精神的技术采纳者,他说。
对于涌现出来的SOA和WebServices标准,Heffner说CIO应该注意以下的一些:SOAP 1.1, WSDL 1.1, WS-I Basic Profile 1.0 or 1.1, UDDI 3.0.2, WS-Security 1.0 or 1.1, WS-BPEL 2.0, BPMN, WSRP 1.0, XML Schema 1.0, XSLT 1.0, XPath 1.0, XQuery 1.0, XML Signature和XML Encryption。
CIO应该支持基于标准的SOA而不是本地的协议,Heffner说,“但是不要为了仅仅是使用标准而牺牲任何应用的必须的服务质量(quality of service,缩写QoS)。”如果一个应用必须有比WebServices所能提供的更高的QoS,“那么做技术的变通,但是这些变通能够保持和出现的规范的设计模型的密切联系,”他说。CIO是否有必要了解哪些厂商支持哪些标准?“不用全面了解,”Heffner说。“但是需要做出主要的软件基础架构决定的CIO应该掌握候选厂商当前和未来对于SOA和WebServices规范支持的图表。”你也需要理解你现在厂商的计划,他说。否则,你会冒险投资于可能无法满足组织的长期商业目标或者SOA策略的技术。
很多的组织会寻找临时的解决方案——比如中间件——来克服缺乏成熟标准的困难。“从CIO的角度来讲,他们冒着很大的压力来采用一个中间件平台来填补缺乏的标准,但是从某种程度来讲,这不会将他们锁定到它,”Jim Stogdill说,他是帮助客户启动SOA项目的国防和能源咨询公司Gestalt LLC的CTO。
但是重要的是不要在一个中间件厂商上投入太多,“因为这会在以后的转换中带来太多的分裂,”他说。
Stogdill建议组织机构坚持比较常用的标准,比如SOAP和WSDL,“并且关注你的那些提供服务的商业应用厂商:接着使用非干扰的中间件通过这些服务接口将商业应用集成起来。
谈到它的故事,通用汽车在它早期SOA尝试中学习到鉴别对于该公司想要达到的目标哪些标准是最重要的。GM在2000年发起了它的第一个SOA项目,一个叫做Northstar的项目,作为它的全球在线汽车展示服务(GM全球购买力)。Northstar的目标:设立一个全球的通用SOA计划,足够灵活的支持GM业务的动态性,Zhang说。为了达到这个目标,GM设计了一个架构,将业务功能从业务处理流程(业务功能被实施的顺序)中分离出来。该公司还将业务数据的物理位置从使用这些数据的业务功能分离出来,以及将用户界面从业务处理流程、业务功能和业务数据分开,Zhang说。
2001年,GM成功的在超过40个国家部署了Northstar架构。这个架构帮助GM快速的实现各种业务需要,比如满足数据位置的监管,基于业务签订条约来改变业务处理流程以及给予每个国家的文化差异来变化终端用户的软件体验,Zhang说。
从此,该公司还在其他的面向消费者的在线服务中使用SOA,包括GM的OnStar服务,它计划开发一个企业范围的策略和管理计划来在内部和外部的合作伙伴中广泛的部署SOA,Zhang说。作为GM下一代SOA实施计划的一部分,他还评估了最新的标准和技术。
如今对GM来说,最重要的规范是那些帮助对跨服务层(表示层、业务处理层等等)的服务接口进行标准化的规范。其次最重要的是那些帮助对每个服务层中服务的实现进行标准化的规范。
作为开发企业SOA策略的一部分,该公司正在围绕着它的需求鉴别出哪些SOA标准是成熟,哪些应该被监控以及那哪些是强制的。在这些标准中,GM关注WS-I Basic Profile 1.1作为企业范围的互操作。在此之后,该公司将能够做出明确的决定,哪些厂商和产品将在它的SOA项目中使用。
另外一家SOA采用者,TD Banknorth,已经采用了一种策略,优先考虑在SOA行业中公认的市场领导者(比如webMethods)所采用的标准和被几家关键的标准组织所承认的标准。这家银行公司正在使用一个基于服务的架构作为应用集成的web service开发的框架,据CIO和执行副总裁John Petrey说。TD Banknorth最初在2004年使用SOA,部署了webMethods的Fabric软件套装来使用web service以简化客户地址的修改过程。
这个正在被实施的web service,允许TD Banknorth的呼叫中心代理人或者分行的雇员对地址进行修改,并自动的让这些修改在客户的帐户中生效。如今TD Banknorth正计划其他的SOA项目,一个是小企业贷款发起服务,另一个是该公司的在线银行系统。
“我们意识到SOA的最大好处是跨集成解决方案空间中极大的服务重用,”Petrey 说。这导致了服务开发时间的实质降低以及高质量、只需较少调试和测试的服务的创建,他说。
到如今,TD Banknorth已经采用了围绕web service的基本标准,包括XSD、SOAP和WSDL,Petrey说。“最重要的标准是关于WS-I,像策略、可靠性和安全,并且,在次要的程度来说,地址解析,”他说。
这家银行只使用“在SOA领域被公认的市场领导者采纳的标准,以及被行业研究公司(比如Gartner)认为是足够成熟的标准”,Petrey 说。“我们所采纳的标准是被多个标准机构,像W3C和WS-I,所承认的,”他补充。
TD Banknorth调查了已经采纳了比如WS-Security和SAML等标准的公司,“并且发现大多数是勉强合格,”Petrey说。“按理说这些标准早在一年前都准备好被采纳,但是没有任何一家真正的按照它们被设计和宣传的那样使用了标准。我们没有找到成功的案例。”
在该银行在它的SOA冒险中学到的经验中:采用能够促进模块化、灵活和增量的部署方式来建立架构,“为那些后续的功能需要采纳的标准预留下占位符,”Petrey说。
在小型组织机构中管理着中间件,一些CIO在没有特别强调标准的情况下推行着SOA。华盛顿特区的表演艺术的约翰 F.肯尼迪中心,是一家中型组织,使用了大量的商业软件产品,其中有一些朝着SOA推进,该组织的CIO Alan Levine说。
比如,该中心的企业资源计划产品的厂商,Lawson,将转移到服务架构。肯尼迪中心的客户关系管理平台,Tessitura ——是由Impressario开发的行业相关的应用,该公司是Metropolitan Opera的全资子公司——也转向了SOA。
Levine说他在没有过分关心标准的情况下采取步骤实施SOA。“我们主要集中在创建‘胶水’,让不同商业系统在SOA的功能下互相配合。”
Levine说,为了达到这个目的,该中心正在开发内部的中间层的解决方案。
“我们的重点不是试图选择一个标准,而是做什么能够让后端系统互操作,”Levine说。当然,中间件的策略依赖于你的组织机构的大小和已有的系统。概括一下,将你的眼睛盯在奖品上:灵活的IT组织。就像GM的Zhang说的,使用SOA的最终目标是“建立一个灵活的信息系统和服务环境,能够在业务需求改变的时候可以快速的重新排列”。
SOA实施的建议
使用你早期的SOA尝试来帮助确定哪些标准对你的业务目标最重要。
寻找SOA标准的成功部署案例。仅仅因为标准已经颁布一年了并不意味着它们已经合适全面的部署。
如果你使用中间件来提供临时的集成方案,由于缺乏合适的标准,那么确保不要过分依赖于某个厂商或产品。