原文地址:http://www.ibm.com/developerworks/cn/webservices/ws-wseai/index.html

2002 年 12 月 01 日

自诞生的那一刻起,Web服务就像XML技术一样的炙手可热。作为企业应用集成领域的一朵奇葩,Web服务很快引起了企业应用集成领域格局上的变化,也给传统的企业应用集成(EAI)解决方案带来了巨大的冲击。一场关于Web服务与EAI的争论也自此展开。

引言

企业是一个非常复杂的系统,其行为具有很强的目的性。长期以来,企业已经习惯了按功能来划分自身。然而随着企业的不断发展和生存环境的不断变化,这种功能 划分已经成为了企业管理的负担,严重影响了企业对市场的快速响应。为了解决这一问题,企业迫切需要集成企业中的各个功能体并重组它们的业务流程,从而为用 户提供更快捷、方便和高质量的服务,企业应用集成EAI(Enterprise application integration)应运而生。同时,随着以Web为中心的经济模式的确立,越来越多的企业开始拓展其在Internet上的业务,并寻找可以使它们 的业务流程线性化的计算机技术。XML技术的发展和Web服务(Web services)的诞生给这些企业带来了契机。

尽 管Web服务的最初目的是为了给应用提供一种通过XML消息访问网络的接口。但它很快成为了一种新的应用集成模式的核心技术。目前,关于Web服务与 EAI的关系已经成为了一个争论的热点,既有人认为Web服务最终将取代大部分的EAI市场,甚至替代EAI解决方案,也有人认为Web服务根本不会取代 EAI或者其它传统的应用集成方法(如EDI,中间件等)。然而,不管Web服务是否会替代传统的EAI,我们都已经接受这样的一个事实:无论Web服务 还是EAI其实二者都是针对同一个问题的解决方案。





回页首


同一问题 不同答案

  • 不同的作用域

    从 技术角度来说,EAI可以看作许多不同集成方法的集合,例如数据适配器、消息代理和其它类型的中间件等等。EAI通过将一系列的方法、技术和工具组织在一 起来实现对不同应用的合并与协调,从而实现企业信息系统的集成。Web服务则是一种通过URI识别的模块化软件应用,它通过标准的XML格式接口来访问网 络(包括Internet, intranet, extranet),通过Internet的基本协议来和其它软件代理交换XML信息。

    可以看出,Web服务和企业应用集成的作用领域存在着较大的差异。

    EAI 更侧重于企业应用集成这个目的,强调如何将各种方法、技术和工具组织在一起,而没有规定实现应用集成所采用的具体技术和方法。因此,EAI可以看作传统应 用集成方法的进一步延续和集成。当然,EAI的应用集成过程并不同于采用相对单一技术的应用集成过程,它在集成各种应用时,首先必须实现各种集成方法、技 术和工具的合并与"集成",所以EAI是一种相对复杂而浩大的工程。

    不同于EAI,Web服务关心的是一个明确的 特定领域。正如其它的消息代理以及中间件技术一样,Web服务是由一系列相关技术和标准所组成的独立的技术实体,它是应用集成一种独立的解决方案或者方 法。需要注意的是,Web服务的目的并不是要提供如何建立或者发布 "Web化"服务的方法,而是要通过采用、改进或者建立相关的标准,实现Web服务本身的标准化,从而达到Web服务实现的技术无关性。与其它方法相 比,Web服务具有更好的灵活性和适应性,例如跨平台特性等等。

    因此EAI和Web服务是针对应用集成问题的不同答案。EAI:一个涉及广泛主题的企业应集成方案;Web服务:一个面向万维网的标准化解决方案。

  • 面向不同层次的集成

    Web 服务的应用集成是一种基于服务层的集成。它采用面向对象的技术包装数据,通过Simple Object Access Protocol (SOAP)实现基于Web的不同应用的访问。事实上,这个访问过程就是通过服务来调用(远程过程调用)各种目标系统的不同信息和行为。Web服务的集成 结果直接是一个分布式的结构。

    与Web服务不同,EAI的技术框架结构可提供面向多种层次的集成,总的看来,EAI的集成主要有五种类型:

    1. 数据层的集成:通过对被集成数据的提取和相应的转化过程,实现对应用所使用数据的定向与传输。
    2. 应用层的集成:通过使用消息,API等技术在应用层直接实现交互和集成。
    3. 商业逻辑层的集成:通过使用分布式的商务对象,采用可重用组件等技术,实现对商务流程的部署和集成,满足企业业务流程管理的需要。
    4. 用 户(界面)接口层的集成:这种技术采用模拟的方式(例如模仿用户击键来实现与旧软件的交互,这种过程也被称作屏幕剪贴)通过用户界面或 input/output点访问现有的应用程序。该种集成对那些需要集成的旧系统或专有系统非常有用,因为这些系统不具备其它的输入输出点(如,不存在 API,无法访问数据)。
    5. 服务层的集成:通过引入Web服务的相关技术标准实现服务层的企业应用集成。该部分属于Web服务与EAI的结合,将在后面进一步讨论。




回页首


优势与不足

尽管无论是采用Web服务还是EAI都可以实现企业应用集成的目的,但从实施的基础、方式和实施的效果来看,二者可谓是各有千秋。

