2007年09月12日 13:34 《信息周刊》杂志
与SOA共舞可能是赏心悦目的艺术,也可能酿成一场IT灾难,企业用户起码要学会如何在舞蹈中保持平衡。
虽然软件供应商鼓吹服务导向架构(SOA)的声音一浪高过一浪,但SOA对企业的商业价值究竟有多大,现阶段是否是部署SOA的最佳时机,显然是见仁见智。
最近,Nucleus研究公司(Nucleus Research)的调查显示,服务导向架构(SOA)有被市场的大玩家们夸大其词的迹象。“SOA被宣传得非常棒,但物极必反。”Nucleus公司高级分析师戴维·奥康尼尔(David O'Connell)认为。
该公司通过调查发现,企业部署SOA的实际比例没有宣传的那么高,因为SOA通常部署于单个项目或少数项目。“现在SOA都是部署在最好的部门,至少是限制在标准化的特殊的项目上。”因为如此,SOA的投资回报率也由于部署范围有限而受到了限制,调查发现,通常用户没有因为投资SOA而获得很大的回报,只有少数部署SOA的参与调查企业声称取得了回报。
预期与现实的差距正是SOA成长的烦恼,随着SOA逐渐成为一项主流技术,供应商需要帮助企业用户更好地评估他们的SOA架构部署。要做的事情还有很多。
制订标准
软件厂商们将SOA描绘成帮助企业提高开发效率,缩短开发周期,在异构环境下促进系统整合,以及通过使用标准化的可重用的组件优化商业流程的工具。目前尚没有充分的理由怀疑这些目标用途。但企业用户仍然充满疑虑:在没有统一标准的情况下,如何界定SOA呢?
事实上,供应商之间对SOA标准的认定还存在着分歧,目前尚不存在统一的SOA标准,各家都有不同的技术规范。对此,赛迪顾问股份有限公司软件产业研究中心总经理牟淑慧认为,SOA标准制定进程比较缓慢,在标准没有统一之前,对于中国企业而言,很难持开放的心态部署SOA。“在采纳SOA技术时,具体用松耦合还是紧耦合,颗粒度粗细要多大,这些目前都没有很好的标准,因此客户相对会比较谨慎。”易观国际有限公司建议,企业用户在技术选型时,应当对IT厂商在SOA国际标准或规范的遵从方面加以考察。如果不遵从SOA标准规范,将使其整合异构系统的功能大打折扣。
从这个意义上说,谁主导了SOA标准的制订,谁就将成为SOA市场的领导者。国际商业机器公司(IBM)正试图成为该领域的标准制订者,其在推动建立SOA标准方面表现的尤为积极。他与甲骨文公司(Oracle)、毕益辉系统有限公司(BEA Systems)以及中国的普元软件技术(上海)有限公司等18家厂商共同向结构化信息标准促进组织(OASIS)递交了旨在简化SOA应用开发的服务组件架构(SCA)/服务数据对象(SDO)规范,通过开放式标准过程进行推动。但目前为止,这仅仅是一个规范而非“标准”,微软公司(Microsoft)就独立于该规范的制定进程之外。有分析认为,SOA国际标准的制定和通过可能需要数年的时间。
“企业用户往往会有短视的行为,根据眼前利益上一些系统,结果要花很大的成本去整合这些系统。” 牟淑慧建议,在SOA早期应用阶段,企业用户尽量不要和一家厂商合作,而是要和供应商、咨询服务公司、集成商等多方合作,以免将来由于标准问题出现SOA“孤岛”。
培养人才
在推广SOA概念的同时,供应商也发现,企业用户普遍缺乏相关的SOA技能。《信息周刊》的SOA应用调查数据显示,四分之三的参与调查企业希望在部署SOA过程中借助外部资源。“只有客户也具备足够的IT能力,才能带来SOA真正的发展。”IBM 大中华区软件集团总经理拜特·德米克(Bete Demeke)表示。
供应商正采取行动加快SOA人才的培养。前不久,IBM与用友软件股份有限公司(下称用友)联合成立了“用友SOA创新中心”,加强双方在SOA领域的深层次合作,这也是IBM与合作伙伴在全球成立的第六家SOA创新中心。此前,IBM还和浪潮集团成立了SOA创新中心。
作为IBM培养SOA人才及技术合作计划的一部分,IBM希望通过这些合作,未来3年内帮助其他企业培养100个SOA高级架构师,1,000个SOA设计师,一万个SOA开发者。 “技术提供商、服务提供商、独立软件开发商(ISV)、集成商(SI),还有用户,大家需要一起应对挑战。”德米克认为。
SOA早期部署者通常积累了成功或失败的经验,对后来者也有启发意义。如同中国企业早期部署企业资源计划(ERP),较为成功的企业曾经培养出一批优秀的ERP人才,这些人才后来成为各个企业的抢手货。现在SOA的部署也在经历这样一个阶段。中远集装箱运输有限公司自2004年开始采用SOA搭建了新的EDI平台,其内部IT人员经过几年实践,积累了丰富的SOA应用经验,现在他们开始向其他企业提供相关的咨询服务。
降低成本
除了技术和人才因素,部署SOA的成本高昂也让企业用户踯躅不前。企业如果应用SOA需要支付不菲的软件费用和居高难下的咨询服务费。
“SOA提供给客户一个现代的、灵活的应用软件基础架构。但是用户需要不断地增加额外支出才可以最终实现目标。”红帽软件(北京)有限公司(RedHat,下称红帽)在接受《信息周刊》采访时称。红帽相关人士表示,如今IT企业的主管人员都面临着花更少的钱办更多的事情的挑战。
这就意味着他们需要一个灵活高效的应用软件基础架构去面对不断变化的商业需求。并且这些又不会花费大量的资金。为此,红帽把其开源体系结构整合成一套虚拟化操作系统平台,其中有一整套组件和展开基于SOA的解决方案。红帽希望这种符合开源标准的低成本部署模式能够吸引到更多的用户。
研究机构高德纳公司(Gartner)曾经预测到2010年将有80%的新关键业务应用会采用SOA技术,这显然也是SOA技术供应商所期望的。如果预言成真,届时SOA将成为一个巨大的市场。但在SOA技术成长曲线进入快速攀升期之前,供应商们必须先解决掉标准、人才、价格等拦路虎。唯有如此,SOA才能“飞入寻常百姓家”。
SOA部署的障碍
文化:SOA要求开发者重用其他人开发的代码,但开发者有时只想是代码的“创造者”,而不是“修改者”。
培训:开发者需要取得新的与SOA服务相关的技能,但通常缺乏培训基金。
成本:软件许可证和咨询顾问价格不菲,公司或分支机构往往不愿支付这些费用。
技术:供应商需要发现一种技术方式,帮助企业降低部署难度和部署成本。
内部拥护者的缺少:管理者自身没有SOA经验,也缺乏部署SOA的动力。
尽管技术厂商们合力营造出服务导向架构(SOA)的乐观前景,期望冲淡企业用户的观望气氛,并推动他们尽快部署这一软件技术。但更多的迹象显示,SOA越来越像早期状态的企业资源规划系统(ERP),能否成功部署取决于企业的业务驱动力、技术能力和推动决心。
与大多数新兴技术一样,SOA在中国的早期部署用户大多集中于电信、金融、航运等大型企业和政府机构。毕竟,只有这些具备较为成熟、完善、领先IT系统的用户,才有主动了解新技术与新趋势的强烈动力;同时,由于这些企业所处的市场环境变化快,存在建立更具灵活性IT基础架构的迫切之需,因此更容易率先采用SOA。
但较为审慎的观点认为,SOA在“试金石”企业发挥的价值尚不能就此盖棺定论。通常,新技术的早期部署都存在一定的风险性,对于新生事物SOA,企业用户通常不会一开始就全盘接受,而是采取逐步测试策略,需要较长的时间来衡量SOA价值。
过于强调SOA价值与趋势,而风险提示不足,这不能不令人联想起当年ERP早期应用阶段遭遇到的大规模部署失败经历。
因此,在技术厂商的积极推动与诱惑下,如何保持适合自身的应用平衡,正成为企业用户的一大考验。
部署前的准备
在ERP的第一波应用浪潮时期,中国企业内部治理结构与流程化软件之间的冲突酿就了ERP的多起失败案例。今天,类似的疑问同样落在了SOA身上。在现实的中国企业治理环境下,SOA需要正视市场需求,而不是试图构建理想中的“乌托邦”模式。
江苏省南京市玄武区政府基于SOA架构,搭建了统一的电子政务基础平台。不仅如此,作为该区“阳光政务”工程的组成部分,在电子政务平台之上,玄武区还成功地整合了财务、计生、民政、发改、卫生、市容等政务应用系统,建立了一个能够在线自动化处理行政审批业务的网上虚拟电子政务大厅。
不过,尽管玄武区政府信息中心主任吕明高度评价该项目的技术实现和技术构架,但是政府机构自身的行政划分,却使系统的许多功能未能有效发挥。吕明坦承,不管是基于国际商业机器公司(IBM)的架构系统,抑或是来自其他厂商的系统,还是玄武区自身开发的系统,都可以在SOA的架构里面得到重用,并通过基于标准却又具备灵活性的架构得到集成。项目同时也基本达到了政务公开的目标,大幅提高了政府办事效率。但是,这并不能真正实现信息的完全整合,比如工商、税务等市属垂直管理部门的数据目前依然很难整合到统一平台上,原因是目前行政管理划分上存在障碍。
一些国外的SOA应用案例显示,即便是欧洲企业,它们与美国企业在SOA的部署方式上也不尽相同。IBM软件集团WebSphere全球副总裁桑蒂·卡特(Sandy Carter)透露,欧洲企业采纳SOA比美国企业更快,这是因为SOA比较面向流程,而欧洲企业普遍对流程非常注重。英国的标准人寿保险公司(Standard Life)定义了300多个可重用的网络服务(Web Service)措施,并以这些网络服务搭建新的服务产品。该项目纯粹从技术入手,却通过SOA提升了客户关系管理和客户服务的能力。而作为典型的美国用户,美洲银行(Bank of America)采取了另一种模式。美洲银行部署SOA时,首先选择了企业服务总线(ESB),把原来的IT系统从点到点的连接转变为用ESB连接。
显然,不同的公司治理环境决定了不同的SOA部署方式。因此,卡特建议中国的企业用户,SOA部署可以从一个小项目开始,从而避免可能的风险。卡特特别提醒中国用户,需要多注意SOA的治理模型,以及流程管控,以保证项目顺利进行。
《信息周刊》2006年所做的SOA应用调查也发现,虽然大多数被调查企业都认可SOA的业务价值,但如何与公司管理层沟通该业务价值仍然是一个不小的障碍。对此,IBM表示,为了缩小IT团队与企业管理者之间对SOA的认识差距,该公司已经开发出了名为Innov8的互动SOA游戏,可以进行交互式的模拟业务流程管理(BPM)三维学习,帮助用户预见部署SOA过程中可能出现的各种问题。
复杂的中国市场
中国企业部署SOA的复杂之处并非全在于治理难题,还在于剧烈变化的市场环境。作为新兴市场,一些本土企业的商业创新甚至领先于跨国企业,因此也面临更多未知的问题。不过,这恰恰也意味着,为了洞察商业未来,中国企业需要建立更具灵活性、适应性、扩展性的IT基础架构,因此,SOA存在巨大的发挥机会和应用空间。
苏宁电器股份有限公司(下称苏宁)的目标是成为世界级的家电零售巨头,用他们的话说就是成为“行业标准的制订者”,但现实的市场形势并不容乐观。竞争对手国美电器控股有限公司收购了另一家重量级家电零售商永乐(中国)电器销售有限公司,扩充了门店规模及实力。苏宁的应对策略是,保持前台门店高速扩张,同时加强后台管理,包括建立高度灵活又能实现高度管控的系统架构,通过IT提升运营能力。“苏宁能够实现高速稳健的增长,在于前台、后台的投入是比较均衡的。”苏宁执行总裁孙为民称。
去年4月,苏宁上线了新的SAP零售业解决方案,如今跨地区跨平台管理,异地远程实时监控、业务托管等都已不在话下。目前,IBM公司又在帮助苏宁用SOA重新构架其IT系统,建立适合未来业务发展的流程,以实现更快的业务扩张。
但是,由于中国市场变化迅速,对于未来业务的发展以及流程的变化,多数企业不像苏宁拥有清晰的战略以及详细的规划。“部署SOA最好应该有一张明晰的路线图,”赛迪顾问股份有限公司软件产业研究中心总经理牟淑慧提醒道,部署SOA之前,企业用户最好做好IT规划,不然要么没完没了地修修补补,要么付出很大的成本去替换和整合系统,代价很大。
牟淑慧进一步建议,在实施SOA时,企业的原有系统如果利用率比较高,可以充分发挥原有系统的价值,通过对系统代码进行划分、打包、封装,实现可重用。在上线新系统的时候,则要注意与原有系统的接口,要用基于SOA的思想去设计规划新的信息系统。
业务驱动
经历过早年赶时髦盲目上马ERP的惨痛教训,中国企业对部署新技术的态度正变得越来越现实与客观。部署SOA应由业务需求驱动,正成为企业的共识。中国移动集团公司山西有限公司(下称山西移动)当时采纳SOA,正是出于应对移动通信产业剧烈变化带来的业务转型压力之举。
近几年以来,随着电信与IT工业的融合,三网在IP上的融合,使电信、媒体和互联网的界限越来越模糊,谷歌公司(Google)、雅虎公司(Yahoo)等给移动通信产业带来了观念和现实的冲击。“一般5年就会有一次大的技术变动,而电信行业每过7年就会有大的变动。因此,再过3年电信行业就会非常困难非常艰苦。”山西移动IT规划研究室主任陈钢认为。
互联网创新技术的挑战使移动通信公司不仅对新技术非常敏感,而且更加强调服务模式的创新,并通过细分市场服务不同客户。“通信已经不是‘业务’而是一项‘网络服务’,”陈钢说。业务流程已成为移动通信企业的制胜关键,山西移动也必须通过流程改进,将后台系统前移,从而适应市场的变化。
作为中国移动通信集团公司的全资子公司,山西移动成立之时,中国的移动通信正处于飞速发展时期,在短短的6年里,山西移动迅速成长为年收入达68亿元,服务网点覆盖山西全省上百个县(市),用户愈750万的大企业。
经过近6年的努力,山西移动在业务快速增长的同时,建成了以支撑网络、网管中心和基于办公自动化的企业业务管理网三大分支为主体的IT基础架构体系。而在每一个分支下面,又包含若干个应用系统,比如支撑网就是由计费系统、数据仓库系统和客户服务系统等应用系统构成的复杂体系。然而,这样的IT应用结构,真正面对不断变化的客户服务需求时,往往因为业务流程间缺乏统一的规划,致使服务于不同业务的流程彼此相互分割。
于是,山西移动痛下决心改造IT架构,而改造的核心是SOA。“SOA可以实现内外部的协同,可以做到随处可用、良好信用、简单易用。”陈钢认为。
山西移动的业务流程改造目标是从网络为中心转变为以服务为中心,成为实现“信息专家”的战略定位。这一目标驱动了IT架构向SOA的转变。“只有快速应变的架构才能在今后的5年内成为幸存者。”陈钢说道。
目前,山西移动通过基于SOA架构搭建“企业创新业务平台”,构建了流程清晰、响应及时的业务服务体系,帮助企业快速应对市场需求和变化,实现创新;同时,灵活的、可扩展的企业IT基础架构平台可以有效提升企业运营效率、IT系统灵活性以及客户服务水平。至今,山西移动的客户投诉响应时间已经从数天降为5分钟;客户综合信息查询时间从15分钟降为实时。
“SOA能够帮助中国企业提供快速的产品和快速的服务,从而应对全球化的压力。”IBM大中华区软件集团总经理拜特·德米克(Bete Demeke)表示。他认为,SOA主要面临技能的挑战,包括业务的驱动以及企业IT的能力。
“首先要看这个企业有没有业务驱动力来做,比如提高客户需求、进入新市场、提供好的服务等,要找出他们的业务驱动力。”德米克透露,IBM会根据企业的业务驱动力排优先级;既可以提供端到端的解决方案,又可以从SOA的5个切入点单个切入;或者先进行人员、流程、信息整合;再或者从IT角度进行系统的整合。
毋庸置疑,新兴技术总是机遇与风险并存。与ERP的早期应用类似,SOA可能会改造出全新的企业运营模式,也可能酿成一场IT灾难。在欣欣向荣的SOA浪潮中,保持足够的清醒以及对业务趋势的深入认识,对企业用户与SOA的共舞有百利而无一弊。
华电集团的SOA实践
SOA在中国华电集团公司(下称华电集团)不仅意味着整合,而且意味着新应用平台的建设。该集团信息中心主任唐义良分析道,国内发电企业IT面临诸多挑战,包括IT治理如何促进业务部门和IT部门的协作;IT架构如何适应业务的流程变化;以及如何集成异构系统的数据等。
为此,华电集团希望建立新的架构平台,支持灵活的企业目标和业务模型,适应快速变化的电力市场;实现各地电厂信息资源的共享;将现有系统功能模块改造成可重用的独立服务;培植并构建新的服务和新的流程。
在实际操作中,华电集团采用了两条产品线,一条包括IBMDB2 V9数据库,IIG系统,Websphere中间件以及Netapp存储和Juniper网络系统。另一条则采用了Oracle数据库和毕益辉系统公司(BEA Systems)的Weblogic中间件。
华电集团在新的平台上全面采用J2EE的架构。“我们的SOA策略是:采用面向服务的集成策略,在SOA环境下应用WEB服务进行集成,并逐步过渡到SOA架构的实施技术路线。”唐义良说道。
唐义良强调,华电集团新建的系统一定要在SOA平台上建设;而不是新建一个系统,再在SOA平台上整合。此外,项目团队的组成也十分关键。华电集团的SOA项目管理由决策层、领导层、业务需求管理团队、项目建设运维团队组成,同时由数据库管理员、流程管理员、门户管理员以及存储管理员等提供技术支持。
让CEO接受SOA的10条建议
一、谈业务,而不是先提SOA。在进入技术层面的讨论前,要用业务的语言,说明SOA带来的价值和好处。这些价值和好处,要和企业的目标挂钩,比如成本降低、提高生产效率、增强竞争优势等。
二、展示前景,而不是具体描述。概括出SOA策略的长期和短期结果,避免讨论具体的描述性数据。
三、在整个公司建立共识。在公司招募志愿部门先参与小型试验项目。通过这些小型项目来证明SOA的价值。记得,要让那些以后你需要的部门领导们参与进来。
四、从小事做起,但要有宏观视野。在选择小型测试项目时,要选择那些在整个公司都广泛使用、具有全公司积极影响的业务流程先进行整合和自动化。
五、不要再说SOA这三个字母。虽然这个技术术语非常容易被记住,大家也很容易理解,但记住,当你想向CEO证明这是一个重要的策略性项目时,他们可能并不理解这三个简写字母背后的深刻含义。
六、单刀直入讨论最重要的要点。不要用复杂的PPT演示文档,这可能会让会议达不到真正的目的。
七、信心和预测。清晰明白地说明实施SOA的每一步目标,公开宣传企业基于SOA后可以实现的目标。比如提高多少生产效率,或者降低多少百分比的成本,这样就能比较容易地树立起对整个项目和战略的信心。
八、引用第三方研究数据来验证。引用分析师的数据来说明SOA的部署和增长,阐述SOA在同行业中的成功故事(特别是竞争对手的)。
九、谈话结尾:SOA会带来什么?阐述采用SOA前后对企业的具体影响,消除敌意,赢得CEO的支持。
十、定性与定量。在实施SOA过程中,每一步都要制定目标,追踪表现结果,并优化方法。定期与利益相关方分享结果,证明公司SOA部署的成功之处。
—摘自IBM软件集团WebSphere全球副总裁桑蒂·卡特(Sandy Carter)的网络日志
Web服务通常被视为组织间共享数据的途径:企业可以有选择地向客户、合作伙伴以及供应商开放内部系统,从而将原来需要人工处理的交易自动化。虽然迄今为止多数企业依然尽力避免走这条路,而将Web服务置于防火墙的保护之下,但是随着服务导向架构(SOA)的发展和Web 2.0的出现 ,这一切都有可能改变。
向Web开放内部服务是否过于冒险?虽然SOA安全标准不成熟加剧了互操作性的负面影响,但这并不能成为决策依据。欲对有多个企业参与的大型Web服务网络进行配置,以确保其安全,所有参与者必须就所采用的技术和安全策略达成共识。否则,就会出现不合理的局面:一方面,你要求自身的雇员使用生物测定技术或者身份标志来验明正身,另一方面,合作伙伴的员工只需要通过弱口令认证就可以访问你公司的系统,这样的安全防护,毫无意义。
在采购任何SOA安全部件之前,需要先对SOA安全进行深入研究,因为市场始终在变。无论如何,眼下如火如荼的SOA运动对IT部门而言,终究是好事,因为这样一来他们手中会有更多的选择,需要打交道的厂商也少了。与此同时,采购决策的过程也变得更为简单。
例如, 将Web服务暴露于互联网,需要基于可扩展标记语言(XML)的防火墙,也称为SOA安全网关。然而,随着SOA技术的不断整合,这一产品类型已开始销声匿迹。
现在,从管理平台到核心交换机在内的所有产品都添加了XML防火墙功能。选用何种产品、到底是用硬件还是用软件,取决于每个企业Web服务的规模、预期增长、以及现有的SOA基础设施等因素。此外,虚拟化技术还进一步加大了系统选择的难度。
加密和认证的决策更为艰难。因为那并非只取决于某一个组织,而是接触Web服务的所有组织都必须使用同样的技术。然而,现在这一领域存在着好几个相互竞争的标准,加深了问题的复杂性。
这些标准之间最大的冲突在于身份管理。这个复杂过程的目的是确保登陆用户已被授权使用该公司合作伙伴的系统。目前有两个互不兼容但功能相近的标准。一个是安全性断言标记语言(SAML),这一标准已经得到几乎所有公司的支持,唯一的例外是微软公司(Microsoft,下称微软);微软更喜欢较新的WS-Federation标准。后者与其他Web服务标准的关系也更为密切。虽然二者都用XML,但是彼此并不兼容,因此那些推行公共Web服务的企业要么同时支持这两种标准,要么需要确认其所有采用安全Web服务的商业合作伙伴选择的是同一个标准。
看来,得有未卜先知的本事,才能在两者间做出合理的决策。
各种相关信息
所有Web服务安全技术均建立在XML加密(XML Encryption)和XML签名(XML Signature)的基础之上,W3C标准用于在XML文档和信息内嵌的加密数据和数字签名。由于XML加密技术无需对全部信息进行加密,因此IT部门可自由选择:可对
信用卡号码等个人数据进行加密,而敏感度不高的信息和SOA元数据无需加密即可传送。也可给文档的不同部分分配不同的密钥,以使其只能被指定的接收者读取。
但这也有不利的一面:由于参与者必须首先就加密数据的位置、加密元素和如何交换密钥等问题达成一致,因此散布于XML信息中的加密数据会导致互操作问题。为解决上述问题,结构信息标准化促进组织 (OASIS)建立了WS-Security标准,以在Web服务中应用XML安全(XML Security)和XML加密。
WS-Security标准是WS-*系列标准中最成熟的一个,几乎所有Web服务和SOA厂商都支持这一标准。其主要缺点是:与所有的WS-*系列标准一样,也采用简单对象访问协议(SOAP),因此凡业务依赖于REST Web服务的公司,都不适用此标准。 REST(Representational State Transfer)意为具象状态传输,采用这种模式,可对不用SOAP的XML Web服务进行描述。
选择REST而非SOAP的主要原因在于它的简捷,多数REST用户仍然使用SSL协议。这是由于REST采用HTTP协议,而且往往被用于点对点连接,故而SSL隧道通常已能满足其需求。在应用了REST以后,企业如果希望对消息层进行加密,就需要建立其自己的协议和数据格式。
对于多数企业而言,将所有商业合作伙伴组织起来,并为REST设计定制的、安全的XML格式,实属不易,WS-Security标准因此而成为采用SOAP的最强有力依据。尽管如此,亚马逊公司(Amazon.com)和谷歌公司(Google)等大型Web服务提供商纷纷各显神通,使用安全身份标识(Security Token),成功地应用了REST模式。这样做虽然有沦为专有技术的顾虑,但仍然受到了用户的欢迎:亚马逊也提供遵从WS-Security的SOAP接口,但发现客户更青睐REST,使用二者的用户比例为5:1,因为多数亚马逊用户仅仅是访问亚马逊服务,而不是用之建立完整的SOA,所以也就用不着SOAP的复杂功能。
统一身份
尽管WS-Security标准有助于SOAP信息的加密和签名,但该标准并未涉及任何有关认证、授权和计费(AAA)或者安全策略的内容。这些问题由安全领域的其他标准解决,并且所有这些标准都以WS-Security为基础。(参见边栏《安全标准,过犹不及?》)。
虽然目前这些标准由于太新而无法对用户产生足够的影响,但是其中多数最终将得到企业服务总线(ESB)和Web服务管理领域所有厂商的支持。
唯一的例外是统一身份的问题,也恰是在这一领域,安全标准新秀WS-Federation和WS-Trust对OASIS组织发布的另一成熟标准SAML 2.0发起了挑战。采用统一身份的目的在于:将认证与被访问的资源分隔开来,以实现单点登录。用户登录到某身份提供者的系统,后者为之提供凭证,该用户即可使用此凭证访问多个不同资源。凭证与数字证书近似,在SAML中称之为“断言”,在WS-Trust中唤作“标识”;一般用凭证来担保用户身份,并在认证时添加一些信息,例如用户在何时以什么方式登陆。SAML作用于整个单点登录过程,而对于WS-*来说,这一过程由两个标准共同完成:WS-Trust负责处理内部认证和标识的发放,WS-Federation负责管理用这些标识访问其他资源的操作。
实际上,二者的主要差别在于:SAML直接使用XML加密和XML签名,这意味着它与REST兼容;而WS-Federation则采用SOAP。SAML拥有庞大的客户群,但是这实际上意义不大,因为微软一直在全力推进WS-Federation,并表示不会支持SAML。
与其他的标准之争不同,在这一案例中,并非是微软与其他所有公司的简单对抗。一方面,微软与国际商业机器公司(IBM)共同开发了WS-Federation标准,而后者同时也是SAML的拥趸;另一方面,SAML阵营中其他所有厂商均已承诺,如果WS-Federation存在市场需求,他们都会支持这一标准。从长远来看,二者将会并存:微软和SOAP环境会选择WS-Federation,而REST Web服务则是SAML的天下。
防火墙置于何处
在互联网的发展过程中,防火墙是最早推动Web服务普及的因素。虽然不同的组织采取不同的安全策略,但是几乎所有组织都需要开放80端口(编者注:Web服务端口),所以厂商和标准组织纷纷倾向于采用运行在HTTP之上、基于文本的协议。
当然,攻击者和恶意软件也持同样的态度。
因此,在互联网上发布Web服务的公司传统上往往使用应用安全网关,这些设备可以读取并理解应用层文档,从而能过滤潜在的攻击。虽然好产品的功能不仅限于XML领域,通常仍称这类设备为“XML防火墙”。尽管基于浏览器的富互联网应用(RIA)开发人员往往认为XML过于庞杂,而喜欢用JavaScript对象表示法(JSON)或纯文本格式,但REST Web服务仍可在HTTP或URL中对某些信息进行编码。
安全网关不仅仅是防火墙,它具备SOA管理套件的所有功能,可以处理认证、授权和计费。当Web服务作为企业SOA的一个接口存在时,安全网关通常需要在Java信息服务(JMS)和HTTP之间进行转换,原因在于多数SOA在其内部并不使用真正的Web服务。
除非连接到外部世界,否则能穿越防火墙反而成为一大不利因素。
此外,网关需要先对文档进行解码,然后才能对之进行有效审查,因此不管采用SSL、WS-Security或SAML格式,多数网关同时也负责加密和认证。由于识别攻击要用到深度包检测技术并能理解XML,因此XML转换和路由也要用到安全网关,而且由于采用了专业化的SSL或XML加速硬件,安全网关在此方面往往优于管理软件。
现在,绝大多数安全网关仍是独立机箱,安装方式与传统防火墙相近,由专业厂商销售(参见图表《网络中的安全网关》)。
安全网关厂商的先行者中,有4家已成为他人的囊中之物:Sarvega公司为英特尔公司(Intel)所购;NetScaler公司被思杰公司(Citrix)收至麾下;IBM和思科公司(Cisco Systems)分别买下了DataPower公司和Reactivity公司。除了英特尔之外,其他几家现在仍然销售网关产品。英特尔则利用Sarvega技术帮助其他厂商,围绕标准CPU而不是定制ASIC芯片开发XML软件或设备。
思杰的NetScaler设备集成了XML防火墙与应用前端(AFE)。思科也计划将Reactivity集成到其应用控制引擎(ACE)产品线中,以达到同样的集成目标。
由于AFE位于网络边缘,而且用于加速SSL,因此,无论对于客户还是期望挺进新市场的AFE厂商而言,AFE与XML防火墙的集成都可谓意义重大。F5网络公司(F5 Networks)也宣布将会销售自主研发的XML防火墙,而且其竞争对手很可能会步其后尘。
利基网络公司(Layer 7 Networks)、 Vordel公司和Xtradyne公司等其他独立安全网关厂商则与之背道而驰,以软件和虚拟化为发展方向。
其中,Vordel公司和Xtradyne公司始终将其网关产品作为软件来销售,运行于专用刀片服务器环境。而且这几家公司都极推崇虚拟设备,利基网络公司和Vordel公司已开始销售运行于VMware系统环境下的软件。
虚拟化的机会
尽管如此,虚拟设备还无法与专用服务器相提并论,这也是为什么Vordel公司现在更关注对其虚拟软件进行测试和集成,而非产品化。利基网络公司成立伊始,就将自身定位于采用专用XML和SSL硅技术的定制设备厂商。在他们眼中,对于那些尚无法确认是否该采用专业硬件设备的小公司而言,虚拟化技术不失为一个切入点。尽管“纯软件”迄今听起来仍像是出于预算考虑的折衷之策,但很可能虚拟设备很快会应用在各种规模的企业之中。
虚拟机的性能在迅速提升,而且虚拟化带来的灵活性在SOA应用中有着特别的意义。由于要大量部署并再利用新服务,SOA架构需要进行调整,而借助虚拟化技术,可以迅速地将硬件设备在不同任务之间进行再分配。但是,只有其他服务器也实现虚拟化,才能共享硬件资源,而这会导致安全性问题。尽管很少见到有关VMware安全漏洞的报告,但管理多个虚拟机的工作异常复杂,因此很可能会有数据流偶尔绕过防火墙。
鉴于安全网关与Web服务管理软件之间存在太多的重复功能,二者目前已开始融合。DataPower公司和Reactivity公司在被收购之前均已进入管理软件市场,而且至少还有另外一家防火墙厂商也计划效仿。迄今为止,管理软件厂商尚未在其软件中添加完整的XML防火墙功能以进行反击,原因在于,其软件均运行于整个SOA平台之上,而非边缘部分。
由于SSL的盛行,安全网关普遍具备SSL加速功能:甚至虚拟设备厂商也支持搭载SSL加速卡的硬件。相形之下,XML加速要罕见得多,只有利基网络公司、思科和IBM的设备采用专用XML芯片;IBM是自行研发,思科和利基网络公司用的是Tarari公司的技术。形成这种局面的部分原因在于,英特尔利用Sarvega技术帮助其他公司开发XML产品,但主要还是由于应用层加速的市场需求不足;而且,利基网络公司相信,硬件市场会逐渐过度到软件。
对于那些负责传输SOAP或SAML信息等较长XML文档的Web服务来说,XML加速的价值难以言喻;而在定位于支持基于浏览器应用的Web服务中,这一技术用得不多,原因在于这类服务在每个会话中传输的数据都很少(可能只有一个XML元素或者JSON对象),而且置于TCP/IP和HTTP包头中。由于JavaScript和Flash客户端无需为用户的每次操作刷新整个页面,因此多数Web 2.0应用中涉及的应用层数据传输,要少于用静态可扩展超文本置标语言(XHTML)开发的同类应用。
尽管如此,Web服务器在RIA中还占有一席之地。尽管RIA可能会减少XML传输,但他们也会极大地增加服务器需要处理的HTTP连接的数量。多数RIA并不等待用户点击链接,而是实时运行,每隔几秒钟就需要建立新连接。而采用SSL加速和其他AFE技术,包括负载平衡和HTTP压缩在内,往往可以减轻因此而
超载的服务器的负担。
影响评估:SOA安全
● 收益 ● 风险
IT部门对合作伙伴开放应用编程接口(API)对IT部门而言没有多大益处,这也是为什么推动SOA应用的往往是高级管理层,而业务线关注的则是Web服务。采用第三方API完全是另一回事,因为那可减轻内部开发负担。
虽然有时不免夸张,但Web服务的安全性仍然会对IT部门产生实际影响。即使各方面都是安全的,由于外部用户对内部系统的访问而产生的额外负担仍是一个问题。
商业组织短期来说,由于所有组织需要采用同样的数据格式和标准,因此对每个组织而言,公共Web服务都属于额外工作。但是投资目的在于简化操作并提高灵活性,从而获得长期回报。
理论上,部署SOA的Web服务,就是调整IT,以适应业务流程,别无他法。但是上述理论并非总能适用于实践,尤其是在考虑到安全性时。防止数据泄漏,需要所有雇员共同努力。
商业竞争Web服务可以简化组织与合作伙伴、供应商、客户、以及潜在客户之间的互动,从而提高了组织的竞争力。部署SOA,可提高组织主要基础设施的适应性,有助于持续使用。
某种程度上,Web服务是一项无坚不催的技术,他可将曾经的竞争优势迅速商业化。而其竞争性技术标准SAML和WS-Federation则会带来额外的挑战。
结论
SOA和Web服务的对外开放引发了新的安全问题,而为解决这一问题又形成了新的商业挑战。尽管某些XML防火墙功能必不可少,但是每个企业仍需“因地制宜”地决定到底部署哪些产品。在进行加密、认证、和身份管理的决策时,需要将外部参与者纳入考虑范围。
名不副实的“一站式采购”
安全标准,过犹不及?
在服务导向架构(SOA)领域,标准无处不在。Web服务(WS-*)更是会继续膨胀,以影响到所有可能的简单对象访问协议(SOAP)应用案例。尽管如此,专门针对安全问题而制定的标准却屈指可数,而那些无所不包的标准则环环相扣,彼此依赖。现在,SOA领域的“物质基础”已然尘埃落定,而“上层建筑”仍在建立之中。?? WS-Security 1.1。 描述如何将XML加密(XML Encryption)和XML签名(XML Signature)应用于SOAP文档或信息。此标准得到了所有厂商的支持,同时也被用于其他所有与安全相关的WS-*标准中。其最新版本发布于2006年2月,很可能也是最后一个版本,因为未来的改进将被纳入其他标准。?? WS-SecurityPolicy 1.2。 对哪些人被允许访问某个服务以及访问方式做出规定,并对认证方式的类型和/或所需要的加密等级做出限制。他是Web服务策略(WS-Policy)的子集,以更为通用的方式对服务的能力和限制进行描述。此标准由国际商业机器公司(IBM)和微软公司(Microsoft)共同开发,并于2007年7月正式确立,最终将会得到所有厂商的支持。
WS-SecureConversation 1.3。 是按照WS-Security标准,实施WS-SecurityPolicy中所描述的策略的方法。此标准于2007年3月通过审批;与此同时,IBM和太阳计算机系统公司(Sun)演示了此标准的实施过程。尽管现在鲜有客户使用此标准,Actional公司、毕益辉公司(BEA Systems)、思科公司(Cisco System)、CA公司、利基网络公司(Layer 7 Networks)、甲骨文公司(Oracle)、Reactivity公司、RSA安全公司(RSA Security)以及VeriSign公司等其他厂商也都表示支持此标准。
WS-Trust 1.3。 应用WS-Security标准传输密码、数字证书以及安全性断言标记语言(SAML)断言等安全标识。非SOAP Web服务与XML密钥管理规范 (XKMS)和SAML有部分相同之处。?? WS-Federation 1.1。 根据WS-SecurityPolicy中描述的服务规则,应用WS-Trust中提到的被传输的安全标识,通过Web服务的认证。由于与SAML的许多功能相同,目前尚未得到广泛应用。相较SAML,他的主要优势在于,Windows操作系统支持这一标准,而且与WS-*之间结合紧密。
——文/Andy Dorna 译/许建章