EAI 与SOA 之比较 一、 总体介绍 随着互联网、电子商务的风起云涌,外部世界的快捷变化要求企业能够快速反应,而要做出快速反应,离不开企业内部信息流的畅通无阻。在企业的信息化过程中,针对不同部门不同的应用需求,开发出了各种各样的应用软件。这些软件基本满足了企业的应用需要,但从企业整体角度出发,要达到内部信息流的畅通无阻,就必须对不同的应用软件进行集成才能实现。 本文将对现有最为常见的两种企业集成方案:EAI(Enterprise Application Integration,企业应用整合)与SOA(service-oriented architecture,面向服务的体系结构)进行探讨与比较。 二、 EAI(Enterprise Application Integration,企业应用整合) EAI 是将基于异构平台下的业务应用系统集成在一起的一种技术。EAI通过中间件作为粘合剂来连接企业内外各种业务相关的异构系统、应用以及数据源,从而满足企业内部应用系统之间信息共享的需要。 EAI 可从以下的几个层面来实施: ● 用户界面集成:这个层面是一个面向用户的整合,强调的是要将来自多个信息源的信息以一种可以定制的、个性化的界面展现给用户。 ● 应用集成:应用集成是以应用系统为基本集成单位,通过中间件,为两个应用系统提供业务集成。 ● 数据集成:数据集成是应用集成的基础。在实施集成之前,必须首先对数据进行标识并编成目录,另外还要确定元数据模型。这三步完成以后,数据才可以在多个数据库系统之间进行分布和共享。 EAI 的结构一般可以分为以下两种形式: 1. Hu b/spoke (集线器架构) Hub/Spoke 架构是星型拓扑结构,由处于系统中央的一个 Hub 和连接在 Hub及应用系统的多个适配器(adapter)组成。适配器在 Hub 和应用系统之间,进行数据格式的转换与传输。适配器将应用系统的数据信息转化为 Hub 可以识别的格式并传递给 Hub, Hub 通过消息代理管理消息路由,并将这些来自应用系统的数据消息按其要求的路由规则传递给目标应用系统的适配器。 这种架构中的 Hub 使得系统易于管理,但是不易扩展。在需求突增时,只能通过硬件的升级才能增加系统容量。然而,这种升级方式的改进是有限的,不足以应付越来越多的整合需求,因此出现了联邦 Hub/spoke 架构的概念,在这种架构下,出现了多个 Hub,每一个 Hub 拥有本地元数据,并且同全局元数据进行同步。对于全局规则和元数据的改变将自动传播到其他的 Hub 上。 图 2.1 EAI 之 hub/spoke 结...