消息中间件技术的研究及实现
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
随着计算机网络技术的发展和分布式应用的迅速普及,将应用从客户端/服务器模型向客户端/中间件/服务器三层模型进行转移已成为用户的迫切需求,也是当今计算机技术发展的一个主流趋势。
     消息中间件是一种基于消息传递的中间件,它利用高效可靠的消息传递机制进行与平台无关的数据通信,并通过数据通信来进行分布式系统的集成和互操作,消息中间件可以很容易的实现分布式系统的伸缩性和扩展性。
     X/OPEN组织是X/OPEN公司和开放软件基金会合并组建而成的国际开放系统组织。X/OPEN主要为网络计算和分布式应用建立开放的标准,它被大多数的国际硬件生产厂家及软件提供商所认可。X/OPEN组织提出的分布式事务处理模型DTP是建立分布式事务处理环境的国际标准。
     本文首先综合分析了X/OPEN DTP模型,并且结合TCP/IP网络协议,从系统层的角度出发,提出实现一个符合DTP模型标准,并适用于异步、低可靠网络环境和跨平台的数据通信消息中间件OpenMessageQ的构想。
     滑动窗口协议可以在不可靠线路上实现同步、有效的通信,本文通过对滑动窗口协议的的分析、改进及验证,在UDP协议层之上实现了OpenMessageQ协议,该协议可用于实现数据通讯的差错和流量控制。
     RSA是一种非对称密钥密码体制,它允许在不安全的媒体上通过通讯双方交换信息,安全传送秘密密钥。OpenMessageQ采用RSA密码体制实现网络通讯的安全管理。同时本文也对OpenMessageQ采用的其它相关技术进行了讨论分析。
     然后,本文在上述相关理论技术的基础上,提出了0penMessageQ消息中间件的体系结构,并且将其划分为消息对列、接口处理模块、安全管理模块、队列管理器和服务接口几个主要部分进行设计实现。OpenMessageQ不仅提供实时、高效、安全可靠的网络通讯服务,而且允许按名字进行跨网络的通讯,以及支持Linux与Windows的跨平台互联。
     最后,本文运用0penMessageQ消息中间件,构建了一个数据迁移及备份的应用示例,将该中间件与实际应用进行了有机的结合。
Along with the development of computer network technology and distributed application going deep into use, it is vendor's impending demand to migrate the proprietary Client-Server model to Three Tier Software Architectures, which has emerged as the dominant computing paradigm in the decade.
    Message-oriented middleware (MOM) is a special middleware based on message-transmission, and it provides effective and reliable message transmission for communication across heterogeneous platforms. MOM services allow distributed application to locate transparently across the network, which provide interaction with another application or service, be independent from network services and scale up in capacity without losing function.
    The Open Group is an international open systems organization that is leading the way in creating the infrastructure needed for the development of network-centric computing and the information superhighway. Formed in 1996 by the merger of the X/Open Company and the Open Software Foundation, The Open Group is supported by most of the world's largest user organizations, information systems vendors and software suppliers. The X/Open Distributed Transaction Processing (DTP) model is a software architecture that allows multiple application programs to share resources provided by multiple resource managements, and provides international standard for distributed application.
    First, based on system aspect, after synthetically analyzing X/OPEN DTP model and TCP/IP protocol, the paper implements a Message-oriented middleware product OpenMessageO software which applies to asynchronous fallible network and heterogeneous platforms.
    The slide windows protocol can provide the synchronous and effective communication for fallible network. Based on UDP protocol, the paper implements OpenMessageQ protocol which is used to deal with control of flow and fault, after analyzing mending and validating the slide windows protocol.
    RSA is a public-key cryptosystem in an effort to help ensure Internet security. RSA cryptosystem is used by OpenMessageQ to complete security management. In
    
    
    addition the paper has discussed and analyzed some correlative technologies else.
    And then based on correlative technologies above, the paper brings forward OpenMessageQ architectures which is made up of message queue, interface service module security management module, queues manager and interface. Not only OpenMessageQ provides real-time, effective secure network communication services for applications, but also allows named communication across Windows and Linux platform.
    Finally the paper gives an application sample to complete database transfer and backup, in which OpenMessageQ and the application is synthetically integrated.
