介绍
对实时和整合信息日益增长的需求正越来越促使公司寻找一种将它们现有的各种系统集成起来的方法。这个集成的过程称为“企业应用程序集成”(EAI)。
什么是 EAI
EAI 是将多个独立开发、使用不兼容技术并且彼此独立管理的软件应用程序集成起来的过程。
从本质上说,EAI 就是在企业中的不同的应用程序和数据源之间共享和交换数据以及业务流程。
EAI 的类型
EAI 有多种不同的集成级别,这取决于许多因素,包括公司规模和行业、集成度和/或项目复杂性以及预算。
有四个主要集成级别:
数据级别
数据级别的 EAI 是以数据库为中心的方法,该方法从一个数据库抽取数据然后在另一个数据库中更新该数据。有时候,抽取的数据在输入到目标数据库之前可能先进行转换,例如应用特定的业务规则。
数据级别的集成一般通过 ETL(抽取、转换和装入)工具进行,ETL 工具能够抽取、转换、清理和装入来自各种数据源的数据,然后将这些数据集中到一个公共的企业数据存储库(数据仓库)或多个可满足不同业务需要的数据存储库(数据集市)中。
该方法主要的好处在于低成本和低风险。由于不对现有的应用程序代码进行任何修改,因此不会产生与开发、测试和部署应用程序新版本相关的费用。该方法的主要缺点是生成的数据库和表的数量非常大、要求数据库设计者了解什么数据在移动以及必须处理相关的业务规则。
应用程序接口级别
此 EAI 集成级别利用定制或套装应用程序提供的接口来访问业务流程和简单信息。通常情况下,这种集成分三步进行:
-
通过提供的应用程序接口从某个应用程序抽取信息。
-
将数据转换为目标应用程序能够理解的格式。
-
将信息传送给目标应用程序。
实施这种集成时最常用的方法称为“消息代理”,这是一种对通过总线或中心框架的信息流进行标准化和控制的方法。
但是随着 Web 服务的日益普及,旧的应用程序和套装应用程序开始使用 Web 服务来展现它们的业务功能。由于这些业务功能可以作为可重复利用的服务使用,因此使用面向服务的体系结构(SOA)代替“消息代理”的情况越来越多。
此方法主要的好处在于将不同的应用程序连接起来比较容易,因为应用程序接口就是由应用程序提供的。此方法的不利之处在于消息代理技术的成本较高。在过去,这些接口经常与应用程序密切相关,这使得开发人员必须了解每个接口的具体功能和函数。但是随着
XML 的日益普及和它作为许多应用程序接口的标准语言的采用,该问题正在消失。
方法级别
方法级别的集成与应用程序接口级别的集成相似,但是详细程度较低。这种方法不共享业务功能(与应用程序接口级别中一样),而直接共享各种用于组成给定业务功能的方法。所有其他需要实施相同方法的企业应用程序可以使用这些方法而无需重新编写。
即使此集成级别可通过许多技术(Java RMI、Corba 和 DCOM 等)实现,实施此方法的目前趋势也是使用 Web 服务作为共享方法的方式。
共享方法和重复利用业务逻辑的能力使得此方法非常适合于 EAI。但是此方法的缺点在于它同时也是一种较富侵入性的方法,因为它要求修改现有的应用程序以便能够以这样低的级别进行共享。
用户界面级别
用户界面级别的 EAI 通常也称为“重制界面”,它是将旧系统现有的基于文本的用户界面以及 PC 的图形界面替换为标准化的界面(通常基于浏览器)。
企业业务门户网站是这种集成中正在兴起的一种解决方案,它将出现的多个应用程序合并到一个可定制的、基于浏览器的界面中。
这种集成比其他方法的成本低,因为它不对现有应用程序的代码进行修改。但是,正是由于同一原因,此方法的灵活性也较低。
EAI 和中间件
在 EAI 中,中间件技术仅用作在应用程序间移动信息和共享业务流程的机制。中间件隐藏了源系统和目标系统之间通信机制的复杂性。这使得开发人员能够集中精力处理每个系统的
API(应用程序编程接口),而由中间件负责处理两个系统间的信息传递。同一中间件 API 可供运行在不同平台上的多个应用程序使用。
作为 EAI 的一种底层技术,中间件可按任意集成级别使用(甚至可按用户界面级别使用,因为业务门户网站可看作一种中间件)。但是,最常用的中间件技术还是应用程序接口级别的消息代理。
EAI 和 XML
可扩展标记语言(XML)标准是万维网协会(W3C)制定的一种基于文本的标记语言规范,旨在定义可移植的结构化数据。由于 XML 简单并正在成为广泛使用的交换格式,因此它是 EAI 消息格式和协议的理想格式。
XML 可以与每个集成级别一起使用(用户界面级别可能除外)。它可在数据级别中用作通用数据交换格式、在应用程序接口级别中用作消息传递格式和/或消息代理中的协议,或者在面向服务的体系结构(SOA)中用作对 Web 服务的支持。由于 Web 服务是使用 XML 构建的,因此它还可用于方法级别的集成。
进一步阅读和参考
-
David Linthicum, Next Generation Application Integration: From Simple Information to Web Services, Addison-Wesley,
2003.
-
Gregor Hope and Bobby Woolf, Enterprise Integration Patterns, Addison-Wesley, 2003.
|