您好, 访客   登录/注册

基于消息中间件的数据交换中心设计与实现

来源:用户上传      作者:

  摘要:为了解决企业信息化进程中消除信息孤岛、保证数据源唯一等应用系统间的集成需求,提出基于消息中间件技术和设计原则构建统一的数据交换中心,在分布式环境下实现跨异构系统和安全域的可信数据传输交换。
  关键词:消息中间件;消息队列;代理域;发布/订阅
  中图分类号:TP311.56 文献标识码:A文章编号:1007-9599 (2011) 14-0000-01
  The Design and Implemention of Data Exchange Center Based on Message Oriented Middleware
  Shen Xin
  (Electronics and Information College,Sichuan University,Chengdu610000,China)
  Abstract:The current IT industries face the situation that it is difficult to eliminate info solitude islet and keep the data-source uniquely.To solve this problem,we introduce a technique scheme,which is based on message-oriented middleware to build uniform data exchange center.The design and implement is aim to actualize safety data transmission in the distributed circumstance.
  Keywords:Message-oriented middleware;Message queue;Broker domain;Publish/Subscribe
  一、引言
  随着信息化建设的逐步深入和管理规范化、扁平化的要求,应用系统间的数据共享及交互、保证数据源唯一和消除信息孤岛等系统集成需求日益迫切,传统基于适配器[1]的数据集成方式已不能适应日趋复杂的应用拓扑结构。
  面对上述现状,从头建立新的IT基础环境是不切合实际的。我们希望通过非侵入(Non-Invasive)的方式,应用消息中间件原理、技术和设计原则,构建统一的数据交换中心,保证各业务数据的一致性、完整性和可靠性,实现跨异构系统数据的水平整合[2]。
  二、消息中间件原理
  消息中间件是一种独立的系统软件和服务程序,其提供的异步通信模式适合在开放协同的软件环境中进行数据和信息交互,满足企业内部对异构系统和不同应用的扩展和兼容,其核心功能在于:实现业务应用所需的连通性、消息转换、基于内容的路由和基于事件驱动[3]的集成等。消息中间件主要解决以下问题:
  (一)由于不同类型的应用程序和进程之间需要接收和发送消息,传统基于适配器的数据集成方式使得应用系统间的连通性变得异常复杂和难以维护。
  (二)各个应用程序所需的消息格式和内容有很大不同,需要在消息传输时进行数据转换和压缩。
  (三)发送方应用程序可能并不知道消息的最终目的,这就意味着消息中间件需要解析消息头和消息体,将消息发送到正确的接收方。
  消息中间件由不同职能的组件构成,主要包括:消息队列,消息代理和消息流\消息集开发环境消息队列:负责接收和存储消息,实现应用程序和消息代理之间的通信。主要分为:本地队列、远程队列、传输队列等。队列管理器负责配置和管理消息队列、连接通道和侦听器等。
  1.消息代理[4]:基于消息流和消息集处理消息。
  (1)消息流:表示消息在发送到最终目的之前需要执行的操作和顺序,在执行组中部署和运行。
  (2)消息集:包含一个或者多个消息定义,消息定义提供给消息代理有效的消息结构和格式,当消息到达时,消息代理通过消息流和消息集处理消息。
  (3)代理域:多个消息代理可以并行,由统一的代理域负责维护和管理。
  (4)配置管理器:代理域通过相应的配置管理器协调各个消息代理,通过数据库存储与代理域相关的配置信息。
  2.消息流\消息集开发环境:负责创建、修改和部署消息流和消息集,通过和配置管理器通信,把消息流和消息集部署到一个或者多个代理中。
  三、数据交换中心设计与实现
  基于消息中间件的数据交换中心和相关应用系统的部署拓扑关系,各个应用系统建立自身的消息队列服务器,配置相应的队列管理器和消息队列,其中本地队列用于接收消息,远程队列定义和传输队列用于发送消息,在分消息代理中配置用于接收来自各个应用系统业务消息的本地队列,建立发送方通道和接收方通道,由中心消息代理通过发布/订阅模式[5],建立特定的主题词绑定到对应消息队列中,各个应用系统通过对该主题的订阅,实时监听队列中的消息,然后将返回消息发送到输出队列,并最终传输到相关应用系统的本地队列中。
  数据交换中心的消息队列服务与应用系统的消息队列服务之间的消息收发模型消息发送步骤具体如下:
  (一)应用系统通过应用消息代理,将消息发送到本地的远程队列定义中。
  (二)远程队列定义将消息转发到绑定的传输队列。
  (三)本地的发送方通道监听到传输队列中有消息到达后,从传输队列取出消息,通过服务器通道,发送到对应的接收方通道。
  (四)接收方通道接收到消息后,根据该消息来源的远程队列定义所绑定的远程队列,将消息发送到接收方对应的本地队列。
  四、结语
  在信息化建设过程中,针对业务应用集成的复杂性和多样性,要真正实现应用间的互联互通,需要基于其业务特点选择不同的解决方案,而消息中间件是实现业务应用互连互通和数据交换的基础,同时是建立企业服务总线[6]的核心,基于消息中间件的数据交换中心能够实现业务应用之间的数据和信息交互,并保证消息基于同步、异步等多种模式的可信消息传输交换,对提高生产与管理效率、增强管理创新和知识积累与传递具有重要的作用和意义。
  参考文献:
  [1]姜宇.一种基于适配器的构件组合方法[J].计算机系统应用,2011,4
  [2]梁文铮.SOA架构下基于BPEL的业务流程集成技术[J].兵工自动化,2008,6
  [3]贾艳.离散事件驱动的流程建模方法与系统实现[J].计算机工程与设计,2011,3
  [4]魏巍.一种用户可扩展消息中间件的设计与实现[J].微电子学与计算机,2010,12
  

转载注明来源:https://www.xzbu.com/8/view-8725112.htm