4、SOA会给网络性能和管理带来怎样的影响?
顾问David Jacobs在写给IT专业人士的文章中写道,尽管SOA有诸多优点,它肯定会给你的网络带来负担,因为要求增加了,还有复杂的网络管理及运作。
他强调,因为SOA中的每个应用都由许多单个的软件组件组成,所以网络上任何地方出现故障都会导致该应用瘫痪。部署SOA之后,监控网络、立即应对问题方面的能力显得尤为重要。
据Jacobs声称,评估网络性能的方式可能也会有所变化。吞吐量等尺度具有误导性,因为每个流程会使应用组件之间形成错综复杂的关系。因为其中的每层关系本身涉及少量数据,所以总的事务处理速度和响应能力成了重要的衡量尺度。
他强调: “生产力由用户事务完成多快来衡量。组件之间每次交换所需的数据速率和时间是影响事务处理速度的一个因素,但只是其中一个因素。管理软件必须能够在应用层面检测出问题,然后深入分析、查出问题根源。”
在安飞士公司,监控网络性能和管理是IT主管试图向该公司更多部门推广SOA时面临的难题之一。Kumar说: “许多用户分布在没有足够带宽的小地方。要是我们开始大规模推广开发而成的这项SOA功能,网络带宽会成为瓶颈。”
安飞士现使用SOA提供客户服务,譬如预订、结账及寄送发票。带宽可用性对企业内部用户来说没什么问题,但Kumar认为公司很难为远程用户提供足够带宽。
Hurwitz强调,SOA在可扩展性方面会带来问题,这要看公司在防火墙外面在多大的范围内联系客户、供应商和合作伙伴的系统。她说: “但我认为,这对网络带来的影响与部署需要通信功能的各种分布式应用对网络带来的影响没什么不同。”她补充说,ESB有助于为组件和服务之间的联系提供便利。
Linthicum Group LLC的顾问David Linthicum认为,SOA技术开发商更加注重增强特性和功能,而不是提供可扩展性,为此付出代价的自然是用户。
他写道: “最近采用的SOA技术和方法基本上没有经受更大的应用、信息和服务管理流量负荷的检验。SOA实施者满足于让解决方案启动及运行起来,但在许多情况下,根本没有考虑SOA的扩展性这个方面,也没有考虑负荷测试或者其他基本的性能方面。我们看到了这种疏忽造成的后果,因为SOA问题领域超出了其架构及技术的能力范围。”
Linthicum 建议在将SOA投入到生产环境之前进行性能建模,并测试实际场景。他写道: “只有进行测试,才会知道它的表现如何。”他还建议在每项SOA服务的源头增强处理功能,从而提高性能。
5、如果IT部门使用SOA,安全要求会变化吗?
安飞士公司的IT主管在开始实施SOA时,以为安全只是次要问题; 现在安全成了他们非解决不可的最紧要问题之一。
使用SOA有助于与业务合作伙伴建立新渠道,而安飞士必须确保像司机的驾驶证和信用卡信息这些敏感数据在数据库内部及传输途中都经过加密。
Kumar说: “你会有队列,会有数据库,也会有渠道,所以我们力求每个过程都是安全的。你构建的是更加分布式的环境。从安全角度来看,管理起来更难了。这种环境里面有更多组件,而不是像在比较集中的大型机环境下,你只要关注一个地方。”
身份管理是IT管理人员在SOA方面必须克服的重大挑战之一。
Hurwitz说: “要是在SOA环境下,同一业务服务可能会有10种不同的使用方式。你要确保已落实了安全体系,表明谁在什么情况下可以访问哪些资源等等,这样情况变复杂了。在某些方面,风险也更大了,因为你在重复使用许多服务; 你一定要确保在这上面有合理的安全级别。”
Saugatuck Technology公司的West在去年发布的研究报告中写道,传统的应用安全机制“在SOA下毫无成效、使用不便”,因为针对不同应用,身份和访问权限(包括密码和特权)也大不相同。
事实证明,单次登录在大企业环境下还不具有扩展性; 要是运用到横跨多个业务合作伙伴的SOA环境下,单次登录会因隐私和竞争问题而变得更为复杂。
相对来说问题不大的是联合身份管理方案,它的工作方式是,信任安全声明来源,并使用安全声明标记语言(SAML)。West写道,对访问控制信息的请求可以编入到浏览器请求或者加入到Web服务事务中。他说: “这样一来,身份管理服务器可为应用所响应的用户生成有关身份和权限的声明。应用、服务或者‘封装起来的’服务接口就不需要访问目录或者信任单个用户,因为它只要知道及信任安全声明和声明来源即可。”
West认为在众多业务合作伙伴、客户和非员工之间传输数据时,SOA有着自己特有的漏洞,需要在企业内外多个方面加强管理。
Mengerink显得比较乐观,他说,部署SOA之后,安全实际上变得容易了。不过这仅仅是相对于PayPal在保护网上支付时面临的巨大任务。他强调,PayPal的SOA是完全为了开发人员而提供的。
他说: “我们在网上的受攻击面实在太大了。现在‘你只要在我们网站上进行注册、输入名字,我们就知道你是谁,会给你一个特殊令牌,然后允许你与我们进行对话’,这就建立了一条非常狭窄的联系通道,外人无法窥视,因而安全大大提高。不然谁都可以上www.PayPal.com网站开始攻击。”
6、SOA有哪些“阴暗面”?
安全显然至少给一部分部署SOA的IT主管带来了挑战,不过安全不是在构建面向服务的架构时会发现的惟一一个“阴暗面”。据Fulton声称,SOA的其中一个“阴暗面”是,很难提供数据的统一视图,也很难访问多个业务服务上的数据。
原有软件可以重复用于新的业务流程是很好,但同时暴露了大多数企业的一个致命弱点: 它们的客户数据会随着时间而发生变化。
Fulton举了个例子: 五年前,有线电视公司只要向客户居住的公寓或者房子寄送账单,对方就能收到。而如今,客户可以在多个地方收到账单。这只是很小的变化,可是原有应用对此束手无策。所以,可以操纵服务的所有构建模块来迅速做事,但一定要弄清楚如何统一数据。人们仍在为解决这个问题而努力。”
他说,目前大约有15家开发商在提供成熟的ESB,不过业界在管理数据方面的技术还不太成熟。
很难获得新SOA项目所需的资金是另一个潜在的不利因素。Kumar说,就算从长远来看,SOA确实能够为公司节省费用,还是很难说服掌控预算的人把眼光放远些。
他说: “现在的整套做法是按照具体的项目来进行拨款的。每个项目都要证明各自的投资回报。现在,我们让人们对SOA引起了注意,不过还是很难让财务人员明白不能着眼于单个项目的道理。”
Hurwitz声称,SOA的“阴暗面”就是“它根本不关技术”。她说,引起问题的是开发这项技术的人员,如果他们没有与公司的业务人员进行协作,或者没有考虑公司其实需要哪些服务,更是如此。
她说: “要是你构建了1万项业务服务,它们可能过于细化了,所以很难使用。这不会给你带来多大的帮助。阴暗面就是没有把它做好。”
Fulton则认为称“阴暗面”为 “影响面”更合适和中性一些。比如其中一个影响就是,需要购买技术来支持SOA; 另一个影响就是,要是有人认识到面前有众多产品要选择,就会产生混淆。
他说: “现在市面上有ESB、SOA管理产品、管理Web服务的产品、用于Web服务的硬件加速设备以及网关等等。问题在于‘我到底需要什么?’当然,实际答案是‘这还要看具体情况’。不过许多人说‘告诉我要买哪些东西,那样可以开始构建SOA’。这恐怕是对待SOA的糟糕至极的态度,因为你最后可能把钱浪费在了不会充分利用的东西上。”