跨越企业拓展SOA的优势

日期: 2008-05-05 来源:TechTarget中国

  概述


  通过面向服务架构(SOA)创建IT基础架构,已经在IT社区中得到了广泛的认可。这样做的好处是引人注目的,包括通过对已有的代码进行重用来快速部署新的功能(降低开发成本)、灵活性(提高对业务需求的反应速度)和降低维护成本(让工作人员有时间去进行自主创新的工作)。


  尽管大多数的SOA平台能够支持企业内部的应用程序,但是还有一个更大的机会,使用SOA能更容易得进行跨企业——在企业和他的合作伙伴或者客户之间的应用系统整合。基于SOA的企业对企业 (以下简称B2B)架构不仅能够降低开发成本,还可以提供附加价值链经济体系并且降低项目风险。因为SOA能够利用因特网技术以及基于因特网的标准,基于SOA模式的B2B平台能够很好的降低合作伙伴的负担并且能够简化企业与合作伙伴或者客户之间的通讯与交流。


  SOA—企业应用集成的正确方法


  通过面向服务架构(SOA)创建IT基础架构,已经在IT社区中得到了广泛的认可。在SOA之前,企业的应用系统都是通过那些独立、单一的应用程序来进行发布的,这些应用程序之间无法进行沟通。集成这些应用系统是一项费时费力的工作,经常会产生无法重复利用的客户定制的解决方案。使用SOA,应用程序功能会被分解为被称为“服务”的可重用组件,这些“服务”组件各自执行离散的功能。这些服务组件可以被组合成具有更高级别业务功能的复合应用系统。这样IT架构就可以快速的部署可重用的、灵活的并且维护成本低的应用。


  目前,大多数的SOA应用都被部署在防火墙之内,也就是说他们主要被用来在企业内部集成应用系统。但是还有一个更大的机会,使用SOA能更容易得进行跨企业——在企业和他的合作伙伴或者客户之间——的应用系统整合。实际上,许多最经常被引用的SOA的优势——更有效的与业务伙伴之间的集成;更好的供应链协作;增加全球性采购和更有效地利用外部服务提供商——是B2B的好处。很明显,实现SOA的全部潜能包括跨越防火墙拓展他的应用,在企业的合作伙伴和客户的完整的应用系统中更容易的实现端到端的自动化业务流程。


  防火墙之外的SOA:加强合作的机会
  
  由于越来越多的价值链趋向整合,比如全球外包,在许多行业中,B2B架构整合已经成为保持竞争力的必要手段。因为企业之间对于合作伙伴的系统只有很少的可见性而且不可控, B2B集成的设计与部署相比企业内部的集成有更多的困难。而且一个B2B平台必须要处理一些特定的问题,比如安全、审计、事务管理和交易通讯管理。结果导致很多B2B系统都比较复杂,部署起来比较麻烦而且维护成本昂贵。如果使用SOA,那么B2B系统就可以获得和企业内部集成一样的好处——通过可重用的功能快速部署,灵活的应对需求的变化并且降低开发和维护的成本。如果使用平台无关的因特网标准,比如SOAP或者XML,那样与合作伙伴间的不同类型系统的通讯就会更加容易,SOA就能更容易的进行B2B的集成。


  为什么现在要为B2B引入SOA?答案是:标准。


  B2B集成的所面临的一个巨大的挑战就是缺乏行业范围内的分布式计算标准。尽管那些特定平台的分布式计算标准早在90年代末就开始竞争主导权,比如COM和CORBA;直到因特网的成熟,那些真正平台无关的分布式计算标准才得到广泛地接受,比如XML和SOAP。实际上,这些标准最初的设想是企业对企业的功能,比如电子商务枢纽、第三方信用检查、外包物流服务。与一个可以开放给任何系统的独立的集成框架一起,这些标准就可以实现平台无关的SOA。企业可以在B2B集成中利用这些技术,那他们就有机会超过那些仍然陷入在昂贵的、私有的遗留系统中的竞争对手。
 
  为了展示使用SOA进行B2B集成的潜在优势,设想一个供应商管理库存的例子。通常,企业和他的供应商可能会通过一个运行在私有增值网络(VAN)上的客户定制的,基于文件的电子数据交换(EDI)系统进行交互。尽管这种类型的连接能够提供基本的功能,但是他有很多局限,尤其是企业想充分利用B2B在协作方面的优势的时候。比如,供应商想要从一个或者多个客户的后勤办公系统中获取库存信息的时候,客户必须要对此进行开发编码。这些信息必须被打包并且通过EDI发送给供应商。如果底层系统改变了或者信息发送方式改变了,代码就必须进行修改。此外,每一个供应商都要开发实现端到端系统并且承担昂贵的VAN连接费用。因为这样的系统是静态的、不灵活的,合作伙伴无法获取像一种绑定到一个动态式样的新产品的库存信息。然而,有了这些灵活性,就会获得很多协作方面的优势,比如供应商管理库存。


  现在考虑如何通过SOA创建一个供应商管理库存系统。首先,一个合成的“查看库存”的应用程序会被创建。这个应用程序可能会访问几个客户的后台系统或者服务。客户要使用Web服务封装“查看库存”功能并部署在防火墙外,使供应商能够访问他。供应商可以使用标准的通讯协议比如SOAP,通过因特网访问“查看库存”功能。他们不需要写任何客户定制的代码,也不需要支付昂贵的私有网络费用。此外,这个集成系统(供应商和客户)将来还可以以一种动态的方式集成现有的服务或者访问第三方的服务,比如那些合约制造商和物流服务提供商发布的服务。当企业需要一个新的供应商,也不需要进行客户化集成;供应商只需要简单的访问“查看库存”Web服务,就可以成为整个集成系统的所支持客户的一部分。



  图1. 使用SOA的B2B集成


  通过使用SOA进行B2B集成,如图1,企业可以如下方式获益:


  通过重用内部整合的成果降低开发成本和项目风险。被创建成服务的自动内部业务流程可以被扩展到防火墙外,能被合作伙伴直接访问。这样不仅能够通过重用降低成本,还能够提升内部SOA项目的投资回报。因此,重用已经投产的可靠的并且经过测试的服务,B2B项目的风险会大大降低。


  通过简化端到端自动流程获得附加的价值链经济体系。使用SOA,可以通过自动业务流程为企业创建跨度从供应商到客户的各种方式的复合应用程序。


  简化合作伙伴的集成任务。使用SOA,合作伙伴独立于企业内部复杂的底层系统。通过Web服务的URL,合作伙伴可以访问任何企业选择开放给他们的功能。即使内部系统发生了改变,Web服务接口也可以保持不变,这样IT部门就有信心,能够灵活的对内部系统进行升级,不必担心破坏业务活动。


  快速增加新的合作伙伴。SOA利用现有的网络能力,比如合作伙伴的自我服务,更进一步。流程可以被创建一次并且在多个合作伙伴之间进行重用。根据定义,Web服务有标准的接口,任何合作伙伴都可以不用进行自定义的编码就可以进行访问。这就意味着当新的合作伙伴增加的时候,不需要对每一个进行单独的集成。他们只需要订阅相关的服务获取他们需要的信息和业务逻辑就可以了。


  通过动态协作获得更多的优势。传统的B2B集成是静态的并且是预定义的。通过将B2B功能发布为Web服务,合作伙伴和客户可以根据业务需求的变化发展,通过一种新的方式与企业进行交互。比如,你想增加一种新的产品捆绑或者新的渠道,必需的核心服务已经到位,只需要为新的产品或者新的合作伙伴进行重新配置和发布,不需要重新编码,大大的减少了开发时间。


  你准备好跨企业了吗?


  尽管利用SOA进行B2B集成具有巨大的潜在优势,细致的规划却是能否在B2B中成功运用SOA的关键。下面我们列出当内部服务在防火墙外开放时,B2B业务必须要考虑的几个重要问题。


  安全和认证——任何时候对防火墙之外开放后台系统,都要设法将企业的风险降至最低。任何B2B集成都需要提供一种机制来保证敏感信息的交换,比如必须以一种安全可靠的方式在公网上共享业务服务和流程。安全功能必须足够健壮,能够解决不同级别的问题,从安全的物理连接到数据的加密。此外,任何B2B集成都需要一种机制代替合作伙伴和数据的认证,比如数字签名技术。


  审计和不可抵赖——与合作伙伴之间发生的商业交易是具有法律约束力的,通常都在合法的合同中有定义。为了保证这些协议是强制的,要为所有的交易维护严格的日志,这样交易的参与者就有了可以审计的依据,可以帮助解决纠纷。


  交易团体管理——在B2B平台的所有组件当中,交易团体管理可能是最重要的了。管理和更新合作伙伴的业务协议,合作伙伴信息,合作伙伴储备和合作伙伴的安全证书比如数字证书,必须尽可能的自动化。那些涉及到拥有成百上千合作伙伴的交易团体的企业,如果需要一支军队来进行系统管理来保证运行的话,实施B2B解决方案将变得非常昂贵。


  数据完整和事务管理——业务流程和数据必须在底层平台有任何失败的时候完整的保存下来。


  分析——管理人员需要衡量B2B解决方案带来的好处,比如填写订单的速度加快了,库存减少了或者付给供应商的费用降低了。SOA平台必须给管理人员提供各个级别的权利,去定义规则,监控交易并且接收相关的报告。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐

  • 事件驱动框架和SOA在空军的应用

    空军正在利用SOA来改善数据共享,并实时跟踪战机,美国空军机动司令部的Michael Marek解释了企业可从中学习的经验。

  • 揭秘New Relic APM技术细节

    New Relic应性能管理(APM)套件主要用于Web软件开发。它允许用户在面向服务的架构(SOA)上跟踪关键事务性能,并且支持代码级别的可见性来评估特定代码段和SQL语句对性能的影响

  • 仅凭SOA和云无法解决业务数据管理风险问题

    SOA和云可以是某些恼人问题高效的解决方案;这一点我们已经知道了。但是也要记住它们并不是所有事情的直接答案,特别是当你的问题是业务数据管理风险,而不是技术问题时。

  • 购买应用集成工具可以采取平衡做法

    购买应用程序集成工具需要好好看看你的公司需求,知道从供应商里面要寻找哪些关键功能。