《电子技术应用》
您所在的位置:首页 > 其他 > 设计应用 > 基于SOA的新型企业应用集成框架的研究与设计
基于SOA的新型企业应用集成框架的研究与设计
来源:微型机与应用2010年第14期
吕占德, 傅秀芬
(广东工业大学 计算机学院, 广东 广州 510006)
摘要: 针对传统的企业应用集成(EAI)缺乏灵活性和适应性、集成难度较大等问题,讨论了相关的支撑技术,充分利用SOA具有的松耦合、跨平台、可重用的优点,提出一种基于SOA的新型企业应用集成框架,实现了用户访问与底层数据、企业应用相分离,将业务流程改造为标准的松耦合企业服务。该框架的成功应用大大提高了企业应用集成系统开发的效率和经济效益。
Abstract:
Key words :

摘   要: 针对传统的企业应用集成(EAI)缺乏灵活性和适应性、集成难度较大等问题,讨论了相关的支撑技术,充分利用SOA具有的松耦合、跨平台、可重用的优点,提出一种基于SOA的新型企业应用集成框架,实现了用户访问与底层数据、企业应用相分离,将业务流程改造为标准的松耦合企业服务。该框架的成功应用大大提高了企业应用集成系统开发的效率和经济效益。
关键词: 面向服务架构; 企业应用集成; Web服务; 松耦合

   20世纪80年代至90年代,各大企业不断开发自己的应用系统,随着业务的增长和信息化的发展,企业信息门户等,要求企业的应用系统是一个高度集成和开放的系统。然而由于大部分企业拥有异构系统,系统间信息无法共享、流程无法互通、软件无法复用等难题,形成一个个的“信息孤岛”,成为企业发展的瓶颈。在此种情况下,传统的企业应用集成(EAI)解决方案不能方便、灵活、低代价地实现异构系统的集成,难于快速适应企业现代业务变化的需求。    
 近年出现了SOA、SCA、Web Services、ESB等新技术[1,3],将EAI与SOA结合是解决传统EAI缺陷的有效方法。SOA通过良好的接口定义,实现了接口与服务实现的分离,服务的重用性和位置的透明性使服务的实现能够独立于硬件平台、操作系统和编程语言。本文结合基于SOA的EAI最新研究成果,提出一种基于SOA的企业应用集成框架,从而灵活地实现异构系统的松耦合集成,大幅度改善应用系统的服务水平,达到提高企业经济效益的最终目的。
1 企业应用集成(EAI)
1.1 EAI的概念

 企业应用集成是一种全新的企业集成解决方案,能融合企业的遗留应用,让企业利用现有的信息资源快速提供新的产品和服务,增进与客户、供应商和其他相关利益集团的联系。企业应用集成能够将企业的业务流程、应用软件、硬件和各种标准联合起来,在两个或更多的企业应用之间实现无缝集成,使它们像一个整体或一个系统一样处理企业业务过程[1]。EAI通过建立底层结构来联系横贯整个企业的异构系统、应用、数据源等,完成在企业内部的ERP、SCM、CRM、数据仓库、数据库,以及其他重要的内部系统之间无缝共享和交换数据的需要。
1.2 EAI的三个集成层面
 企业应用软件的集成可以在表示层、数据层和功能层3个要点上实现。
 表示层、数据层集成都属于紧耦合的应用系统集成方式,系统的灵活性和扩展性较弱,为了实现各应用系统之间的松耦合,保证原有系统的数据安全性和逻辑安全性,需要一种面向功能层(服务)的企业系统集成方式。因此,提出了基于面向服务架构(SOA)的新型企业应用集成模型。
1.3 传统EAI集成方案特点
 传统的企业应用集成主要采用点对点的集成、基于中间件的集成、CORBA、COM/DCOM、J2EE等分布式计算技术,它们都是针对特定的软硬件结构、网络环境或者特定的应用领域而研究开发的,耦合性高、互操作性差,面对软硬件结构的变化,系统的自适应能力较差。为此利用SOA具有松耦合、跨平台、可重用的优点,提出基于SOA的应用集成框架,可以很好地解决这些问题,尤其是针对多个运行在不同平台的应用程序间的相互集成[2]。
2 面向服务架构(SOA)概述
2.1 SOA概念

 传统的企业应用集成(EAI)解决方案不能方便、灵活、低代价地实现异构系统的集成,难于快速适应企业现代业务变化的需求。在此背景下提出面向服务架构SOA(Service-Oriented Architecture),其基本思想是以服务为核心,把各种应用分解为软件服务模块,这些服务模块被统一整合到一起,利用服务解决异构问题。
2.2 SOA交互模型
 SOA描述了三类角色,它们分别是服务提供者、服务请求者和服务代理者。服务提供方负责开发和部署Web服务,并同时定义服务,通过服务代理方发布服务。服务代理方(通常称为服务注册商)负责服务的注册和寻找Web服务。服务代理方列出有助于服务请求方查找和订阅所需服务的各种服务类型、描述和位置。服务请求方负责服务的调用。服务请求方通过服务代理方的帮助找到Web服务,调用所需服务,并通过服务提供方执行这些服务。它们之间的交互关系如图1所示。

 基于SOA交互模型的企业应用集成的优点有[4]:
 (1)通用性强:Web服务是由一系列标准组成的,集成应用系统的方法具有很好的通用性和兼容性。
 (2)重用性高:封装为服务后的各遗留系统之间相互独立,重用性较高。
 (3)可扩展性:接口用统一标准开发,容易对新开发服务进行集成。升级单个服务或服务消费者无需写整个应用。
 (4)服务注册和调用灵活:通过采用数据表、私有UDDI、公共UDDI的方式为企业内外用户提供不同的调用方式,大大提高了服务的注册和调用的效率。
