技术开发 频道

探析SOA复杂实施过程中面临的问题

【IT168 技术文章】

    尽管部署面向服务的架构(SOA)一直在业内谈论很多,但是由于SOA是一种复杂的有别于传统IT基础设施的构建方法,在实施SOA项目之前需要充分地了解影响其成功实施的重要方面。

    SOA是如今IT界所谈甚多,但却所知甚少的话题之一。作为构建IT系统的一种方法,SOA可通过公共通信协议来连接网络上的诸多应用,这样企业往往借助Web服务即可重复使用原有软件,以节省经费。

    Saugatuck Technology公司预测,到明年,多达三分之二的IT部门会拥有局部或者全面的SOA生产环境。但SOA实施过程复杂,IT部门在选择SOA时依然面临一些紧要的问题。

    1、谁因使用SOA而节省费用或者实现盈利?

    安飞士公司(Avis Budget Group Inc.)的服务架构信息技术主管Ashok Kumar说自己就是。大约两年前,Avis开始在公司局部使用SOA,与合作伙伴建立新渠道。派驻新泽西州的Kumar说: “现在对方可以直接与我们有业务往来,不必通过中间人。这样为对方和我们都节省了费用。如今引入新合作伙伴的成本降低,这要归功于SOA。”

    他说,安飞士如今只要一天就能引入新的合作伙伴,因为有了SOA,只要重新配置一下相关服务,而不必大幅改动应用。Kumar说: “起初,引入新合作伙伴的成本在4万~5万美元,现在降到了3千~4千美元。”

    任何公司都会面临与实施SOA有关的先期成本。但许多IT专家认为: 从长远来看,SOA可以减少费用。《面向服务的架构傻瓜书》一书的合著者、行业分析师Judith Hurwitz说,用户不能仅仅从短期投资回报来看待SOA。

    Hurwitz说: “就这种技术而言,你的真正目标是重复使用以及松散耦合组件的功能。不能从短期效益来看待这项技术,因为实际上,出现变化后才会收到实际成效。”

    Hurwitz强调,传统的软件构建方法假定工作从头开始,开发的软件旨在解决某个具体问题。而SOA让企业非常灵活,可以迅速应对重大变化。企业可能在部署SOA数月后也看不到显著效益,但一旦突然进行收购,“应对这种变化、积极响应然后提供软件的能力就会出现重大变化”,她如是说。

    弗雷斯特研究公司的分析师Larry Fulton说,人们经常提到的一个相关问题是,企业在SOA上要花多少钱?
   
    Fulton说: “这个问题很难回答,因为假设五年前我投入500万美元构建新的ERP系统,现在准备构建新的ERP系统,还准备使用SOA,我仍会在项目的软件等方面投入500万美元,这笔钱是不是果真用在SOA上呢?不是,这笔钱是用在整套业务解决方案上的。”

    Saugatuck Technology的副总裁兼高级战略顾问Mike West说,SOA能带来两种回报。IT人员可减少提供服务的费用,这是第一种回报。West认为SOA仍处于早期阶段,如今使用SOA并且节省费用的企业恐怕只有10%到15%。

    West说,还有比例更少的少数公司在使用SOA并且在提高利润。他强调,如今到处是能够迅速以低成本完成、但缺少长远效益的项目。SOA却是一种截然不同的系统构建及管理方法,它为迅速应对变化奠定了基础。

    归eBay所有的PayPal就是这样一家公司。负责核心技术的副总裁Matthew Mengerink说,PayPal利用SOA为外部开发人员提供了工具,把网上零售商连接到PayPal用来在买卖双方之间转账的系统。PayPal为24万名开发人员组成的社区提供了大约16种应用编程接口(API)。

    2、为何很难找到有SOA专长的员工?

    Fulton说,他从未碰到过声称拥有所需SOA架构师的客户。有个客户告诉他,挑出架构师的非常好的办法就是,让10名开发人员进行工作,观察十年,然后确定谁是架构师。

    Mengerink说,由于IT界人士没有就SOA的含意达成一致,找到SOA专家的任务更是难上加难。他说: “有人过来说‘SOA是指微软的服务接口。’另一人过来说‘不,SOA是苹果公司的专用接口工具。’谁对谁错呢?但要是你想招聘一名工程师,就容易多了。”

    Mengerink认为,最好的办法是对自己的人进行培训,这是因为SOA的底层概念和技术不是很复杂。当然,要是你正好在PayPal这样的大公司实施SOA,这项工作比较容易。他说: “大公司在某种程度上能够确定SOA的定义。谁有实力,谁就可以向世人表明这种定义。”

    Kumar说,SOA需要的观念有别于传统的IT基础设施构建方法。他强调,许多人会用Java编程,也懂得如何开发单一的Web服务,但使用面向服务的架构把诸多服务组合起来很难。他说: “许多人很难迈出这一大步,这就是为什么我们往往求助于外部的服务提供商。即使那样,我还是认为,要找到优秀人才太难了。”

    就算招到了精通SOA的员工,也会发现他们试图一下子完成好多工作。Hurwitz在书中写道,激情高涨的员工有时“想当英雄”。

    她写道: “年轻的开发队伍可能会决定打破规则,开始自己编写代码,抢在竞争公司的其他同行之前开发出一套新的功能。的确,这种创新意识对建立市场领导地位非常重要。但要记住这一点: 创新和创造总是需要有所约束。”

    3、微软对SOA有头绪了吗?

    Fulton说: “客观地说,现在微软对SOA有了头绪。眼下,其SOA战略本身有点神秘,想揭开微软神秘面纱有点困难。我认为,微软已认识到SOA是市场上的一股重要势力。”

    预计如今重视SOA的开发商会提供可靠的企业服务总线(ESB)。Hurwitz称,ESB是为SOA中诸多服务起到通信作用的“神经中枢”,在SOA组件、基础架构服务和业务流程之间充当中间人。ESB用途广泛,可连接各种类型的中间件、元数据定义库、注册中心和服务接口。据Fulton介绍,不像IBM和BEA Systems两家公司,微软配置ESB的方法稍嫌复杂。

    Fulton说: “微软目前对ESB的说法不是‘嗨,这是我们的ESB产品’,而是‘你们(客户)可以构建ESB,可以使用我们的这些产品来实现。’他们甚至谈到了使用加速包在BizTalk等平台上简化开发工作。”

    微软公司的BizTalk Server,这款业务流程管理服务器拥有设计、开发、部署及管理公司业务流程的工具。Hurwitz称BizTalk里面的集成技术是微软“替代ESB的一种方案”。

    Hurwitz与合著者在书中列出了支持SOA的另外七款微软产品,其中包括: 微软Windows Server,这个基础架构平台用于连接诸多应用、网络和Web服务; 微软.Net,这个开发框架用于构建应用和Web服务; 还有Windows Communication Foundation,这一套信息传送技术让SOA组件能彼此联系,并且简化了系统的开发及运行。

    Fulton说,微软似乎在随大流,支持一般的Web服务和服务接口。

    不过,West认为: “微软的做法有悖于SOA。SOA提供了开放标准,可以根据它们来构建,那样就有了一定的互操作性,可以使用不同开发商的产品。微软在Web服务方面却侧重于以微软为中心的方法。”

    Hurwitz在接受电话采访时说,微软“在现阶段意识到了SOA”。她说,这家公司在考虑“互联网服务总线”之类的方案,那样就可以对外开放微软内部的服务总线,从而满足该公司防火墙外合作伙伴的要求。据她声称,微软还没有完全解决许多问题,譬如服务治理、为客户提供找到单项服务的机制。她说: “微软正在这方面进行积极思考及规划。我认为他们还没有彻底地全面考虑SOA。”

0
相关文章