论文部分内容阅读
摘要:传统的数据集成解决方案业务敏捷性不强,难以对业务变更作出快速的响应。基于SOA的数据集成中间件在层次上采用了SOA的层次划分,在功能上采用了SOA的服务设计思想,对业务逻辑进行了服务分离,降低了数据集成中间件内部的耦合度,提高了数据集成中间件的复用性和扩展性,从而提升了数据集成中间件的业务敏捷性。
关键词:数据集成;中间件;面向服务架构;服务总线
中图分类号:TP391文献标识码:A
文章编号:1002-3100(2008)12-0035-03
Abstract: The traditional solution of data integration is poor on the business agility, so it is hardly in responding to the change of business for quickly. A middleware of data integration which based on then SOA, uses the service oriented architecture, and makes use ofthe thought of service design in the SOA to design the function of this middleware. To separates the business logic by the service, induces the coupling degree in the middleware of data integration, advances then reusable attribute and expansibility and business agility of then middleware.
Key words: data integration; middleware; service oriented architecture(SOA); enterprise service bus(ESB)
0引言
數据作为信息系统的重要组成内容贯穿于整个信息系统,对数据的集成在信息系统集成过程中起到基础支撑性的作用。对已有的业务系统进行集成,关键内容之一就是对各业务系统下的异构数据进行集成,使其在不同的系统之间能够实现共享。传统的解决方案是从各底层数据源中提取数据,经过一致性转换后形成一个集中库,这种方法需要重复存储大量的数据,且难以对业务的变更做出快速的响应。
本文提出一种基于SOA的数据集成中间件,采用SOA的设计思想,将数据集成中的各种业务分离成可供复用的服务,通过对这些服务的不同组合实现不同的业务逻辑,从而达到数据集成的敏捷性。
1SOA相关技术简介
1.1SOA概念及特征
SOA(Service-Oriented Arehitecture,面向服务的体系结构)是指为了解决在Intenet环境下业务集成的需要,通过连接能完成特定任务的独立功能实体实现的一种软件系统架构[1-2]。SOA的目的在于对业务的变化提供快速响应,即“业务敏捷性”(Business Agility)。实现这一目的的核心手段是将分离的关注点定位于业务流程逻辑中的各种功能,将这些功能设计成松散耦合的、自治的、可复用的、可组合的功能实体,并将这些功能实体封装成具有统一标准的服务描述、统一标准的服务契约且抽象的服务,再通过对服务的不同组合实现不同的业务,实现系统的集成。SOA具有三大基本特征:
(1)平台无关性。SOA的体系架构基于一套全球标准化且公开的标准,如SOAP WSDL、XML和XML Schema等,这些标准均与厂商无关的,开发商依据标准开发相关产品,因此SOA与开发平台、硬件平台、操作系统无关。
(2)业务敏捷性。SOA的目的就是业务敏捷性,通过对服务的重新编排、组合等较小的改动,使得信息系统能够对内部改组、企业合并、组织业务变化等带来的业务变更做出快速响应,提高信息系统的响应效率。
(3)高服务质量。服务的自治性、无状态性以及服务之间的松散耦合确保SOA体系结构能够提供高质量的服务。
![](https://www.soolun.com/img/pic.php?url=http://img.resource.qikan.cn/qkimages/wlkj/wlkj200812/wlkj20081212-1-l.jpg)
1.2SOA体系结构
服务是SOA的核心内容,“面向服务架构”是一个术语,代表一个模型,其中的自动化逻辑可分解为小的、不同的逻辑单元,这些逻辑单元组成一个较大的业务自动化逻辑片断,并可以对这些逻辑单元进行独立的分布式部署[3],这些逻辑单元就是服务。
SOA体系结构主要由三个角色组成:服务请求者、服务提供者、服务注册库。服务提供者在服务注册库中注册有包含服务描述和其它相关文档、协议的服务契约,使服务能够被发现。服务请求者首先查询服务注册库,依据服务契约找到服务提供者,通过向服务提供者发送满足其服务契约的消息,绑定服务提供者。图1为SOA体系结构。
2基于SOA的数据集成中间件
2.1基于SOA的数据集成中间件的设计思想
基于SOA的数据集成中间件采用面向服务的设计思想,将数据集成中间件的主要功能按其特点进行分离、抽象,封装成符合标准的服务形式;在数据集成中间件内的消息,数据视图都基于统一的标准;利用Web技术的标准体搭建数据集成中间件的运行环境和平台。
在层次划分上,基于SOA的数据集成中间件采用了SOA的层次结构,分为Web技术层,业务层,服务总线层,服务提供层。这样的层次划分,降低了数据集成中间件的开发难度,同时将数据集成中间件的主要功能封装成具有统一标准的服务,提高了扩展能力和业务敏捷性。
在服务设计上,按照SOA的服务设计规范,将数据集成中间件预期的业务逻辑按操作粒度建模成服务;服务间的消息采用SOAP协议,服务运行产生的结果采用XML文档存储,这样保证了服务的无状态性、自治性,降低了服务之间的耦合度。使用XML Schema作为数据视图的描述格式,为数据集成提供标准的中间格式;用XML文档做为集成过程中数据的缓存。
2.2基于SOA的数据集成中间件的体系结构
图2是其数据集成中间件体系结构图,从层次结构上看,基于SOA的数据集成中间件分为以下四个层次:
①Web技术层,位于体系结构的顶层,是数据集成中间件的对外部分。Web技术层通过开放的技术标准(如Http、Ftp、SMTP、XML、SOAP、WSDL和UDDI等)对服务进行封装;对数据视图的访问操作被封装到一个用户访问界面,对数据的集成也被封装为具有标准描述格式的服务。与用户之间的消息发送、接收及消息交付质量控制也是由Web技术层完成。②业务层是数据集成中间件功能业务的提供层,该层利用服务层提供的服务实体组成数据查询、数据交互、数据视图管理、服务管理等业务流程,并提供这些业务流程的入口点、参数和相关描述。③服务总线是框架的核心部分,由它完成服务的注册、查询、绑定、调用、协调,以及对组合服务的编排工作;服务之间的消息交互也由服务总线完成。服务经服务总线注册后发布,并获得一个全局唯一性标示;服务请求者依据服务描述、服务契约生成服务请求消息,服务总线根据请求查询并定位服务,完成对服务的调用工作,实现服务请求者与服务提供者的邦定。④服务提供层是服务的实体层,由各种功能实体及其服务封装描述组成。数据集成中间件的主要服务都是由这些功能实体组成。服务层内包含了不同粒度的服务:原子服务和组合服务,原子服务存储有其功能实体和服务描述、服务契约;组合服务只存储了其服务的编排文件、服务描述和服务契约,这些服务共同构成了数据集成中间件的功能基础。
从功能划分上来看,数据集成中间件包含了管理模块、安全管理模块、数据引擎模块、存储管理模块、数据源适配器模块,这些功能模块由多个不同的服务组成。
(1)管理模块:主要是对数据视图、元数据、用户的管理。管理模块为管理者提供一个图形化的界面,引导管理者根据异构数据源之间数据的关系建立统一的数据视图;对用户进行划分,授予其对数据视图不同层次的访问权限。管理模块还提供对元数据的更新管理,使得中间件能够及时提供对新数据源的支持。
(2)安全管理模块:主要为数据集成提供安全保障,包括三个方面的内容:权限认证,对用户访问权限的认证和对管理员权限的认证;加密解密,对进出中间件的数据加密和对数据视图文件的加密;服务控制,对服务运行时进行监控,保证服务的完整执行。其中服务控制部分由服务总线完成,其它部分由服务层内的服务组合构成。
(3)数据引擎模块:该模块是数据集成中间件的核心模块。数据引擎负责对用户的查询请求进行优化处理,制定一个开销最小的查询计划,按计划对查询进行分解,将查询分解为对底层数据源的查询,再将这些查询序列化,按序列化调用数据源适配器,执行查询;适配器返回查询结果后,数据引擎首先对数据进行必要的筛选,再依据数据视图定义的数据关联关系对数据进行合并。
(4)存储管理模块:数据集成中间件采用XML Schema描述数据视图的描述,用XML文档存储用户、管理员信息和缓存中间数据。存储管理模块主要对XML文档的读取和存储管理。
(5)适配器:负责与底层数据源进行连接,执行数据查询,并将查询结果从数据源的本地格式转化为统一的标准格式。值得注意的是:基于SOA的数据集成中间件在适配器的设计上也采用了SOA的思想,将适配器的文档转化功能设计并封装成一个服务,用XML文档存储了数据源本地格式与标准格式之间的转化关系,通过读取XML文档来指导完成对某一数据源的格式转换。这种设计思想提高了服务的复用程度,降低了开发的工作量。
3结束语
基于SOA的数据集成中间件以面向服务的设计思想对数据集成过程中的主要业务流程进行了划分,将业务流程逻辑分离为松耦合的、自治的、无状态的、可复用的功能实体,并将其封装为具有统一描述標准的服务,再通过对服务的编排组成业务,提高了数据集成中间件的扩展性,降低了其内部的耦合度和开发工作量。基于SOA的数据集成中间件具有很强的业务敏捷性,能够对业务变更作出快速的响应,具有很强的使用价值。
参考文献:
[1] 佚名. 专题:SOA面向服务架[EB/OL].(2006-08-04)[2008-06-25]. http://www.51cto.com/html/2006/0106/16327.htm.
[2] 佚名. 面向服务的体系结构SOA概述[EB/OL].(2006-01-04)[2008-06-25]. http://www.51cto.com/html/2006/0104/16186.htm.
[3] 伊尔(Erl,T.)(美). SOA概念、技术与设计[M]. 王满红,陈荣华,译. 北京:机械工业出版社,2006.
[4] 王忠,龙博. 基于SOA的手机用户自助服务系统架构研究[J]. 科学技术与工程,2007,19(4):5108-5111.
[5] 刘小琳,郑有才. 面向服务的工作流技术[J]. 计算机工程与应用,2005,16(3):24-28.
[6] 余亮,魏峻. 基于服务和规则扩展的工作流模型[J]. 计算机工程与应用,2004,40(31):186-189.
关键词:数据集成;中间件;面向服务架构;服务总线
中图分类号:TP391文献标识码:A
文章编号:1002-3100(2008)12-0035-03
Abstract: The traditional solution of data integration is poor on the business agility, so it is hardly in responding to the change of business for quickly. A middleware of data integration which based on then SOA, uses the service oriented architecture, and makes use ofthe thought of service design in the SOA to design the function of this middleware. To separates the business logic by the service, induces the coupling degree in the middleware of data integration, advances then reusable attribute and expansibility and business agility of then middleware.
Key words: data integration; middleware; service oriented architecture(SOA); enterprise service bus(ESB)
0引言
數据作为信息系统的重要组成内容贯穿于整个信息系统,对数据的集成在信息系统集成过程中起到基础支撑性的作用。对已有的业务系统进行集成,关键内容之一就是对各业务系统下的异构数据进行集成,使其在不同的系统之间能够实现共享。传统的解决方案是从各底层数据源中提取数据,经过一致性转换后形成一个集中库,这种方法需要重复存储大量的数据,且难以对业务的变更做出快速的响应。
本文提出一种基于SOA的数据集成中间件,采用SOA的设计思想,将数据集成中的各种业务分离成可供复用的服务,通过对这些服务的不同组合实现不同的业务逻辑,从而达到数据集成的敏捷性。
1SOA相关技术简介
1.1SOA概念及特征
SOA(Service-Oriented Arehitecture,面向服务的体系结构)是指为了解决在Intenet环境下业务集成的需要,通过连接能完成特定任务的独立功能实体实现的一种软件系统架构[1-2]。SOA的目的在于对业务的变化提供快速响应,即“业务敏捷性”(Business Agility)。实现这一目的的核心手段是将分离的关注点定位于业务流程逻辑中的各种功能,将这些功能设计成松散耦合的、自治的、可复用的、可组合的功能实体,并将这些功能实体封装成具有统一标准的服务描述、统一标准的服务契约且抽象的服务,再通过对服务的不同组合实现不同的业务,实现系统的集成。SOA具有三大基本特征:
(1)平台无关性。SOA的体系架构基于一套全球标准化且公开的标准,如SOAP WSDL、XML和XML Schema等,这些标准均与厂商无关的,开发商依据标准开发相关产品,因此SOA与开发平台、硬件平台、操作系统无关。
(2)业务敏捷性。SOA的目的就是业务敏捷性,通过对服务的重新编排、组合等较小的改动,使得信息系统能够对内部改组、企业合并、组织业务变化等带来的业务变更做出快速响应,提高信息系统的响应效率。
(3)高服务质量。服务的自治性、无状态性以及服务之间的松散耦合确保SOA体系结构能够提供高质量的服务。
![](https://www.soolun.com/img/pic.php?url=http://img.resource.qikan.cn/qkimages/wlkj/wlkj200812/wlkj20081212-1-l.jpg)
1.2SOA体系结构
服务是SOA的核心内容,“面向服务架构”是一个术语,代表一个模型,其中的自动化逻辑可分解为小的、不同的逻辑单元,这些逻辑单元组成一个较大的业务自动化逻辑片断,并可以对这些逻辑单元进行独立的分布式部署[3],这些逻辑单元就是服务。
SOA体系结构主要由三个角色组成:服务请求者、服务提供者、服务注册库。服务提供者在服务注册库中注册有包含服务描述和其它相关文档、协议的服务契约,使服务能够被发现。服务请求者首先查询服务注册库,依据服务契约找到服务提供者,通过向服务提供者发送满足其服务契约的消息,绑定服务提供者。图1为SOA体系结构。
2基于SOA的数据集成中间件
2.1基于SOA的数据集成中间件的设计思想
基于SOA的数据集成中间件采用面向服务的设计思想,将数据集成中间件的主要功能按其特点进行分离、抽象,封装成符合标准的服务形式;在数据集成中间件内的消息,数据视图都基于统一的标准;利用Web技术的标准体搭建数据集成中间件的运行环境和平台。
在层次划分上,基于SOA的数据集成中间件采用了SOA的层次结构,分为Web技术层,业务层,服务总线层,服务提供层。这样的层次划分,降低了数据集成中间件的开发难度,同时将数据集成中间件的主要功能封装成具有统一标准的服务,提高了扩展能力和业务敏捷性。
在服务设计上,按照SOA的服务设计规范,将数据集成中间件预期的业务逻辑按操作粒度建模成服务;服务间的消息采用SOAP协议,服务运行产生的结果采用XML文档存储,这样保证了服务的无状态性、自治性,降低了服务之间的耦合度。使用XML Schema作为数据视图的描述格式,为数据集成提供标准的中间格式;用XML文档做为集成过程中数据的缓存。
2.2基于SOA的数据集成中间件的体系结构
图2是其数据集成中间件体系结构图,从层次结构上看,基于SOA的数据集成中间件分为以下四个层次:
①Web技术层,位于体系结构的顶层,是数据集成中间件的对外部分。Web技术层通过开放的技术标准(如Http、Ftp、SMTP、XML、SOAP、WSDL和UDDI等)对服务进行封装;对数据视图的访问操作被封装到一个用户访问界面,对数据的集成也被封装为具有标准描述格式的服务。与用户之间的消息发送、接收及消息交付质量控制也是由Web技术层完成。②业务层是数据集成中间件功能业务的提供层,该层利用服务层提供的服务实体组成数据查询、数据交互、数据视图管理、服务管理等业务流程,并提供这些业务流程的入口点、参数和相关描述。③服务总线是框架的核心部分,由它完成服务的注册、查询、绑定、调用、协调,以及对组合服务的编排工作;服务之间的消息交互也由服务总线完成。服务经服务总线注册后发布,并获得一个全局唯一性标示;服务请求者依据服务描述、服务契约生成服务请求消息,服务总线根据请求查询并定位服务,完成对服务的调用工作,实现服务请求者与服务提供者的邦定。④服务提供层是服务的实体层,由各种功能实体及其服务封装描述组成。数据集成中间件的主要服务都是由这些功能实体组成。服务层内包含了不同粒度的服务:原子服务和组合服务,原子服务存储有其功能实体和服务描述、服务契约;组合服务只存储了其服务的编排文件、服务描述和服务契约,这些服务共同构成了数据集成中间件的功能基础。
从功能划分上来看,数据集成中间件包含了管理模块、安全管理模块、数据引擎模块、存储管理模块、数据源适配器模块,这些功能模块由多个不同的服务组成。
(1)管理模块:主要是对数据视图、元数据、用户的管理。管理模块为管理者提供一个图形化的界面,引导管理者根据异构数据源之间数据的关系建立统一的数据视图;对用户进行划分,授予其对数据视图不同层次的访问权限。管理模块还提供对元数据的更新管理,使得中间件能够及时提供对新数据源的支持。
(2)安全管理模块:主要为数据集成提供安全保障,包括三个方面的内容:权限认证,对用户访问权限的认证和对管理员权限的认证;加密解密,对进出中间件的数据加密和对数据视图文件的加密;服务控制,对服务运行时进行监控,保证服务的完整执行。其中服务控制部分由服务总线完成,其它部分由服务层内的服务组合构成。
(3)数据引擎模块:该模块是数据集成中间件的核心模块。数据引擎负责对用户的查询请求进行优化处理,制定一个开销最小的查询计划,按计划对查询进行分解,将查询分解为对底层数据源的查询,再将这些查询序列化,按序列化调用数据源适配器,执行查询;适配器返回查询结果后,数据引擎首先对数据进行必要的筛选,再依据数据视图定义的数据关联关系对数据进行合并。
(4)存储管理模块:数据集成中间件采用XML Schema描述数据视图的描述,用XML文档存储用户、管理员信息和缓存中间数据。存储管理模块主要对XML文档的读取和存储管理。
(5)适配器:负责与底层数据源进行连接,执行数据查询,并将查询结果从数据源的本地格式转化为统一的标准格式。值得注意的是:基于SOA的数据集成中间件在适配器的设计上也采用了SOA的思想,将适配器的文档转化功能设计并封装成一个服务,用XML文档存储了数据源本地格式与标准格式之间的转化关系,通过读取XML文档来指导完成对某一数据源的格式转换。这种设计思想提高了服务的复用程度,降低了开发的工作量。
3结束语
基于SOA的数据集成中间件以面向服务的设计思想对数据集成过程中的主要业务流程进行了划分,将业务流程逻辑分离为松耦合的、自治的、无状态的、可复用的功能实体,并将其封装为具有统一描述標准的服务,再通过对服务的编排组成业务,提高了数据集成中间件的扩展性,降低了其内部的耦合度和开发工作量。基于SOA的数据集成中间件具有很强的业务敏捷性,能够对业务变更作出快速的响应,具有很强的使用价值。
参考文献:
[1] 佚名. 专题:SOA面向服务架[EB/OL].(2006-08-04)[2008-06-25]. http://www.51cto.com/html/2006/0106/16327.htm.
[2] 佚名. 面向服务的体系结构SOA概述[EB/OL].(2006-01-04)[2008-06-25]. http://www.51cto.com/html/2006/0104/16186.htm.
[3] 伊尔(Erl,T.)(美). SOA概念、技术与设计[M]. 王满红,陈荣华,译. 北京:机械工业出版社,2006.
[4] 王忠,龙博. 基于SOA的手机用户自助服务系统架构研究[J]. 科学技术与工程,2007,19(4):5108-5111.
[5] 刘小琳,郑有才. 面向服务的工作流技术[J]. 计算机工程与应用,2005,16(3):24-28.
[6] 余亮,魏峻. 基于服务和规则扩展的工作流模型[J]. 计算机工程与应用,2004,40(31):186-189.