第十七章  企业集成架构设计

企业集成平台的核心是企业集成架构,包括 信息、过程、应用集成的架构。

17.1  企业集成平台

企业集成平台(Enterprise Integration Platform,EIP)目的是:

能够根据业务模型的变化 快速地进行信息系统的配置和调整,保证不同系统、应用、服务、操作人员 之间 顺畅地互操作,进而提高企业适应市场变化的能力,使企业能够在复杂多变的市场环境中生存。

良好的软件支持工具可以帮助企业加快实现企业系统集成,降低实现企业内部的信息孤岛集成的复杂度。

17.1.1  企业集成平台的概念

早起比较简单的集成方式是通过在不同的应用之间开发一对一的专用接口来实现应用之间的数据集成,即采用点到点的集成方式。

优点是比较直观。

问题:工作量大;集成费用高,系统升级和扩展困难;不易于标准化,接口数量过多,给系统管理造成比较大的困难。

为了克服点到点集成方式 给企业应用系统集成和维护管理带来的困难,采用集成平台。

企业集成平台是一个支持复杂信息环境下信息系统开发、集成、协同运行 的软件支撑环境。

可以使分散的信息系统通过一个单一的接口,可以管理、可重复的方式 实现单点集成,使企业内的所有应用都可以通过集成平台进行通信和数据交换。

集成平台 是支持企业集成的支持环境,包括 硬件、软件、软件工具、系统,基本功能主要如下:

1、通信服务

提供分布环境下透明的 同步/异步 通信服务功能。

2、信息集成服务

使集成平台上运行的 应用、服务、用户端 能够以一致的语义和接口实现对数据的访问控制。

3、应用集成服务

通过高层应用编程接口 来实现对应应用程序的访问,在无需对原有系统进行修改(不会影响原有系统的功能)的情况下,只要在原有系统的基础上加上相应的访问接口就可以将现有的、用不同的技术实现的系统互联起来。

4、二次开发工具

一组帮助用户开发特定应用程序的支持工具,其目的是简化用户在企业集成平台实施过程中的开发工作。

5、平台运行管理工具

集成平台的运行管理和控制模块。

17.1.2  集成平台的标准化

采用标准化的技术也是提高集成平台系统开放性和软件模块可重用性的重要方法。

标准化内容涉及通信协议、中间件、企业建模、工作流管理系统、Internet环境下的数据交换、产品数据标准和应用系统集成标准 等。

17.1.3  实现技术的发展趋势

1、集成的技术实现从2层到n层过度

无论是在服务器端,还是在客户端,由于业务逻辑和应用表示逻辑的紧密捆绑,对系统的升级和扩展都带来了比较大的困难。

将业务过程逻辑、业务表示逻辑进行分离,将每层的功能集中在一个特定的角色上,提高集成平台和集成系统的柔性。

2、集成支持的方式从面向信息集成扩充到面向过程集成、服务集成

面向信息的集成主要应用于企业内的数据库和数据源上,其具体的实现方法主要有数据复制、数据捆绑、基于接口的信息集成 三种方式。

1. 面向过程的集成:通过工作流引擎对企业内部流程模型的执行来实现业务应用数据或信息在不同应用、子过程、执行任务的人员之间流动。

对业务过程逻辑和应用逻辑进行分离,实现过程建模和数据、功能 分离,保持具体功能单元不变的情况下,通过修改过程模型来改变系统功能。

2.面向服务的集成。

服务提供者将应用作为服务部署在web上,通过使用web服务描述语言来描述web服务提供的功能,并通过统一的服务发布与发现协议将其注册到UDDI中心。

只要在原有系统的基础上增加一个对它们进行访问的SOAP接口,就可以完成原有系统到集成平台的集成。

将以前主要在企业内部网络基础上实施的集成扩展到了面向开放网络环境下的集成,从而大大扩展了集成的范围。

具有良好的柔性和开放性,牺牲了性能和网络流量。

3、集成规范的标准化程度不断提高

