首页  ·  知识 ·  
基于SOA的企业应用集成研究
牛栩 荆泽泉      编辑:dezai   图片来源:网络
随着企业信息化进程的推进,迫切需要消除企业间以及内部的“信息孤岛”,以实现不同应用系统间既相互独立,又能信息共享、业务协同。本文针对这个问题,提出了一
1、引言

“信息孤岛”催生了企业应用集成(EAI,Enterprise Application Integration)技术的产生与发展。EAI使企业内部的ERP、CRM、SCM、数据库、数据仓库等应用之间无缝地共享和交换数据。但是,传统的EAI使用CORBA、DCOM、JCA等技术实现分布式、跨平台的应用交互,缺乏开放公用的标准,其实现与特定厂商的私有技术紧密关联,限制了企业应用集成的发展。

面向服务体系架构(SOA,Service-Oriented Architecture)的出现,为EAI提供了新的解决方案。SOA要求开发者从服务集成的角度来设计应用系统,充分挖掘、重用企业现有系统中的业务和数据资源,并以新的形式重新集成各类应用系统,从根本上解决了“信息孤岛”与业务无法协同等问题。

2、传统EAI解决方案

2.1基于CORBA的企业应用集成

公共对象请求代理架构(CORBA)是分布式对象技术在异构环境下进行分布式开发的一种有效解决方案。如图1所示,基于CORBA的企业应用集成的基本方法是以企业模型、信息共享模型为基础,以产品为对象,以产品开发过程为核心,利用软件总线和构件技术,来开发不同应用软件的接口适配器,以实现各种应用软件的即插即用以及彼此之间的信息交换与共享。

点击图片查看大图

点击放大图片

图1基于CORBA的企业应用集成模型

2.2基于COM/DCOM的企业应用集成

COM/DCOM技术是MicrosoR在对象连接与嵌入(OLE)基础上发展起来的构件接口规范,提供了构件开发、运行和集成的环境。如图2所示,基于C0M/Dc0M的企业应用集成以组件对象模型为核心,建立了一套组件形态标准和接口标准,以确保不同厂商、不同语言、不同操作系统的组件具有二进制级的互操作性,并通过RPC(即对象RPC或ORPC)实现远程调用。

点击图片查看大图

点击放大图片

图2基于COM/DCoM的企业应用集成模型

2.3基于T2EE/JCA的企业应用集成

J2EE连接器架构(JCA)是SUN公司与其合作伙伴提出的一种基于J2EE的体系架构规范,用来集成J2EE组件与企业信息系统(EIS),为应用服务器和EIS的连接提供JAVA解决方案。如图3所示,基于J2EE/JCA的企业应用集成模型提供了包装和部署设施,各种应用能够以EJB组件的形式“插入”到J2EE应用服务器中。

点击图片查看大图

点击放大图片

图3基于J2EE/JCA的企业应用集成模型

2.4基于MOM 的企业应用集成

消息中间件(MOM)能在消息的生产者和消费者之间建立连接,并支持分布式应用程序之间消息的可靠传递。如图4所示,基于MOM的企业应用集成模型提供了应用集成所必须的数据传送、过滤、映射和路由等功能,屏蔽了不同硬件平台、消息格式、通信协议之间的差异,使不同应用之间具有高效、便捷的通信能力。

点击图片查看大图

点击放大图片

图4基于MOM的企业应用集成模型

通过对上面几种模型的阐述,可以看出,传统的EAI解决方案主要存在以下缺陷。

首先,传统的EAI大多是点到点的集成,不同应用之间需要一个专有的“适配器”来进行连接。当需要集成的应用较多时,这种逻辑关系就会成级数增加,需要花费大量的时间和精力。

其次,企业不同应用之间相互依赖,需要了解彼此内部的具体实现方式,使得集成架构缺乏“柔性”和可扩展性,应用功能随业务需求灵活变化的便捷性较差。

最后,不同的应用和数据源使用不同的接口和数据格式,没有统一、公开的标准和协议,增加了维护的复杂度和成本,同时,难于实现在其它集成架构中重用。

3、基于SOA的企业应用集成架构

在传统EAI解决方案基础上,通过引入SOA中企业服务总线(ESB)和业务流程编排(BPM)等技术;同时,利用成熟的web Services技术实现对不同应用的服务封装,得到了如图5所示的基于SOA的企业应用集成架构。

点击图片查看大图

点击放大图片

图5基于SOA的企业应用集成架构

下面具体介绍架构中各层的定义和实现的功能。

3.1应用系统层

包含企业现有的CRM、SCM和ERP打包应用程序等,以及一些遗留的基于对象的系统实现、业务智能应用程序。

3.2组件层

组件层支持将不同技术实现的应用系统通过封装的方式部署在集成架构中。具体实现是利用Web Services技术对应用系统进行服务封装,以WSDL形式向外暴露接口,使用SOAP{N息传输方式进行交互。Web Services技术屏蔽不同应用系统的实现细节,实现了以松散耦合的方式使用服务,因此当服务内部的具体实现变更时,只要WSDL描述的接口不变,就不会影响服务的调用。

3.3连接层

连接层位于组件层之上,实现对服务的部署、管理、控制和调用等功能,这里借助企业服务总线来实现。ESB是过去消息中间件的发展,采用总线这种模式来管理和简化企业应用集成的拓扑结构,以开放的标准为基础来实现不同应用之间在消息、事件和服务级别上的互联互通,克服了点对点集成过程中的不足。

3.4服务层

服务层包括Web服务平台和可用的web服务,实现服务的发布、注册、查询和调用等功能。Webg服务被封装实现后在IIS中发布或在UDDI中注册。服务请求者可以通过IIS获取服务地址直接调用,也可以在UDDI中通过搜索与之需求匹配的服务进行调用。

3.5流程层

流程层定义了服务层中web服务组合和编排的形式,通常使用基于XML的业务流程执行语言(WS—BPEL)进行业务流程描述。服务的不同组合方式代表了企业的不同业务过程,从而实现动态业务模型。当业务流程发生变化时,只要调整服务之间的编排方式,就可以快速灵活地响应业务需求。

3.6表示层

表示层位于架构的顶层,为企业应用提供用户交互界面。可以说,表示层实现了对服务的集成,为外部访问不同的应用系统提供了一个接口,服务调用的过程对用户来说是透明的。

4、结语

本文针对传统EAI解决方案中的不足,基于SOA思想,提出了一种面向服务的企业应用集成架构。该架构具有SOA的松散耦合、可重用和高度可集成等特征,能有效地集成企业现有资源,提高业务敏捷能力和消除“信息孤岛”。

本文作者:牛栩 荆泽泉 来源:网络
CIO之家 www.ciozj.com 微信公众号:imciow
    >>频道首页  >>网站首页   纠错  >>投诉
版权声明:CIO之家尊重行业规范,每篇文章都注明有明确的作者和来源;CIO之家的原创文章,请转载时务必注明文章作者和来源;
延伸阅读