Web服务:现在一定要给Web服务下一个结论似乎还不是时机,因为Web服务确实是一种正在快速发展的技术,所以我们在这里只是给出目前Web服务所存在的优势和相应的不足。这些观点,特别是对缺点的论述并不代表Web服务的未来。

由 于Web服务是由一系列标准所组成的,所以Web服务集成各种应用的方法是标准化的,具有较好的通用性和兼容性,同时面向对象和XML等相关技术的采用, 使得Web服务具有更好的跨平台性,可以更好的满足分布式集成的要求。Web服务的集成结果是一种松耦合的集成模式。它通过建立涵盖服务通信 (SOAP)、服务描述(WSDL)和服务发现(UDDI)等标准实现应用集成的框架。另外,由于和Web技术的结合,使得Web服务对Web应用具有很 好的协调性。再者,Web服务能够更好的满足企业以客户为中心的协同工作。

由于Web服务是一种新的技术,还处在不断的发展和完善之中,所以从技术角度看,尽管有些标准已经在制定过程中,但Web服务还存在不足:

  1. 由于Web服务目前的实施基础还不是十分完备(例如,缺少配套的工具等),在对遗留数据信息进行包装时需要大量的编程工作,建立Web服务也需要投入大量的工作,所以Web服务的集成成本是比较高的。
  2. 目前,Web服务是位于防火墙之内的。为了突破防火墙而与企业的合作伙伴和客户建立联系,Web服务必须解决相关的加密、认证、签名等技术。
  3. Web服务还没有解决事务处理、工作流的编排与描述等问题,缺乏业务流程的管理能力。
  4. Web服务缺乏与数据库有效的通信能力,而现在企业的大部分数据仍然存储在数据库系统之中,并且这种情况还将持续下去。
  5. 由于Web是一种松耦合的集成模式,集成结果的性能相对较低,无法满足一些系统的集成要求,例如实时系统的集成。

EAI:EAI 的最终目的是为已存在的应用提供统一的数据交换中心,并为新的开发提供基础。由于对集成的各种方法不做限制,所以EAI所支持的集成范围相当广泛,既可以 是数据层的集成也可以是应用层、用户层接口层等层次的集成(见前文)。另外EAI可以方便地针对不同的应用采用不同的集成方法和工具,这就使得集成具有较 好的针对性,可以方便的利用任何已有的技术和方法。所以EAI可以实现性能较高的集成系统。

但是,EAI技术本身所具有的不确定性也带来了一些问题:

  1. EAI的实施费用非常高。EAI的实施人员必须花费大量时间分析各种类型的集成,提出复杂集成的解决方案。
  2. 与Web服务不同,EAI是产品相关的。EAI的解决方案是由不同的供应商所设计的,也就是说,就算是针对两种同类应用的集成,不同的EAI的实施结果也是不能互通的,EAI缺乏较好的兼容性和通用性,无法移植。
  3. EAI需要在多个系统之间建立大量的点对点的连接,这不仅增加了实施的强度,也不利于系统的维护和升级。
  4. 目前,大部分的EAI都是紧耦合的集成模式。这种集成模式的结果不利于企业业务流程的调整和重组,缺乏可扩展性和灵活性。

综上,Web服务是一种标准化的解决方案,形成松耦合的集成结果,但性能相对较低。EAI则是一种专用的解决方案,形成紧耦合的集成结果,但它需要更多开发和维护工作。可以说,EAI与Web服务各有优劣,那么二者是否可以结合呢?





回页首


互补

作为应用集成的一种方案,Web服务其实是对传统的数据适配器、消息代理等应用集成方法的一种革命,但作为应用集成的一种方法,目前Web服务也被适时地 引入了EAI的解决方案。事实上,Web服务完全可以作为EAI所要组织的技术方法之一,TechMetrix Research就提出将其Web服务应用在其EAI解决方案中的接口部分。事实上,通过在EAI中引用Web服务的相关标准(SOAP/HTTP /WSDL等)和使能技术就实现了前文所提到的面向服务层的EAI。面向服务层的EAI的是一种松耦合的应用集成模式,该集成模式除了具有更好的跨平台性 和可扩展性外,也可以得到较高的性能。





回页首


结论

传统的EAI是一种紧耦合集成模式,比较适用于那些对性能要求较高的、需要多种层次集成的应用集成系统。

Web服务是一种标准化的松耦合集成模式,比较适用于那些需要更大的灵活性,改动频繁的应用集成系统。

结合了Web服务的EAI系统则实现了一种面向服务层的松耦合的企业应用集成系统,可以最大限度的同时满足性能和灵活性的要求。

另外,Web服务是一个正在快速发展的技术方法,它的不断改进和完善必将带来企业应用集成领域格局上的变化。但是当我们逐渐融合Web服务和EAI时,这种变化不仅对Web服务有利,对于EAI也是同样有利的。



参考资料



作者简介


周竞涛,西北工业大学CAD/CAM国家专业实验室博士研究生,致力于将哲学、数学结合到技术研究中,主要研究方向:中间件、XML技术、EII,Semantic Web Services。可以通过 zhoujtnet@yahoo.com.cn与他联系。



王明微,陕西西安,西北工业大学CAD/CAM国家专业实验室硕士研究生,研究方向:逆向工程、模式识别。可以通过 wangmv@hotmail.com与他联系。