从数据描述的角度来看,逐渐过渡到具有自描述功能的基于 XML语言的数据表达与存储。

从应用间集成接口的实现与接口表现形式看,发展到更通用的基于 XML语言的web服务几口定义语言(WSDL)的集成接口描述。

从业务过程定义方面来看,如何利用web服务集成架构实现过程集成的基于 XML语言的商业流程模型描述语言。

4、所支持的集成耦合度及集成的粒度的变化

耦合度 不断降低,集成范围 不断扩大,集成粒度 不断缩小。

17.1.4  集成平台的发展趋势

从功能上可以将其划分为 企业应用集成 和 业务到业务的集成(B2B)两种。

其中,EAI主要侧重于企业内部的纵向集成,B2B侧重于支持企业间业务往来的横向集成。

17.2  企业集成平台的实现

17.2.1  数据集成

构建企业集成平台的首要目的是实现数据集成,提供具有 完整性、一致性、安全性 的数据访问、信息查询、决策支持 服务。

具体包括:共享信息管理、共享模型管理、数据操作管理 三部分。

共享模型管理则提供数据资源配置管理、集成资源关系管理、资源运行生命周期管理及相应的业务数据协同监控管理等功能。

体系结构与标准化(规范化)程度对数据集成的水平有非常大的影响。

数据集成主要有以下三种模式:数据联邦、数据复制、基于接口的数据集成。

17.2.2  应用集成

功能之间的相互调用和互操作,需要在数据集成的基础上完成。

实现异构应用系统之间 语用层次上的互操作。

应用集成最初主要采用点对点的紧耦合方式,缺乏必要的柔性,组件化的系统实现及松耦合的应用集成方式逐渐成为构建企业业务处理系统的主流。

应用集成模式包括:集成适配器、集成信使、集成面板、集成代理 4种。

1、适配器集成模式

通过适配器完成不同的系统间数据格式及访问方式的转换与映射。

2、信使集成模式

系统之间的通信和数据交换通过信使(消息代理)来实现,大大减少了接口数量,将应用之间的交互对通信服务能力的依赖程度降到最低。

3、面板集成模式

集成面板可以为 一对多、多对一、多对多 等 多种应用提供集成接口,为客户端应用与调用服务端应用提供了一种简化的公共接口。

4、代理集成模式

面板集成模式实现了服务器应用交互逻辑的分离。

在代理集成模式中,由于不存在很明显的客户端应用和服务端应用的划分,它仅需要将待集成的应用程序分离出来,并对应用间的交互逻辑进行封装,进而由集成代理来引导多个应用之间的交互。

17.2.3  企业集成

企业应用软件系统从功能逻辑上可以分为:表示、业务逻辑、数据 三个层次。

按照这些逻辑功能层次间是否分离和分离的程度,在软件系统具体实现上可以大致分为如下4类:

1、单层结构系统。

2、两层结构系统。

表示层与业务层(胖客户)紧密地耦合在一起,或者 将业务逻辑和数据库层紧密地耦合在一起(只将表示层分离出来为瘦客户)。

3、三层结构系统。

表示、业务逻辑、数据 三个层次分成独立的模块实现。

各层可以并行开发,各层也可以选择各自最适合的开发环境和编程语言。

4、n层结构系统。

目的是提高系统不同业务功能模块的独立性,可以使系统具有最好的柔性及可扩展能力。

根据企业集成平台功能的支持范围,可以将其分为 侧重与支持企业内部集成化运行的 EAI 和 侧重于支持企业间业务集成的 B2B。一般来说,EAI 是 B2B 的基础。

从企业集成运行的实现策略上看,EAI主要有如下三种实现模式:

1、前端集成模式

是指 EAI侧重于业务应用系统表示层的集成,单一的用户入口实现多个应用事务的运作。

2、后端集成模式

主要侧重于应用系统数据层面的集成,就像一个方便多个应用系统之间数据自动交互的数据管道。

基于 EAI 服务器提供的存储——转发机制可以方便地实现对合作伙伴企业之间大量业务数据交换(主要指B2B集成)的支持。

