在企业信息化建设的过程中,由于缺乏统一规划和总体布局,往往形成多个信息孤岛。信息孤岛试数据的一致性无法得到保证,信息无法共享和反馈,需要重复多次的采集和输入。信息孤岛是企业信息话的一个重要的负面因素,其主要原因是现有技术因素也有管理因素,还有业务流程和标准方面的因素。如何将众多的信息孤岛联系起来,以便让不同的系统之间交互信息,是当前很多企业都面临的一个问题。
企业应用集成(EAI) 技术可以消除信息孤岛,它将多个企业信息系统连接起来,实现无缝集成,使它们就像一个整体一样。EAI是伴随着企业信息系统的发展而产生和演变的,企业的价值取向是推动EAI 技术发展的原动力,而EAI的实现反过来也驱动企业竞争优势的提升。
一.传统企业应用集成
最初的EAI仅仅是指不同应用系统之间的交互,期待通过应用集成是实现数据在多个系统之间的同步与共享。随着EAI的不断发展,它的内涵变得越来越丰富。从普遍的意义上来说,EAI可以包括表示集成、数据集成、控制集成和业务流程集成等多个层次和方面。
1.表示集成
表示基础也称为界面集成,这是比较原始和最浅层次的集成,但又是常用的集成。这种方法把用户界面作为公共的集成点,把原来零散的系统界面集中在一个新的界面中。
表示集成是黑盒集成,无需了解程序与数据库的内部构造,常用的集成技术主要有屏幕截取和输入模拟技术,表示集成通常应用于一下几种情况:
(1)在现有的基于终端的应用系统上配置基于PC的用户界面;(2)为用户提供一个看上去统一,实际由多个系统组成的应用系统。(3)当只有可能在显示界面上实现集成时。表示集成的实现是比较简单的,也是不彻底的,只是做了一层外面装修,而额外多出来的集成界面也可能称为系统的性能瓶颈。
2.数据集成
为了完成控制集成和业务流程集合,必须首先解决数据和数据库的集成问题。在集成之前,必须首先对数据进行标识并编成目录,另外还要确定元数据模型,保证数据在数据库系统中分布和共享。因此数据集成是白盒集成。通常在以下几种情况,将会使用数据集成:
(1)需要对多种信息源产生的数据进行综合分析和决策。(2)要处理一些多个应用需要访问的公用信息库。(3)当需要从某数据源获得数据来更新另一个数据源时,特别是它们之间的数据格式不同时。相对而言,数据集成比表示集成要更加灵活。
3.控制集成
控制集成也称为功能或者应用集成,是在业务逻辑上对应用系统进行集成的,控制集成的集成点存于程序代码中。集成处可能只需要简单公开的API就可以访问,当然也可以能需要添加附件的代码来实现。控制集成是黑盒集成。
4.业务流程集成
业务流程集成也称为过程集成,这种集成超越了数据和系统,它由一些列基于标准的统一数据格式的工作流组成。当进行业务流程集成时,企业必须对各种业务信息的交换进行定义、授权和管理,以便改进操作、减少成本、提高响应速度。
业务流程集成不仅要提供底层应用支持系统之间的互连,同时要实现存在于企业内部应用之间,本企业和其他合作伙伴之间的端到端的业务流程的管理。
5.企业间的应用集成
EAI技术可以适用于大多数要实施电子商务的企业,以及企业之间的应用集成。EAI使得应用集成架构里的客户和业务伙伴,都可以通过集成供应链内的所有应用和数据库实现信息共享。也就是说,能够使企业充分利用外部资源。例如,一些企业的SCM 系统可能包括交易系统,E A I 技术可以首先在交易双方之间创建连接,然后再共享数据和业务过程;企业要顺利开展电子商务,可以利用E A I 技术,使企业的信息系统与合作伙伴的信息系统之间能够实现无缝而及时的通信。
二.事件驱动的企业应用集成
EAI提供了一个开放的框架,使现有的应用系统和数据库可根据企业业务的需要实现集成,并且能快速地开发新的应用系统,使企业既可以保护已有的投资,又可以根据市场和业务的需求重新整合原有的信息系统,产生新的竞争力。
事件技术是一种非常适合用于分布式异构系统之间松散耦合的协作技术,基于事件驱动的EAI系统同样继承了这个优点。
1.事件驱动架构
事件驱动架构EDA是一种设计和构件应用的方法,其中事件出发消息在独立的,非耦合的模块之间传递。事件源通常发送消息到中间件或消息代理,订阅者订阅这个消息。
EDA的主要特点:(1)异步。EDA主要支持异步活动,消息可以在发出后,不必再关心是否能收到响应,同样也不必在源和目的系统之间维持一条活的链路。(2)发布/订阅:EDA主要支持多对多的交互。(3)解耦。EDA允许消息的发布者不知道订阅者是谁,反之亦然。
支持事件和消息技术的主要模块包括这两个:(1)异步消息机制:EDA必须要保证当事件发生时,响应的系统要能发布异步消息。(2)事件管理:EDA必须保证有一个系统用来识别、定义和聚集事件,这样事件就可以想企业数据和业务流程那样被统一管理。
2.事件驱动的EAI
事件驱动的EAI框架基于面向服务技术,通过各类适配器服务接口将企业应用封装成统一的应用服务,然后发布到目录服务中心,并通过ESB中的基础核心服务,例如统一数据格式额消息传递来实现各个应用系统之间的通信交互。在改框架中,应用服务既可以是已有的应用,也可以是新开发的应用,任何应用都可以独立服务的形式连接到系统中,方式灵活,简单快速,真正实现了"即插即用"。当在事件驱动的EAI框架下需要进行过程集成和业务集成时,首先通过业务流程定义服务,并根据事件驱动的模型将己经注册的应用服务在一定的规则下组成相应的业务流程链。业务集成模型的实现是由集成引擎调用应用服务的接口实现数据的存取,并通过消息引擎在各个应用服务间传递路由数据,实现定义的业务流程。