企业应用集成中间件(数据库)
时间:2022-11-06 00:30:01 | 来源:信息时代
时间:2022-11-06 00:30:01 来源:信息时代
企业应用集成中间件 : 实现企业数据资源共享、应用系统连接和业务流程协同的中间件平台软件。在市场竞争日趋激烈、信息技术飞速发展的今天,企业需要整合现有应用系统,以形成客户关系管理系统、供应链管理系统等企业级应用,并对业务变化和新的机遇进行快速响应,获取更大的竞争优势。企业应用集成(enterprise application integration,EAI)就是将分散在各个部门的业务应用系统和数据源集成在一起,使它们就像一个整体一样,以实现企业整体业务目标的过程。企业应用集成一般通过点对点集成或基于中间件集成两种方法来实现。在目前复杂的企业IT环境中,企业应用集成通常采用基于松耦合通信的中间件来进行,这种方式能够连接异构的系统和操作环境,使得集成容易适应需求变化,并且在部分失效时,保证最大限度的弹性和健壮性。EAI中间件可以有效简化企业应用集成过程、降低集成代价、提升集成时效,并通过各个数据源的整合,提升企业数据精确性,降低数据冗余,并减少数据分布在不同数据源中导致的不一致性。
企业应用集成的历史是伴随着社会信息化的发展而逐渐发展起来的。20世纪60~70年代,计算机主要在一些关键行业的关键部门使用,用于解决科学计算、集中式事务处理、工业控制等问题。在这一阶段,由于金融、海关、制造业及国际贸易等应用系统之间数据交换的需求,出现了企业应用集成思想的萌芽,发展形成了电子数据交换(electronic data interchange,EDI)的技术、标准和应用。EDI是由“数据交换标准协会”开发的电子数据交换规范,是交换业务数据的ANSI X.12标准格式。
20世纪80年代,随着网络和个人计算机的兴起,企业应用向部门级应用拓展,各种应用系统应运而生,企业开始意识到应用集成的价值和必要性。20世纪90年代,随着互联网的兴起和电子商务的出现,企业纷纷开始整合自身的信息资源,以支持业务流程自动化,适应商业环境的需求。在这一阶段,企业开始采用各种中间件技术和产品,构建企业信息基础架构,并对遗留应用制定接口规范,建立信息资源的企业级视图,以实现信息资源的规范化、集中化和综合利用。同重新构造企业信息系统相比较,EAI提供了一种集成应用的更为经济、便捷的手段。在这一阶段,并没有形成一个统一完整的企业应用集成中间件的体系,用户往往根据自身特点,采用消息中间件、分布对象中间件或其他特定的技术实现企业应用的整合。
进入21世纪,随着业界对企业应用集成问题研究的深入,逐渐形成了对企业应用集成中间件的整体认识,并从数据层、业务逻辑层、业务流程层和展现层开始了EAI中间件技术体系的全面整合,产生了一系列EAI套件产品,其中,在数据逻辑层利用各种数据集成中间件或工具进行数据的抽取、转换、加载;在业务逻辑层利用CORBA IIOP、java RMI或消息中间件实现分布式应用系统之间的互联、互通和互操作; 在业务流程层,在工作流管理系统的基础上,发展形成了业务流程管理系统,以支持业务流程的建模、编排、运行和管理监控; 在展现层,出现了企业信息门户(enterprise information portal)等技术,以适应Web应用对表现逻辑的动态组合、统一访问及个性化服务的要求。
通常将支持数据逻辑层、业务逻辑层和业务流程层整合的中间件平台定位为企业应用集成中间件。目前,比较典型的企业应用集成中间件产品包括IBM WebSphere Business Integration系列、BEA WebLogic Integration、Tibco、WebMethod、Microsoft BizTalk等,国内中创软件也推出了企业应用集成套件InforEAI。
图1给出了一个EAI中间件的基本结构。从图中可以看出,一个基于EAI中间件实现的集成化应用系统包含应用层、应用适配层、消息代理层和业务流程层等四个层次:
图1 企业应用集成中间件基本结构
(1) 应用层: 由各类企业信息系统(enterprise information system,EIS)构成。EIS是指企业在信息建设过程中购买或自主开发的应用系统,它们为企业日常事务管理以及决策支持提供基本的信息支持。典型的企业消息系统包括传统C/S结构的管理信息系统、数据库管理系统和企业资源计划系统(enterprise resance planning,ERP)等。由于这些系统往往是在企业信息化不同阶段采用特定技术而构建的,因此这些EIS也称为遗留应用。
(2)应用适配层: 由实现数据转换、应用接口的各类应用适配器构成,主要实现EIS特殊的数据格式或访问调用与消息代理中统一的数据格式的相互转换。
(3)消息代理层: 由消息代理构成。通过消息代理,各个应用系统之间可以将其他应用感兴趣的信息以消息形式发布出去,而对其他应用系统的信息感兴趣的应用则可以订阅相关消息。这些出版、订阅的消息由消息代理进行统一管理和传输,并在传输过程中保证消息的一致性和传输质量。
(4)业务流程层: 由一组实现业务流程的定义、组装、装载和运行监控的软件工具构成。业务流程,是指为了在一定时期内达到特定的商业目标,而按照各种商业规则连接起来的业务功能集。在EAI中间件中,所有集成活动都通过业务流程定义,并按业务流程驱动。
企业应用集成中间件的工作原理为: 在业务流程的驱动下,业务流程引擎与消息代理交互,激活相关应用适配器,采集企业信息系统的数据或调用相关接口,并将执行结果以统一的消息形式提交给消息代理。该消息的订阅者从消息代理中获取所需要的消息,并进行相关处理。这样,实现不同企业信息系统中的数据集成、应用互通和流程整合。
EAI中间件包含以下基本模块:
(1)适配器(adaptor): 为了解决企业信息系统之间的连接而开发的可重用、统一的接口。适配器主要的目的是实现企业信息系统中的数据与消息代理中消息格式的相互转换。企业信息系统之间的连接方式包括CORBA、SOCKET、RMI、RPC、EJB、COM/COM+、消息中间件、HTTP和FTP等,而数据库系统之间常见的连接规范包括ODBC、JDBC等,上述实现企业信息系统连接的各种技术通称为连接协议。为了将所有这些应用纳入应用集成的范围,EAI通过对这些协议的包装,将原有数据库系统、应用系统和原有网络服务组件封装成标准的适配器,实现系统之间的互通互联。每一个应用系统的适配器只需要与消息代理相连,它们之间的地位相互对等,彼此之间不直接发生关系,企业信息系统之间消息的传输均通过消息代理实现。应用系统之间不直接相连,也简化了一个集成应用系统的结构。
(2)消息代理: 采用发布/订阅架构的一种消息中间件。在消息代理中,消息的发送方称为出版者,消息的接收方称为订阅者,不同的消息通过不同的主题进行区分。出版者向消息代理出版其他应用系统感兴趣的消息,而订阅者从消息代理接收自己感兴趣的消息,出版者和订阅者之间通过消息代理进行关联。消息代理中的消息通常采用XML进行统一表示,其功能包括消息路由、消息永久存储、事件服务、名字服务、通告服务、安全服务和事务服务等。
(3)业务流程管理:包括业务流程建模工具、业务流程引擎和业务流程监控管理工具等。企业应用集成的目标是构建企业级信息资源的充分共享和综合利用,实现业务运营和管理的优化,而基于业务流程管理,可以实现企业范围内的业务自动化,为业务流程的运行提供度量和分析手段,同时,业务流程、业务逻辑和数据的分离,可以保障业务流程调整和变更的灵活性和完整性,从而达到业务运营和管理优化的目的。
(4)业务流程建模工具:对业务流程进行设计建模并对模型进行集中管理的工具。流程建模通常采用图形化方式来描述业务流程各个环节的业务活动及资源约束,并刻画流程变化的业务规则。
(5)业务流程引擎:通过维护业务流程、活动实例等控制状态信息,实现业务流程解释执行、业务流程实例的生命周期管理、流程实例执行过程控制和业务活动的执行顺序安排。
(6)业务流程监控管理工具:流程监控是对系统中的核心业务流程或关键活动的执行过程进行监控管理的工具。通过对业务流程进行分级和分类,在流程运行过程中监察特定流程实例或关键活动,从而可以实时跟踪了解业务流程的动态执行过程,并对业务流程执行情况进行统计分析。
随着EAI以及Web Service技术的成熟和发展,出现了面向服务体系架构(service-oriented architecture,SOA)、企业服务总线(enterprise service bus,ESB)和实时企业(real-time enterprise,RTE)等概念,这些新技术将引领未来EAI中间件技术的整体走向,EAI中间件将向服务化、智能化、实时化三个方向发展。其中,服务化是指EAI中间件将与SOA和Web服务等技术相融合,其核心的消息代理机制将向服务代理和企业服务总线过渡; 智能化是指在数据、应用、业务流程已经有效集成的基础上,决策支持系统等智能化应用将成为企业应用集成中间件的一个重点支持方向,同时,灵活的业务规则引擎、消息智能路由和集成策略管理机制将在EAI中间件中得到进一步的丰富和完善; 而实时化是指企业应用集成中间件将进一步消除企业内部存在的各种信息孤岛,实现企业信息资源的无缝衔接,保障企业各类业务活动所需信息资源的新鲜性和实时性,消除关键业务流程管理与执行中的延迟,并对业务流程进行动态优化调整,以即时响应市场变化,提升企业的整体竞争力。