3、混合集成模式

是前端集成模式和后端集成模式的组合,主要应用于既需要响应大量服务请求、又需要维护多个数据源的完整性和一致性的情况。

17.3  企业集成的关键应用技术

17.3.1  数据交换格式

企业业务数据可以分为 结构化数据(表单)和非结构化数据(文档),一般存储在不同的数据库或文档管理系统中。

不同的应用系统、数据库所处理的文档和数据格式有很大差别,建立各个应用都可以识别的访问通用数据模型及表示规范,是实现不同应用系统之间交互和互操作的最基本方法。

几种数据交换格式如下:

1、EDI(Electronic Data Interchange)电子数据交换

将 贸易、运输、保险、银行、海关 等行业的信息,用一种国际的公认的标准格式,通过计算机通信网络,供有关部门、公司、企业之间进行数据交换与处理,并完成以贸易为中心的全部业务过程。

目的是将功效上的纸质介质文件等同的电子表单统一的格式进行表示。

按照 UN/EDIFACT 标准,贸易伙伴之间 一次交换的内容称为一个交换,交换由 交换头/尾、功能组头/尾、报文头/尾、数据段(或断组)和数据元(简单数据元和复合数据元)等组成。

数据段(或段组)、数据元等在文本中都被称为报文项。

2、XML

XML 是国际组织 W3C 定制的一个 面向各类信息的数据存储工具和可配置载体的开放式标准。

目的是为了更好地适应web应用的需求,解决HTML在表达能力、扩展性、交互性 等方面的缺陷。

具有愈发清晰简单、结构无歧义等优点。

利用一套定义标记的规则将文件的内容和外观进行分离,实现了XML文档的可延伸性及自我描述特性。

它本身并不是一种标记语言,而是一种创建、设计、使用 标记语言的根规则集,是一种创建标记语言(如HTML)的元语言。

3、STEP标准(Standard for the Exchange of Product Model Data)是一种描述如何表达和交换数字化产品信息的ISO标准(ISO010303)

目的是提供一种不依赖具体系统的中性模型,并将其用来描述整个生命周期内的产品数据。

4、PDML 是在STEP和XML基础上实现不同系统间产品数据交换和集成的一种新模式。

PDML中主要应用了STEP的集成资源和Express数据规范语言两个部分。

与特定领域词汇表(或数据字典)相应的组件被称为应用事物集(Application Service Set,ATS),与跨多个应用领域的通用词汇表相应的组件被称为集成方案。

PDML 由 7个应用事物集、一个集成大纲、应用事物集和集成大纲间的映射规范、PDML工具集 4部分组成。

17.3.2  分布式应用集成基础框架

大规模计算机网络的重要特性——异构性。

在面向对象技术和分布式计算基础上产生的 分布式对象计算(Distributed Object Computing,DOC)。

比较有影响的分布式软件对象(组件)标准有下面4种:

1、CORBA(Common Object Request Broker Architecture,公共对象请求代理体系结构)解决分布式处理环境中硬件和软件系统的互联而提出的一种标准的面向对象应用程序体系规范。

对象管理参考模型(Object Management Architecture,OMA)把软件作为对象,并通过对象请求代理与其他对象进行通信。

核心是对象请求代理(Object Request Broker,ORB),它支持对象服务、通用设施、领域接口、应用接口 之间的交互和通信。

服务完成后又把执行结果或异常情况返回给请求者。

2、COM+

COM组件标准的基础是COM核心,规定了组件对象与客户通过二进制接口标准进行交互的原则。

COM主要由COM接口、COM对象、COM服务器、类工厂和类型库等组成。

每个接口有一个唯一标识(UUID),对COM对象的调用是通过一个指向其接口的指针实现的。

客户对组建对象功能的调用接口一般采用COM IDL来描述。

两类服务器,进程内部服务器、进程外部服务器。

进程内服务器即本机上的DLL,进程外服务器分为两类:一是本机上的exe可执行程序,而是远程机上的dll或exe程序。