3 基于SOA的企业应用集成框架
 SOA是一种架构模型,实现它的技术很多,如分布式对象技术:CORBA、COM/DCOM、J2EE;面向消息的中间件技术;Web Services技术等。但由于Web Services是面向服务的分布式计算框架,具有松散耦合、平台无关、易于集成等优点,是目前实现SOA的最佳选择[5]。
3.1 Web Services技术分析
 Web Services是自包含、模块化的应用程序,它可以在网络(通常为Web)中被描述、发布、查找以及调用。以XML为主的、开放的Web规范技术是Web Services的基石,因此它具有比任何现有对象技术更好的开放性,实现它的关键技术有三项:
 (1)XML/SOAP。可扩展的标记语言XML是Web Services平台中表示数据的基本格式。简单对象访问协议SOAP提供了标准的RPC方法来调用Web Services。SOAP是基于XML的,XML是SOAP的数据编码方式。
 (2)WSDL。Web Services描述语言WSDL是一种基于XML的语言,用于描述Web Services及其函数、参数和返回值。因为是基于XML的,所以WSDL文档最大的优点是人可以阅读,机器也可以阅读的。一些开发工具甚至可以根据Web Services生成WSDL文档,又能导入WSDL文档,生成调用相应Web Services的代码。
 (3)UDDI。统一描述、发现与集成UDDI规范定义了这样的注册中心,Web Services的提供者可以在其中发布相应的WSDL文档,Web Services的消费者则可以在其中找到自己需要的服务,并通过WSDL文档获得如何调用相应Web Services的方法。
 Web Services技术有一套开放的规范标准,包括XML、SOAP、WSDL、UDDI、WSFL、HTTP等。Web Services协议栈是以XML为基础,SOAP、WSDL与UDDI为核心的标准协议集。如图2所示。

   Web Services采用了分层的思想,各层分别实现不同的功能,上面几层建立在下面几层提供的功能之上。左面的文本表示协议栈的对应层所使用的标准技术,右面垂直的部分表示在协议栈中每一层必须满足的需求。
3.2 基于SOA的EAI解决方案模型
 SOA是可重用网络服务的一个集合,通过定义良好的且平台独立的接口进行通信。这些服务提供了对数据、IT基础架构的访问,并允许对服务供应、消费以及生命周期进行管理。基于SOA的解决方案需要来自基于SOA的共享的基础架构服务[6]。图3给出了一个SOA解决方案模型的高级视图,基础架构服务从逻辑上被分组为4个服务层次,每个服务层可由一些不同粒度的公共服务组成。

   (1)共享的应用程序服务层。是指需要集成的企业应用系统和数据仓库。通过相应的数据库接口适配器和应用程序接口适配器进行数据的整合与应用系统的互连。
 (2)消息和代理服务层。是基础架构中的核心整合服务层,包括消息传输、动态路由、目录服务及数据转换等服务。
 (3)共享的业务服务层。侧重对业务流程的支持,通过对生产或运行中关键服务进行管理,使得对企业复杂多变的业务流程能方便、灵活地定制和实施。
 (4)用户交互服务层。提供统一的用户交互服务,包括单点登录、权限控制及个性化服务等。
3.3 基于SOA的EAI框架的总体设计
 基于SOA的EAI框架如图4所示。整个框架结构从上到下,从左到右分为四层,依次为客户访问层、企业应用集成层、消息传输层、服务提供与封装层。还包括SOAP路由器、企业防火墙、公共以及私有UDDI注册中心、企业服务总线等。各层主要功能如下:

 (1)客户访问层:Web客户通过企业防火墙和外部交互网关后访问应用层的典型应用,充当服务请求者的角色。
 (2)企业应用集成层:它是集成框架的核心部件,自身包含了多个组件,如集成服务器、用户身份认证、消息服务、Web服务安全控制等。
 (3)消息传输层:作为消息总线连通了企业应用集成层和服务提供与封装层的消息交互,作为企业应用集成层为消息格式转换功能提供了元数据映射模式。
 (4)服务提供与封装层:提供相应的数据接口和企业应用接口服务,集成各个应用系统和数据存储库。对企业内部各种信息系统进行服务封装,为应用集成系统提供各类Web服务接口。
    该集成框架基于SOA体系架构,采用Web Services技术,企业的各种遗留信息系统包括新开发的Web服务应用,通过Web Services封装器将各自的功能进行封装。Web Services能彻底地改变传统的EAI中点对点的集成处理方式,以一种松散的服务捆绑集合形式,能够快速、低代价地开发、发布、发现和动态绑定应用。结合了Web Services的EAI系统实现了一种面向服务层的松耦合的企业应用集成系统,可以最大限度地同时满足性能和灵活性的要求。
参考文献
[1] LEE J, SIAU K, HONG S. Enterprise integration with  ERP and EAI[J].Communications of the ACM 2008,46(2).
[2] 王彦丽,陈明,陈峰,等.基于Web Services企业应用集成的设计与分析[J].计算机技术与发展,2008,18(9):212-
215.
[3] 张广胜,蒋昌俊,汤宪飞,等.面向服务的企业应用集成系统描述与验证[J].软件学报,2007,18(12):3015-3030.
[4] 刘贤梅,刘茜,徐锋,等. 基于SOA的企业应用集成模型的研究[J].计算机工程与设计.2009,26(30):3790-3793.
[5] 张海军,史维军,刘伟.基于SOA企业应用集成框架研究与实现[J].计算机工程与设计,2008,29(8):2085-2088,  2092.
[6] 李磊,牛春雷,陈宁江,等.一种高效的Web服务性能优 化策略[J].计算机研究与发展,2007,44(7):1191-1198.

此内容为AET网站原创,未经授权禁止转载。