当前位置:首页 > 作文大全 > 面向Web服务的消息中间件模型_面向消息的中间件
 

面向Web服务的消息中间件模型_面向消息的中间件

发布时间:2019-01-10 04:14:01 影响了:

  摘要: 通过较为详细地介绍Web服务及消息中间件技术,明确了将Web服务和消息中间件技术结合的切入点和优势,同时给出了设计面向Web服务的消息中间件系统的设计目标。最后,提出并讨论了一种面向Web服务的消息中间件模型。
  关键字: Web服务;消息中间件;面向服务的体系架构;XML
  中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2007)18-31491-02
  A Model of Message-Oriented Middleware Oriented Web Services
  QI Yan-ke1, 2, XU Hong-bing1
  (1.School of Computer Science & Engineering, Southeast University,Nanjing 210096, China; 2.Zhengzhou Institute of Aeronautical Industry Management, Zhengzhou 450015,China)
  Abstract:Combining Message-Oriented Middleware (MOM) with Web Services, the cut-in and advantages are nailed down by introducing Web Services and MOM in detail relatively. The design goals of Web Services-oriented MOM system are indicated. Finally, a MOM model is put forward and discussed.
  Key words:Web Services; Message-Oriented Middleware; Service-Oriented Architecture; XML
  
  1 引言
  
  随着Internet在各个领域应用的深入,分布式计算和三层/多层体系结构得到了长足的发展。企业级的应用也向着三层和多层体系结构的分布式环境不断迈进。开发和利用异构平台上的企业级应用迫切需要一种基于标准的、独立于计算机硬件及操作系统的开发和运行环境。中间件技术应运而生。
  中间件(Middleware)介于操作系统和各种分布式应用程序之间,通过屏蔽分布环境的异构性和复杂性,以简化分布式应用程序的开发和维护。
  
  2 Web服务和消息中间件
  
  2.1 Web服务
  Web服务(Web Services)是新一代的开放分布式处理技术,可以方便地实现Internet上跨平台、语言独立、松散耦合的异构应用的交互和集成。
  2.1.1 Web服务的概念
  我们可以从不同的角度理解Web Services[2]。技术层面上,Web服务基于XML、采用SOAP协议,是一种软件互操作的基础设施;应用层面上,Web服务用于集成应用,作为一种协作措施,将原有的软件系统改造为基于消息的松散耦合系统或者构建新的松散耦合系统。
  2.1.2 体系架构及技术规范
  Web服务采用面向服务的体系架构(Services-Oriented Architecture, SOA),通过服务提供者、请求者和注册中心之间的交互实现服务调用。如图1。因此,消息交换是Web服务的核心内容。
  图1 Web Services体系结构
  Web Services涉及的技术规范包括XML、WSDL、SOAP和UDDI[1]。WSDL是程序员描述Web Services的编程接口;Web Services通过UDDI注册自己的特性,其他应用程序通过UDDI找到需要的Web服务;SOAP则提供了应用程序和Web服务之间的通信手段。WSDL,SOAP和UDDI都建立在XML基础之上。
  开放分布式处理中的互操作性一直是其要解决的根本问题。Web服务使用SOAP协议实现异构应用之间的互操作性。SOAP协议基于HTTP。然而,HTTP协议无状态、不可靠等不足,使其不能为企业Web服务提供可靠、安全的消息传输机制。
  2.2 消息中间件
  消息中间件(Message-Oriented Middleware, MOM)是中间件中发展较为迅速,也是比较成熟的一类中间件。
  2.2.1 核心技术
  消息中间件以消息的形式收发不同系统中的应用程序数据,解决不同系统或应用间的通讯问题。通信的双方以异步、非阻塞、确定的方式收发消息,不需要实际的物理通路。因此,消息中间件很适合松散耦合系统。
  消息传递是消息中间件的关键技术。消息中间件采用多种机制以保证消息可靠、高效、安全的传输,如核心的异步机制、多路由的管理、优先级机制等。
  2.2.2 体系结构
  在企业级应用的三层体系结构中,消息中间件位于中间层,即业务逻辑层。消息中间件通过核心的API,可扩展到不同的系统和平台上,从而满足Internet环境下快速、可靠地连接异构资源的需求。消息中间件的结构如图2。
  图2 MOM结构
  消息中间件为消息通信提供了质量良好的底层通信框架,为企业级应用开发提供了统一、健壮的通讯平台。然而,传统的消息中间件更多地专注于企业局域网应用环境,在扩展到Internet环境时显得不足,难以满足复杂网络环境下大规模交互的需要。
  2.3 Web服务与消息中间件的结合
  通过以上分析,一方面消息中间件需要通过Web服务扩展以更好地适应Internet环境;另一方面,为构建企业级应用,Web服务需要消息中间件提供其所需的异步性和可靠性,以扩展Web服务的应用领域。
  
  3 设计目标
  
  利用Web Services中的SOA思想组建消息中间件,可以实现以下目标:
  (1)灵活性
  依靠具有独立架构的服务接口,为消息中间件提供强大的重用性和灵活性;
  (2)可靠性
  通过服务扩展和重组,更增强消息传输的可靠性;
  (3)交互性和扩展性
  采用统一的XML消息格式,具备良好的交互性和扩展性。
  同时,Web服务通过消息中间件可以进一步提升应用性能,扩展应用领域。
  
  4 一种消息中间件模型
  
  目前比较有影响的消息中间件产品和规范有IBM的MQSeries产品、Sun的JMS(Java Message Service)规范和Microsoft Message Queuing。但他们都存在明显的不足。如JMS 定义了一系列API,但JMS基于Java语言,限制了它与非Java语言实现系统之间的交互。
  我们提出一种面向Web服务的消息中间件模型。模型提出的主要思想是将MOM和SOA结合,以Web服务的形式提供MOM的API,能够使Web服务和优势互补,更好地为企业级的分布应用开发提供支持。图3所示为三层体系结构中该消息中间件的架构。
  图3面向Web Services 的消息中间件
  在该消息中间件模型中,主要由Web Services接口、代理Agent、消息队列、注册服务队列以及队列管理器组成。
  4.1 功能架构
  4.1.1 消息格式
  该模型采用XML作为统一的消息格式。
  首先,XML格式的消息数据可以非常方便地在异构平台间传递;其次,XML 的自我描述特性,使得基于XML 的消息可以在不同的应用之间进行交换与处理,不需要相应的应用程序对消息数据进行定制。另外,XML 对多种语言的支持也有利于该消息中间件模型适应多语种应用的开发。