进程外的对象必须先调用服务控制机制提供的代理,代理生成服务对象的远程过程调用(Remote Process Call,RPC)。

另外,COM组件标准还包括结构化存储、统一数据传输和智能命名等。

3、J2EE

J2EE很好地融合了Internet技术,有利于企业建立基于web、具有n层结构的分布式应用。

J2EE的基础是核心Java平台或Java2平台的标准版,J2EE将J2SE集成到自己的体系结构中。

各种组件可以通过J2EE配置工具将其部署到相应的J2EE容器中,客户端对各种组件的访问及各种组件之间的调用都通过容器及服务器来完成。

4、Web Service

Web Service(Web 服务)是指服务提供者将应用作为服务部署在web上,通过使用web服务描述语言来描述特定web服务提供的功能。

web服务可以看成是现有应用面向Internet的一个延伸。

目前支持web服务的技术标准主要有:

用于进行数据交换和表达的元语言标准XML,

UDDI(Universal Description,Discovery & Integration),UDDI用于web服务注册和服务查找,

WSDL用于描述web服务的接口和操作功能,

SOAP(Simple Object Access Protocol)为建立web服务和服务请求之间的通信提供支持。

17.4  面向整体解决方案的企业模型

17.4.1  企业模型在整体解决方案中的作用

1、企业模型可以为信息化整体解决方案提供 对企业公共一致的、规范的表达和描述。

2、建模和基于模型的分析 是企业信息化工作的入手点和建立有效的实施途径的基础。

3、建模可以对信息系统规划方案进行预评估。

4、基于模型的工作流执行可以导航和监控各信息系统之间及信息系统外界的交互。

17.4.2  整体解决方案中的企业模型重用

不同的企业虽然在生产经营诸多方面都有其特殊性,但是他们都是企业系统的实例,具有企业最本质的行为和特征。

可以将构成企业所有要素(无论是物质实体还是抽象过程)分成三类:

一类是最通用的,适用于任何企业。

二类是在一定范围内通用。

三类是某个企业专有的。

通用层、部分通用层、专用层。

企业模型可以采用从零开始的方法建立,周长和建模质量低。

因此,基于参考模型建立企业具体的专用模型是较好的方法。

包括两个阶段:参考模型的选择、参考模型的实例化。

参考模型的选择具体包括以下几个步骤:

1、确定企业建模的目的和基本需求。

2、划定企业建模的范围。

3、提出候选参考模型。

4、确定最终使用的参考模型。

实例化过程在具体操作中可以采用的方法如下:

1、继承。

2、裁剪。

3、细化。

4、扩充。

5、修改。

17.4.3  整体解决方案中企业模型演化

信息系统实施的生命周期可以分为 需求分析阶段、系统设计阶段、系统实施阶段、运行维护阶段。

1、需求分析阶段

通过对用户需求的抽象形成需求分析模型,以作为下一个阶段的输入。

需求分析模型应该包含有较高层次上的企业业务流程、资源分配、组织结构和产品结构等信息。

最后还需要确定系统的总体目标和评价标准。

2、系统设计阶段

从未来的信息系统相关的业务模型中抽取出功能模型和信息模型,用它们来设计和构造信息系统。

3、系统实施阶段

实现了企业模型从设计模型向可执行模型的转化。

通过定义具体的操作者、执行器、资源实体、组织单元、应用软件 等。

4、运行维护阶段

通过文档管理、版本控制等方法实现对系统的有效管理和监控,并通过集成需求管理软件工具来对运行过程中企业不断提出的新需求进行记录和管理,所积累的需求和文档是下一个生命周期的输入。

一个系统实施后在运行维护阶段搜集的问题和需求又会启动一个新的生命周期。

这个不断循环的生命周期以螺旋式上升的形式实现企业相关状态及行为的改进与发展。

17.4.4  模型驱动的企业集成系统演化

由于这种实施是根据企业当前的市场策略、业务过程规划和当前的信息技术现状进行的,它只能够在当前的企业和市场状态下,通过信息技术支持企业实现其竞争优势。