2004-09-04
企业是一个非常复杂的系统,其行为具有很强的目的性。长期以来,企业已经习惯了按功能来划分自身。然而随着企业的不断发展和生存环境的不断变化,这种功能划分已经成为了企业管理的负担,严重影响了企业对市场的快速响应。为了解决这一问题,企业迫切需要集成企业中的各个功能体并重组它们的业务流程,从而为用户提供更快捷、方便和高质量的服务,企业应用集成EAI(Enterprise application integration)应运而生。 同时,随着以Web为中心的经济模式的确立,越来越多的企业开始拓展其在Internet上的业务,并寻找可以使它们的业务流程线性化的计算机技术。XML技术的发展和Web服务(Web services)的诞生给这些企业带来了契机。 尽管Web服务的最初目的是为了给应用提供一种通过XML消息访问网络的接口。但它很快成为了一种新的应用集成模式的核心技术。目前,关于Web服务与EAI的关系已经成为了一个争论的热点,既有人认为Web服务最终将取代大部分的EAI市场,甚至替代EAI解决方案,也有人认为Web服务根本不会取代EAI或者其它传统的应用集成方法(如EDI,中间件等)。然而,不管Web服务是否会替代传统的EAI,我们都已经接受这样的一个事实:无论Web服务还是EAI其实二者都是针对同一个问题的解决方案。 Web服务作为现在大部分公司所熟知的概念,其有时也会被作为EAI(企业应用集成)解决方案的一种替代。然而,随着一些新的所谓的“纯”Web服务解决方案供应商的加入,这就造成了一种持续的混乱局面。 1、 Web服务(Web Services)与企业应用集成(EAI)的概念 Web服务是一种通过标准的XML格式接口来访问网络(包括Internet, intranet, extranet)的一类模块化应用。 Enterprise application integration(企业应用集成)通过将一系列的方法、技术和工具组织在一起实现对不同应用的合并与协调,从而实现企业信息系统的集成。 从以上两个概念可以看出,Web服务和企业应用集成的作用领域是完全不同的。Web服务关心的是一个明确的特定领域,而EAI则涉及到一个相当广泛的主题。 (1)、Web服务和EAI的技术组成: XML:用来描述信息; UDDI:用来发现被请求的服务; WSDL:用来描述Web服务; SOAP:用以实现Web服务的远程执行。 这些技术部分的简单结合使Web服务具有了许多重要的特性。其中最突出的一点就是Web服务的协同工作能力。由于相关技术的简易性和成熟性,Web服务间的协同工作能力已经成为人们可以接受的事实。 (2)、EAI的技术组成 由于EAI事实上并没有专门建立在某种标准之上,所以定义EAI的技术组成几乎是不可能的。正如我们在前面所介绍的,EAI将一系列的方法、技术和工具组织在了一起。 总的看来,EAI的集成主要有四种类型: 数据层的集成:集成是通过提取和可能的转化过程,实现对应用所使用的数据的定向和传输。 应用层的集成:集成是通过应用的输入/输出来直接实现的;例如,通过使用消息,API等等。 商业逻辑层的集成:通过集成实现信息系统商业流程的管理;例如,使用分布式的商业对象。 用户接口层的集成:应用的用户接口是应用的input/output点。用户接口层的集成对那些需要集成的老系统或专有系统非常有用,这些系统不具备其它的输入输出点(如,不存在API,无法访问数据)。 EAI的最终目的是为已存在的应用提供统一、标准的交换中心,并为新的开发提供基础。EAI系统的核心由一系列组件组成。这些组件为不同资源间信息交换的顺畅提供了保障,应用可以通过连接器(connectors)和适配器(adapters)来访问它们。 最后,EAI系统还必须能够提供“标准”的入口,这些接口就是Web服务在EAI解决方案中发挥其功能的地方。另外,Web服务也可以部署到连接器(connectors)一层(例如,SAP可以通过Web服务访问它的BAPI集成接口),但是在这种情况现,许多EAI解决方案所提供的功能将会消失。 Web services与企业应用集成: 2、Web服务与EAI的应用重点分析 (1)、不同的作用域 从技术角度来说,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服务:一个面向万维网的标准化解决方案。 (2)、面向不同层次的集成 Web服务的应用集成是一种基于服务层的集成。它采用面向对象的技术包装数据,通过Simple Object Access Protocol (SOAP)实现基于Web的不同应用的访问。事实上,这个访问过程就是通过服务来调用(远程过程调用)各种目标系统的不同信息和行为。Web服务的集成结果直接是一个分布式的结构。 与Web服务不同,EAI的技术框架结构可提供面向多种层次的集成,总的看来,EAI的集成主要有五种类型: ·数据层的集成:通过对被集成数据的提取和相应的转化过程,实现对应用所使用数据的定向与传输。 ·应用层的集成:通过使用消息,API等技术在应用层直接实现交互和集成。 ·商业逻辑层的集成:通过使用分布式的商务对象,采用可重用组件等技术,实现对商务流程的部署和集成,满足企业业务流程管理的需要。 ·用户(界面)接口层的集成:这种技术采用模拟的方式(例如模仿用户击键来实现与旧软件的交互,这种过程也被称作屏幕剪贴)通过用户界面或input/output点访问现有的应用程序。该种集成对那些需要集成的旧系统或专有系统非常有用,因为这些系统不具备其它的输入输出点(如,不存在API,无法访问数据)。 ·服务层的集成:通过引入Web服务的相关技术标准实现服务层的企业应用集成。该部分属于Web服务与EAI的结合,将在后面进一步讨论。 3、
Web服务与EAI的优势与不足 (1)、Web服务 现在一定要给Web服务下一个结论似乎还不是时机,因为Web服务确实是一种正在快速发展的技术,所以我们在这里只是给出目前Web服务所存在的优势和相应的不足。这些观点,特别是对缺点的论述并不代表Web服务的未来。 由于Web服务是由一系列标准所组成的,所以Web服务集成各种应用的方法是标准化的,具有较好的通用性和兼容性,同时面向对象和XML等相关技术的采用,使得Web服务具有更好的跨平台性,可以更好的满足分布式集成的要求。Web服务的集成结果是一种松耦合的集成模式。它通过建立涵盖服务通信(SOAP)、服务描述(WSDL)和服务发现(UDDI)等标准实现应用集成的框架。另外,由于和Web技术的结合,使得Web服务对Web应用具有很好的协调性。再者,Web服务能够更好的满足企业以客户为中心的协同工作。 由于Web服务是一种新的技术,还处在不断的发展和完善之中,所以从技术角度看,尽管有些标准已经在制定过程中,但Web服务还存在不足: ·由于Web服务目前的实施基础还不是十分完备(例如,缺少配套的工具等),在对遗留数据信息进行包装时需要大量的编程工作,建立Web服务也需要投入大量的工作,所以Web服务的集成成本是比较高的。 ·目前,Web服务是位于防火墙之内的。为了突破防火墙而与企业的合作伙伴和客户建立联系,Web服务必须解决相关的加密、认证、签名等技术。 ·Web服务还没有解决事务处理、工作流的编排与描述等问题,缺乏业务流程的管理能力。 ·Web服务缺乏与数据库有效的通信能力,而现在企业的大部分数据仍然存储在数据库系统之中,并且这种情况还将持续下去。 ·由于Web是一种松耦合的集成模式,集成结果的性能相对较低,无法满足一些系统的集成要求,例如实时系统的集成。 (2)、EAI EAI的最终目的是为已存在的应用提供统一的数据交换中心,并为新的开发提供基础。由于对集成的各种方法不做限制,所以EAI所支持的集成范围相当广泛,既可以是数据层的集成也可以是应用层、用户层接口层等层次的集成(见前文)。另外EAI可以方便地针对不同的应用采用不同的集成方法和工具,这就使得集成具有较好的针对性,可以方便的利用任何已有的技术和方法。所以EAI可以实现性能较高的集成系统。 但是,EAI技术本身所具有的不确定性也带来了一些问题: ·EAI的实施费用非常高。EAI的实施人员必须花费大量时间分析各种类型的集成,提出复杂集成的解决方案。 ·与Web服务不同,EAI是产品相关的。EAI的解决方案是由不同的供应商所设计的,也就是说,就算是针对两种同类应用的集成,不同的EAI的实施结果也是不能互通的,EAI缺乏较好的兼容性和通用性,无法移植。 ·EAI需要在多个系统之间建立大量的点对点的连接,这不仅增加了实施的强度,也不利于系统的维护和升级。 ·目前,大部分的EAI都是紧耦合的集成模式。这种集成模式的结果不利于企业业务流程的调整和重组,缺乏可扩展性和灵活性。 综上,Web服务是一种标准化的解决方案,形成松耦合的集成结果,但性能相对较低。EAI则是一种专用的解决方案,形成紧耦合的集成结果,但它需要更多开发和维护工作。可以说,EAI与Web服务各有优劣,那么二者是否可以结合呢? Web services与企业应用集成: 4、 Web服务与EAI的互补 作为应用集成的一种方案,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也是同样有利的。
|
信息化软件应用目录 OA 办公自动化系统
CRM 客户关系管理系统
PM 项目管理系统
SCM 供应链管理系统
CC 协同商务系统
BPM 业务流程管理
BI 商务智能
CMS 内容管理系统
KM/KBS 知识管理系统
电子商务系统
HRM 人力资源管理系统
ERP 企业资源计划
EAM 企业资产管理系统
|