引文
[1] (美)Andrew S. Tanenbaum著,熊桂喜等译.计算机网络(第三版).清华大学出版社,2001,8
    [2] (美)Christoper Blexrud、Matthew Bortniker等著,韩柯等译.Windows分布式Web应用程序编程指南.电子工业出版社,2001,7
    [3] Middleware. http://www.sei.cmu.edu/str/descriptions/middleware.html
    [4] Three Tier Software Architectures. http://www.sei.cmu.edu/str/descriptions/threetier.html
    [5] Client/Server Software Architectures—An Overview. http://www.sei.cmu.edu/str/descriptions/clientserver.html
    [6] Two Tier Software Architectures. http://www.sei.cmu.edu/str/descriptions/twotier.html
    [7] Message-Oriented Middleware. http://www.sei.cmu.edu/str/descriptions/momt.html
    [8] Bernstein, Philip A. Middleware: A Model for Distributed Services. Communications of the ACM 39, 2 (February 1996): 86-97.
    [9] (美)Paul E. Renaud著,唐涛等译.客户/服务器系统介绍.电子工业出版社,1995,6
    [10] Brian Whetten, chief scientist, Talarian Corp. Message-Based Computing: The Fourth Wave of Integration. http://www.messageq.com/communications_middleware/whetten_1.html
    [11] (美)Andrew S. Tanebaum, Albert S. Woodhull著,王鹏 尤晋元等译校.操作系统:设计与实现.电子工业出版社,2000,7
    [12] BrillianceQ—新晨Q简介.http://www.brilliance.com.cn/canpin/BrillianceQ.htm
    [13] 余可曼 陈平 金连甫.网络通信中间件的设计及实现.计算机工程,2001,5 第5期
    [14] 构件技术与中间件.http://www.tongtech.com
    [15] 中间件产品分类.http://www.middleware.org
    [16] Peter Houston, Microsoft Corporation. Selecting Between Synchronous and Asynchronous Alternatives.
    
    
    [17] GRAHAM CHEN. Distributed Transaction processing Standards and Their Applications. CITR Technical Journal Volume 1
    [18] Jeanne Baker. Simplifying IT with Process-Oriented Middleware. BPMI. org September 2001
    [19] Kenji Suzuki. XA support Architecture for Distributed Database. ISO/IEC JTC1/SC32 Data Management and Interchange, 3 July 1998
    [20] Application Integration. Management Guide Strategies and Technologies, published May 1999, United Kingdom
    [21] Michael Thompson. Technology Audit—MQSeries Product Family. Business Integration IBM, September 1999
    [22] X/OPEN CAE Distributed Transaction Processing: The CPI-C Specification Version 2. X/OPEN Company, November 1995
    [23] Distributed Transaction Processing: The XA+ Specification Version 2 ISBN: 1-85912-046-6. The Open Group, June 1994
    [24] X/OPEN CAE Distributed Transaction Processing: The TX (Transaction Demarcation) Specification. X/OPEN Company, April 1995
    [25] X/OPEN CAE Distributed Transaction Processing: The XATM (Transaction Demarcation) Specification. X/OPEN Company, April 1995
    [26] Distributed Computing Architectures & Middleware Technologies. MAS 6V10—IT Architecture & Middleware, Spring 2002
    [27] 陈钟.网络与信息安全.北京大学计算机系信息安全讲座,2000秋季
    [28] 徐秋亮.改进门限RSA数字签名体制.计算机学报,2000,5
    [29] Gennaro R, Jarecki S, Krawczyk H et. Robust and efficient sharing of RSA functions. In: KoblitzNed. Advances in Cryptology—CRYPTO'96 Proceedings. Lecture Notes in Computer Science 1109. Berlin: Springer Verlag, 1996
    [30] Desmedt Y, Frankel Y. Threshold crypto systems. In: Brassard G ed. Advances In Cryptology——CRYPTO'89 Proceedings. Lecture Notes in Computer Science 435. Berlin: Springer Verlag, 1990.
    [31] 宋绍云 仲涛.RSA算法研究.玉溪师范学院学报,2001年第17卷第3期
    [32] 陆慧凤 文必龙.基于消息的网络通讯模式。微电子学与计算机,1998年第6期
    [33] 李宏 马建峰 李学干.网络系统的广播技术和广播算法.航空计算技术,1999,6
    
    
    [34] Brian Hall. Beej's Network Program guide Version 1.5.5. http://www.ecst.csuchico.edu/~beej/guide/net, Jan 1999
    [35] The User Datagram Protocol(UDP). RFC-768, ftp://nic.ddn.mil/rfc/rfc768.txt
    [36] The Internet Protocol(IP). RFC-791, ftp://nic.ddn.mil/rfc/rfc791.txt
    [37] The Transmission Control Protocol(TCP). RFC-793, ftp://nic.ddn.mil/rfc/rfc793.txt
    [38] Richard M. Stallman and Roland McGrath. GNU Make-A Program for Directing Recompilation. GNU make Version 3.79, http://www.gnu.org/manual/make/html_node/make_toc.html, April 2000
    [39] The GNU C Library, http://www.gnu.org/manual/glibc-2.2.3/html_node/
    [40] Brian Hall. Pipes. http://www.ecst.csuchico.edu/~beej/guide/ipc/pipes.html
    [41] Brian Hall. Semaphores. http://ecst.csuchico.edu/~beej/guide/ipc/
    [42] Edward G. Bradford. Linux 和 Windows上的高性能编程技术.http://www-900.ibm.com/developerWorks/linux/sdk/rt/part5/index.shtml
    [43] (英)Neil Matthew Richard Stones著,杨晓云 等译.Linux程序设计.机械工业出版社,2002,1
    [44] 左孝凌 等著.离散数学.上海科学技术文献出版社,1995,3
    [45] Brian Hall. FIFOS. http://ecst.csuchico.edu/~beej/guide/ipc/fifos.html
    [46] Ashish Bansal. Shared Objects for the object disoriented http://www-900.ibm.com/developerWorks/library/1-shobj/,April 2001
    [47] G. S. Blair, A. Andersen, L. Blair, G. Coulson and D. Sanchez. Supporting dynamic Qos management functions in a reflective middleware platform, IEE Proc.-Sofw, Vol 47, No. 1, February 2000
    [48] 佘坤等著.开放DTP核心—TM.计算机研究与发展1997,10第34卷 增刊
    [49] Eppinger J L, Dietzen S. Encina:Modular transaction processing. In: Proc of IEEE Spring COM PCON92. 1992.
    [50] 苏森 唐雪飞.开放系统中的互操作性.计算机应用,1997,11第17卷 第6期
    [51] 唐雪飞 骆志刚 刘锦德.互操作中间件OSEware团队的实现研究.计算机应用,2000,5第20卷 第5期
    [52] 苏森 刘锦德.用于开放式分布处理的中间件的标准和规范.计算机应用,1998,9 第18卷 第9期
    [53] Chris Stout. Message-Oriented Middleware. http://www.middleware.vt.edu,
    
    November 15, 2001
    [54] Didier DONSEZ. Message Oriented Middleware(MOM) Java Message Service(JMS).
    [55] TongLINK/Q概念与体系结构.东方通科技中间件技术白皮书
    [56] FioranoMQ 5 Highly Scalable, Standards-based, JMS Messaging A Guide to Understanding the Pluggable, Scalable Connection Management Architecture in FioranoMQ 5. Fiorano White Paper-February 2001
    [57] Alan Radding. Middleware Evolution. United Business Media, July 6,1998
    [58] Markku Korhonen. Message Oriented Middleware(MOM). Helsinki University of Technology, http://www.tml.hut.fi/Opinnot/rik-110. 551/1997/mqs.htm

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700