本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文   4.1.2 Web Services Interfaces
  Web服务本身就是一种“组件”,可以对其封装,使消息中间件的API以Web服务的形式提供给应用程序,便于各分布式应用的交互;而且,服务本身能够根据需求进行扩充或重组,具有良好的扩展性。
  4.1.3 Agent
  该模型通过一个消息代理进行通信,通讯双方不直接通信,而是通过消息代理进行。消息发布者将消息传递给消息代理,消息代理可以实现消息的动态路由功能,负责路由消息给相应的接收者。因此,该模型适合松散耦合系统,并能够安全地实现消息的异步通信。
  4.1.4 消息队列
  消息的异步传输使得应用间交换和处理的消息可能不能及时得到传输。未传输的消息就暂时存放在消息队列中,等待消息代理。因此,该模型中消息队列的主要作用是进行简单的负载平衡。
  4.1.5 注册服务队列
  MOM以Web服务的形式为各应用程序提供接口。系统中其他服务器的Web服务接口信息需要向该服务器注册,注册信息包括Web服务的类型及所在的服务器等,保存在注册服务队列中。应用程序的服务请求或者消息处理结果通过查询注册服务队列确定待发送或者返回的Web服务接口。在进行服务的注册、扩充或重组时,需要同时修改注册服务队列,便于Web服务接口的及时发现。
  4.1.6 队列管理器
  队列管理器主要负责消息队列或注册服务队列的创建和删除。
  4.2 模型的运作流程
  (1)服务注册与注销
  系统中某个服务器进行了服务扩充或者重组等,需要重新注册服务。服务注册的消息传输到目标服务器后,队列管理器负责注册服务队列的修改,Agent负责该服务注册消息的继续传输。服务注销时则删除服务注册队列中相应的服务器信息。
  (2)服务请求
  在接收到应用程序的服务请求消息后,系统在注册服务队列中搜索匹配的注册服务器信息,并将该信息封装到消息中,转交给Agent。Agent根据消息中封装的目标服务器信息,进行动态的路由,同时根据约定的格式转发消息。
  (3)服务响应
  目标服务器完成处理要求后,转发处理结果给发送服务器。处理结果同样以系统既定的消息格式表现。发送方服务器接收到结果消息后,根据消息中的参数信息得到应用所需的数据,返回给应用程序。这个过程可直接完成,不涉及注册服务队列的操作。
  (4)消息传输
  消息传输从应用程序发出发送服务请求开始。经由服务请求过程、Agent路由转发完成。在消息传输的过程中,如遇网络故障、阻塞等情况,消息队列负责暂时存储待传输的数据,保证传输数据不丢失,同时起到负载平衡的功能。
  
  5 结束语
  
  文中提出了一种面向Web服务的消息中间件模型,对该模型的功能模块与运作流程进行了简单介绍。该模型能够达到所提出的设计目标。但是,还有注册服务队列的性能与维护、Agent的动态路由以及消息安全加密技术等问题有待我们进一步探讨。
  Web服务与消息中间技术的结合涉及计算机领域的多个经典问题,如网络消息的安全传输、Web服务的事务处理、负载均衡等值得进行深入研究。我们相信,这些问题将依然是研究热点,并推动企业分布式应用的进程。我们也将对这些问题继续研究和讨论。
  
  参考文献:
  [1]杨涛,刘锦德. Web Services技术综述――一种面向服务的分布式计算模式[J]. 计算机应用. 2004,24(8):1-4.
  [2]廖军,谭浩. 新一代开放分布式处理技术――Web Services[J]. 计算机应用. 2004,24(8):5-9.
  [3]苗春雨,史美林,姜进磊. MOM_S:基于Web服务的消息中间件系统[J]. 通信学报,2006,27(11):96-100.
  [4]唐俊,吴永英. 面向服务的消息中间件模型及实现[J]. 计算机应用. 2005,25(11):2703-2704.
  [5]胡光强. 基于Web Service技术的消息中间件的设计与实现[D]. 北京:北京交通大学软件学院,2006.
  注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。
本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文

猜你想看
相关文章

Copyright © 2008 - 2022 版权所有 职场范文网

工业和信息化部 备案号:沪ICP备18009755号-3