基于消息队列软总线的系统集成与数据交换方案


华 南 理 工 大 学 学 报 ( 自 然 科 学 版 ) 第 36卷 第 5期 Journal of South China U niversity of Technology V ol. 36 N o. 5 2008年 5月 (N atural Science Edition) M ay 2008 文章编号 : 10002565X (2008) 0520001205    收稿日期 : 2007206203 3 基金项目 : 粤港关键领域重点突破项目 (2006A15006003)  作者简介 : 邓辉舫 (19572) ,男 ,教授 ,博士生导师 ,英籍专家 ,主要从事数据库与网络计算方面的研究. E2mail: hdeng2008@ gmail. com 基于消息队列软总线的系统集成与数据交换方案 3 邓辉舫  黄俊成 (华南理工大学 计算机科学与工程学院 , 广东 广州 510006) 摘  要 : 为了充分利用已有系统的数据资源和服务资源 ,建立一个扩展性好、资源占用 少、松散耦合、复用性强、维护方便的平台级或大型集成系统 ,文中提出了一种基于消息队 列软总线的系统集成方案. 利用. net程序集技术和 C#语言的反射机制来构造“热插拨 ”数 据适配器 ,并将其编写成 DLL程序集组件 ,从而实现异构 (不同数据标准或格式 )系统之 间有效的、方便的数据交换. 该方案已应用于物流通关公共服务信息平台. 关键词 : 消息队列 ; 软总线 ; 热插拔 ; 适配器 ; 系统集成 ; 数据交换 ; 物流通关 ; 公共信 息平台 中图分类号 : TP311    文献标识码 : A   在构建平台级系统的过程中 ,往往需要对已有 的各种业务系统进行有效地集成. 由于已有系统之 间所使用的数据标准和格式可能不一样 ,因此 ,系统 集成的关键问题是如何实现原有系统间的信息交流 或数据交换. 例如 ,为了有效地构建物流公共信息平 台 ,充分利用物流通关已有信息系统的数据资源和 服务资源 ,人们需要集成供应链管理系统、企业物流 系统、仓储管理系统、电子口岸信息系统以及电子政 务应用系统等 ,使得这些采用不同数据标准的系统 能够方便地进行信息交流. 同时 ,实现系统集成应遵 循“三不 ”原则 :不影响企业的现有系统 ;不影响企 业的业务流程 ;不影响企业的实际利益. 其中一种系统集成方案是简单地在需要交换数 据的系统之间增加数据转换模块 (即数据适配器 ) ,但 随着要集成的系统和需要进行数据交换的系统不断 增多 ,这种简单的“拼接模式 ”将使得集成系统内部的 子系统之间的关系变得非常复杂 ,难以管理与扩展. 软总线的概念来源于计算机硬件技术 ,希望它 能够实现类似于硬件总线的桥梁功能 ,任何一个符 合一定标准的应用程序都可以通过插件方式获得软 总线的支持 ,与总线上的其它部件相互通信、协调与 控制 [ 1 ] . 采用软总线体系结构的系统集成方式 ,可 以有效地降低需要集成的系统之间的耦合程度 ,具 有良好的可扩展性、可复用性、可维护性 ,是当前构 建大型系统的首选方案. 为了建立一个扩展性好、资 源占用少、松散耦合、复用性强、维护方便的集成系 统 ,文中提出一种基于消息队列软总线的系统集成 与数据交换方案. 1 与软总线连接的数据适配器 为了简化问题 ,文中先讨论两个系统 A和 B 集 成的情况. 系统 A 是数据请求端 ,系统 B 是数据服 务提供端 ,即 B执行 A的请求 ,如图 1所示.   在软总线体系架构下 ,不同系统之间的集成或 者数据交换 ,需要经过软总线. 不过 ,软总线并不能 识别所有系统发过来的请求数据 ,即使能识别进入 其中的数据 ,处理该请求数据的服务端也不一定能 识别由软总线流出的请求数据. 在软总线中流通的 数据 ,必须符合软总线的数据格式. 因此 ,不同系统 之间要经过软总线进行通信或数据交换 ,需要适配 器来对数据进行必要的转换 ,使得数据从请求端流 入软总线后能让软总线识别和处理 ,或者将经软总 线处理过的数据转换成能让数据服务端识别和处理 的数据. 图 1 适配器在系统间数据交换中的作用 Fig. 1 Function of adapters in data exchange among system s 2 系统集成与数据交换方案 2. 1 基于消息队列的软总线 目前 ,软总线的实现技术主要有 3种 :远程过程 调用、对象请求代理和消息队列. 远程过程调用和对象请求代理两种方案中 ,相 互通信的系统在设计与开发的过程中都需要遵守严 格的接口规范 ,它们都是耦合程度较高的软总线实 现方式. 而消息队列为构造以同步或异步方式实现 的分布式应用提供了松耦合方法 [ 2 ] . 构建大型应用系统需要考虑以下问题 : (1)集成已有系统. 由于现有系统之间的相异程 度很大 ,使用的数据标准不一样 ,因此根据系统集成 的“三不 ”原则 ,必须采取松散耦合的系统集成方法. (2)系统未来扩展. 在开发系统时并不能完全 预见将需要与之交互、集成的系统的通信要求 ,为了 便于未来的扩展与使用 ,应为系统建立有效、便捷的 通信和调用机制. 综上所述 ,采用基于消息队列的软总线可以有 效降低系统的耦合程度 ,有利于系统的集成和扩展 , 是较为理想的软总线实现方式. 2. 2 系统集成与数据交换方案架构 基于射频识别 (RFID )公共服务平台的软总线 与适配器的架构大致可分为 3部分 (如图 2所示 ) : 服务请求端、软总线和服务提供端. 其中 ,最关键部 分是软总线的设计 ,因为软总线采用的消息格式、对 消息的路由策略以及对消息的接收、处理与分派 ,都 直接影响到数据请求与服务的执行.   该方案的执行流程如图 3所示 ,执行步骤如下 :   (1)服务请求端和服务提供端分别在信息中心 注册其网络地址 ,并获得其标识号. (2)到信息中心注册数据适配器信息 ,如适配 器名字及其提供的方法、参数等. (3)在信息中心配置消息路由信息 ,即服务请 求端的消息到了软总线后 ,经哪个数据适配器进行 数据转换 ,转换后的数据发往哪个服务提供端. (4)软总线接收到服务请求端的消息 ,对消息 进行分析 ,并在信息中心查找相关的信息 ,如消息的 路由信息、使用哪个数据适配器的哪个方法进行数 据转换、转换后数据发往哪个服务提供端. (5)软总线根据消息的信息和信息中心中的配 置信息 ,激活对应的数据适配器为消息服务. (6)消息中携带的数据通过数据适配器进行转换. 图 2 基于消息队列软总线的系统集成与数据交换方案架构 Fig. 2  A rchitecture of system integration and data exchange solution based on message queue software bus 图 3 基于消息队列软总线的系统集成与数据交换方案的 运行时序图 Fig. 3  Run sequence diagram of system integration and data exchange solution based on message queue software bus 2 华 南 理 工 大 学 学 报 (自 然 科 学 版 ) 第 36卷   (7)经数据适配器转换后的数据发往目标的服 务提供端. 2. 2. 1 服务请求端 服务请求端可以理解为从已有系统中提取业务 数据 (这些数据最终由服务提供端处理 ) ,总线适配 器把业务数据“打包 ”成能让软总线处理的消息格 式. 总线适配器可以在业务数据上添加一些路由信 息 (如请求端的标识、消息路由的目的地 ) ,或者对 业务数据加密等 ,但添加的信息应该符合软总线的 消息标准. 2. 2. 2 服务提供端 服务提供端接收从服务请求端发送、由软总线 上的数据适配器转换后的数据 ,并利用这些数据进 行业务处理. 通过服务提供端在信息中心注册的位 置信息和软总线的路由信息 ,软总线可以把数据适 配器处理过的数据正确路由到服务提供端. 2. 2. 3 软总线 软总线的设计主要包括 4个方面 :软总线消息 规范、信息中心、消息处理器和数据适配器 ,具体设 计如下 : (1)软总线消息规范  如何描述消息队列中的 消息 ,消息如何包装服务请求端的数据 ,这并没有严 格的约束. 在本方案中 ,采用 XML 语言来描述消 息 [ 3 ] . 消息包括两大部分 : ①消息来源 ,指软总线中 的消息是由哪一个服务请求端发来的 ,是一个服务 请求端的标识串 ,该标识串是服务请求端在软总线 的信息中心注册后获得的 ; ②消息数据 ,该部分又可 分为参数和返回值两部分. 消息的数据部分描述了服 务请求端所要处理的数据及其类型 ,返回值部分描述 了该消息是否需要返回值以及返回值的类型等. (2)信息中心  软总线负责接收由请求端发送 的消息、消息的路由 ,并分派到适当的数据适配器处 理. 但是 ,软总线在能正常处理消息之前 ,必须先对 软总线的信息中心进行配置. 需要配置的信息主要有两类 : 1)位置信息 ,记 录服务请求端、服务提供端的网络位置 (如网络中 的 IP、端口信息 ) ; 2)消息的路由信息 ,从服务请求 端发送到软总线的消息 ,路由到适当的数据适配器 处理 ,并把处理后的消息发送到对应服务提供端 ,要 实现这个过程 ,软总线需要了解消息的路由信息. (3)消息处理器  消息处理器取出队列头消 息 ,软总线根据消息上的服务请求端标识 ,查找在信 息中心配置的路由信息 ,找到该标识对应所使用的 数据适配器方法以及最终的服务提供端 ,对消息进 行路由与处理. (4)数据适配器  数据适配器在软总线上有 3 种工作方式 :主动监听方式、订阅消息方式和动态调 用方式. 由于在主动监听和订阅消息方式中 ,适配器 都时刻处于监听状态 ,容易造成计算资源浪费 ,而软 总线动态调用数据适配器方法 (如图 4所示 )则可 以解决这个问题. 图 4 软总线动态调用数据适配器的方式 Fig. 4 W ay of software bus dynam ically invoking adap ters   在软总线动态调用数据适配器的方法中 ,数据 适配器平时处于空闲状态 ,只有软总线需要调用适 配器对消息中的数据进行转换 ,相关的数据适配器 才处于工作状态 ,一旦数据适配器处理完本次消息 数据 ,又恢复到空闲的状态. 要实现动态调用数据适配器方式 ,软总线必须 知道每一个适配器的名字、各个适配器中的服务方 法名和参数 ,文中使用面向对象高级编程语言的反 射机制来实现软总线的这个功能. 通过反射机制 ,将 以代码文件形式存在的类或组件 ,在运行时动态导 入到程序中 ,使程序可以了解到这些类或组件的属 性与方法 , 从而能够动态地访问属性和调用方 法 [ 4 ] ;同时 ,系统自描述的改变能够立即反映到系 统底层实际状态和行为的变化 ,从而简单地实现了 “热插拔 ”的功能 ,即只要通过在信息中心配置信 息 ,然后将现有的数据适配器放到软总线上 ,无需 “重启 ”或修改软总线的相关组件 ,即可实现系统之 间的数据交换. 可见 ,本软总线在技术实现上主要提供了以 W eb服务为主的封装方式 ,以 XML格式的文本作为 数据载体 ,以 XML Schema对数据进行校验. 由于 W eb服务与 XML都与开发语言无关 ,而且得到了大 多数主流开发工具的支持 ,可以使不同数据格式的 系统能以统一的方式通过软总线进行数据交换. 文 中的这种系统集成方案使系统具有更高的开放性、 扩展性和动态适应性. 由于程序集 . net Framework应用程序的基本构 造块包含描述其各个子模块自身的内部版本号以及 这些子模块所包含的所有数据和对象类的详细信息 3 第 5期 邓辉舫 等 : 基于消息队列软总线的系统集成与数据交换方案 的元数据 ,且仅在需要时才加载 ,所以 ,文中采用 . net程序集来实现数据适配器 ,并将其编写成 DLL 程序集组件 ,结合 C#语言的反射机制 ,共同实现适 配器的“热插拔 ”. 此外 ,使用 DLL 程序集还可以有 效地解决程序部署过程中的版本控制问题 ,降低模 块耦合程度 ,提高代码重用性 ,减少程序的初始启动 时间 ,节省内存资源 [ 5 ] . 为了便于软总线 [ 6 ] 对适配器的调用 ,适配器 DLL组件开发应定义统一的开发规范 ,如 DLL组件 命名空间的命名规则、组件中适配器类及其方法的 命名规则和方法的原形 (参数、返回值等 )规则.   图 5显示了 DLL适配器的工作流程 :适配器接 收到需要处理的源信息 (文件 ) ,获得相关映射文件 的支持并调用辅助组件 ,对需处理的信息 (文件 )进 行处理 ,生成相关格式的目标消息 (文件 ). 其中映 射文件、辅助组件为辅助项 ,不同的数据转换有不同 的要求 ,应根据具体需要进行设计. 图 5 适配器的通用工作流程 Fig. 5 General working logic of an adapter 3 在物流通关公共信息平台中的应用 物流通关涉及到生产、仓储、运输、贸易、保险、 金融、税务、检验检疫、口岸、海事和海关等单位和部 门的业务数据. 这些数据具有多样性、异构性、开环 性、标准不一致性等特点 ,是造成各部门和企业的业 务系统难以互联互通的原因之一. 因此 ,需要构建物 流通关公共信息平台 ,使得各业务系统在公共信息 平台下高效地进行信息交流、资源共享 ;并且当加入 新的业务系统后 ,新系统在不影响原业务流程和原 有系统运作的情况下 ,能实现与其它系统的协同运 作和信息交流 ,即具有良好的可扩展性. 构建物流通关公共信息平台的关键问题 ,简单 地说 ,就是各业务信息系统如何集成和进行数据交 换. 根据物流通关的业务特点 ,目前物流通关信息系 统主要涉及到的数据标准有 :基于电子数据交换标 准 (ED I) [ 7 ]的数据交换技术、基于 XML的数据交换 技术 [ 8 ] 、基于 Web应用的数据呈现技术和基于 Web 服务的数据交换技术. 结合文中提出的基于消息队列 软总线的系统集成与数据交换方案 ,提出可扩展的物 流通关信息系统联通和集成框架如图 6所示. 图 6 可扩展的物流通关信息系统联通和集成框架 Fig. 6   Extendable architecture of logistics custom s clearance information system s connection and integration   从图 6可见 ,各种 ED I数据交换系统、XML 数 据交换系统、W eb应用业务系统、W eb服务业务系 统等物流通关信息系统通过对应的统一接口适配器 进行数据转换 ,再通过软总线即可与各种异构系统 进行数据交换 ,从而实现一站式的物流通关 ,有效地 管理物流信息与资源 ,实现现代化物流管理. 基于消息队列软总线的物流通关信息系统的优 点如下 : (1)基于消息队列的软总线是一种松散耦 合的系统集成方式 ,可以避免对原有物流通关业务 系统的大量修改 ,也易于新业务系统的集成 ,具有良 好的可扩展性 [ 9210 ] ; (2)数据适配器的“低耗 ”特性 , 使得物流通关业务系统间可以进行高效的数据交 换 ; (3)“热插拔 ”数据适配器的使用 ,使得业务系统 在使用新的数据标准后 ,不需要修改与其进行数据 交换的另一方业务系统 ,而只需修改或新建数据适 配器 ,同时数据适配器的自身修改不会影响其它业 务系统的信息交流. 4 结语 文中提出了一种基于消息队列软总线的系统集 成方案 ,这种方案的主要工作是信息的配置以及数 据适配器的开发. 松散耦合的软总线系统集成可避 免对已有系统的大量修改 ,使得系统集成后仍能保 持良好的架构 ;资源消耗低、“热插拔 ”的数据适配 器使采用不同数据标准的系统之间可以高效地进行 信息交流与数据交换 ,集成新的子系统时并不影响 4 华 南 理 工 大 学 学 报 (自 然 科 学 版 ) 第 36卷 已集成系统的正常运作. 该方案能较好地应用于物 流通关公共信息平台业务系统的集成 ,并实现了系 统间的异构数据交换 ,是一种扩展性良好的系统集 成方案 ,同样适用于构建面向其它行业应用的平台 级或大型系统. 参考文献 : [ 1 ]  严亚勤 ,吴文传 ,张伯明 ,等. 支持组件接口规范的能 量管理系统软总线的初步研究与实现 [J ]. 电网技术 , 2004, 28 (20) : 11216. Yan Ya2qin, W u W en2chuan, Zhang Bo2m ing, et al. Pre2 lim inary research and implementation of soft2bus for EMS supporting component interface specification [ J ]. Power System Technology, 2004, 28 (20) : 11216. [ 2 ]  罗靖 ,董朝霞 ,华斌. 电网调度员培训仿真系统中消息 队列技术的应用 [ J ]. 水电能源科学 , 2002, 20 (4) : 80281. Luo Jing,Dong Zhao2xia, Hua B in. Application of message queue technique in design of DTS [ J ]. Hydroelectric Energy, 2002, 20 (4) : 80281. [ 3 ]  杨林. 超文本置标语言技术应用 [ J ]. 科技资讯 , 2007 (6) : 1162117. Yang L in. HTML technology application [ J ]. Science & Technology Information, 2007 (6) : 1162117. [ 4 ]  王玉英 ,陈平. 反射技术与软件的适应性 [ J ]. 计算机 工程与设计 , 2003, 24 (10) : 26229. W ang Yu2ying, Chen Ping. Reflection and softwareπs adap2 tion [ J ]. Computer Engineering and Design, 2003, 24 (10) : 26229. [ 5 ]  范文广. NET平台下 DLL 技术应用与研究 [ J ]. 林区 教学 , 2006 (11) : 12213. Fan W en2guang. DLL technology applications and re2 search in NET platform [ J ]. Teaching of Forestry Region, 2006 (11) : 12213. [ 6 ]  刘桂雄 ,方晓东 ,易静蓉 ,等. 以太网智能测控系统中 虚拟仪表软件的实现 [ J ]. 华南理工大学学报 :自然科 学版 , 2003, 31 (12) : 22225. L iu Gui2xiong, Fang Xiao2dong, Yi Jing2rong, et al. V irtual instrument software realization in Ethernet intelligent measuring and control system [ J ]. Journal of South China University of Technology: Natural Science Edition, 2003, 31 (12) : 22225. [ 7 ]  郝颖 ,丁月华 ,文贵华. 基于 XML的 Internet ED I [ J ]. 华南理工大学学报 :自然科学版 , 2001, 29 (6) : 77280. Hao Ying, D ing Yue2hua, W en Gui2hua. XML2based In2 ternet ED I [ J ]. Journal of South China University of Technology: Natural Science Edition, 2001, 29 (6) : 77280. [ 8 ]  黄润才. 基于 XML的消息队列 [ J ]. 上海工程技术大 学学报 , 2002, 16 (3) : 1862191, 196. Huang Run2cai. XML2based message queuing [ J ]. Jour2 nal of Shanghai University of Engineering Science, 2002, 16 (3) : 1862191, 196. [ 9 ]  叶宁. Unix环境下利用 Socket和消息队列构建应用通 信平台 [J ]. 华南金融电脑 , 2002, 10 (11) : 85288. Ye N ing. Construct the app lication communication p lat2 form used Socket and message queue in Unix [J ]. Finan2 cial Computer of Huanan, 2002, 10 (11) : 85288. [ 10 ]  Josuttis N icolaiM. SOA in p ractice: the art of distributed system design [M ]. Cambridge: OπReilly, 2007: 12324. System Integration and Data Exchange Solution Based on M essage Queue Software Bus D eng Hui2fang Huang Jun2cheng ( School of Computer Science and Engineering, South China University of Technology, Guangzhou 510006, Guangdong, China) Abstract: In order to construct a large integrated ( i. e. , a platform level) system with good extensibility, less re2 source consum ing, weak coupling, excellent reusability and convenient maintenance on the basis of the existing business application system s and bymaking full use of the data and service resources of these system s, a system in2 tegration solution is proposed based on the message queue software bus. A . net tool package, combined with the re2 flective mechanism of C# is used to construct hot plug2in adapters in form of DLL components. In thisway, the ef2 fective and convenient data exchange among varying system s with different data standards or formats is achieved. A successful application of this solution to an information2sharing service platform for logistics custom s clearance is given to show its usability finally. Key words: message queue; software bus; hot plug2in; adapter; system integration; data exchange; logistics cus2 tom s clearance; public information2sharing platform 5 第 5期 邓辉舫 等 : 基于消息队列软总线的系统集成与数据交换方案
还剩4页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 8 金币 [ 分享pdf获得金币 ] 2 人已下载

下载pdf

pdf贡献者

drjsnow

贡献于2012-03-06

下载需要 8 金币 [金币充值 ]
亲,您也可以通过 分享原创pdf 来获得金币奖励!
下载pdf