




已阅读5页,还剩68页未读, 继续免费阅读
(计算机系统结构专业论文)基于jms的消息中间件模型的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
r e s e a r c ha n d i m p l e m e n t a t i o no f j m sb a s e do n m e s s a g e 一o r i e n t e d m i d d l e w a r e at h e s t s s u b m i t t e di np a r t i a lf u l f i l l m e n to ft h er e q u i r e m e n t f o rt h em s d e g r e ei nc o m p u t e r a p p l i c a t i o nt e c h n o l o g y b y l i uk e x i o n g p o s t g r a d u a t ep r o g r a m d e p a r t m e n to fc o m p u t e rs c i e n c e c e n t r a lc h i n an o r m a l u n i v e r s i t y s u p e r v i s o r :x i a os h i s o n g a c a d e m i ct i t l e :a s s o c i a t ep r o f e r s o r s i g n a t u r e a p p r o v e d m a y 2 0 1 1 硕士学位论文 m a s t e r st h e s i s 华中师范大学学位论文原创性声明和使用授权说明 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师指导下,独立进行研究工作 所取得的研究成果。除文中已经标明引用的内容外,本论文不包含任何其他个人或 集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均已在 文中以明确方式标明。本声明的法律结果由本人承担。 作者签名:定脯旅 b 翔:钼1 1 年s 冠3lb 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有权 保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借 阅。本人授权华中师范大学可以将本学位论文的全部或部分内容编入有关数据库进 行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。同时授权 中国科学技术信息研究所将本学位论文收录到中国学位论文全文数据库,并通 过网络向社会公众提供信息服务。 娩 j 作者始刘勇雅撕魏j 朋 日期:勿年s 月了j 日日期:易聊年= 明力日 本人已经认真阅读“c a l l s 高校学位论文全文数据库发布章程 ,同意将本人的 学位论文提交“c a l l s 高校学位论文全文数据库”中全文发布,并可按“章程 中的 规定享受相关权益。园童途塞握窑卮澄卮! 旦堂生;旦= 生;旦三生筮查! 一 咖 作者签名:剥隽兹住 日期:勿f 1 年岁月纠日 赢 厶,年 : 名汐戤功 师期争日 摘要 为了更好的在分布式系统平台之间进行数据交换,消息中间件通过高效可靠的 消息传递机制为其提供保障。它不仅有效的屏蔽了底层操作系统、数据库之间的差 异,还屏蔽了网络协议之间的差异,从而提供了统一的通讯方式在不同应用程序之 间,这样一来无论是开发跨平台,还是开发跨网络协议的应用程序,其复杂性都极 大的降低。在j m s 规范出现之前,业界并没有制定统一的标准,不同消息中间件产 品并没有统一的接口,因此基于消息中间件的的应用可移植性差。另外不同的消息 中间件之间无法进行互操作,这也使得它的发展受到极大的阻碍。j a v a 消息服务由 s u n 公司于1 9 9 8 年提出,这套规范的出现旨在统一各种消息中间件系统接口,方便 程序员在此基础上进行开发。它定义了一套通用接口和相关语义,用于支持诸如持 久化、事件监听等一系列服务。j m s 的出现带来了许多好处,它不仅屏蔽了操作系 统和硬件的差异,更为重要的是有效解决了异构消息中间件之间互操作这个一直以 来棘手的难题。目前它被绝大多数厂商所采纳,成为事实上的工业标准。 本文在研究消息中间件技术的基础之上,遵循j m s 制定的规范,给出了消息中 间件系统c o m m o nj m s 的整体架构,并予以实现。首先,本文对中间件和消息中间 件的基本概念、分类以及功能进行了阐述,然后介绍了常见的消息中间件产品,接 下来分析了j m s 体系结构,涉及j m s 传输模式、y m s 消息数据结构、j m s 消息a p i 、 j m s 编程模型等一系列问题。在相关理论基础之上,作者分别针对消息中间件的服 务器端以及客户端进行了详细的设计与实现。作为消息服务系统,c o m m o nj m s 采 用r m i 作为底层通讯协议,在服务器端提供了命名与目录服务,并实现了点对点和 发布订阅消息两种消息传递模式,同时为了保证系统的可靠性,实现了基于文件的 持久化。另外,为了改进服务器的质量和运行效率,提供了诸如事件监听、多线程 管理、日志等一系列功能。在整个消息中间件完成之后,对其进行了测试,并与其 它消息中问件产品进行了对比。测试表明,在发送者、接收者数量波动比较稳定的 情况下,c o m m o nj m s 在持久化方面性能有所改进;在发送者、接收者数量均增加 的情况下,c o m m o nj m s 效率比较均匀,波动偏差较小。 最后,我们给出了c o m m o nj m s 消息中间件在湖北省科技攻关重大专项下一 代网络管理系统及平台的研究与开发之中的应用情况及说明。 关键词:消息中间件;j a v a 消息服务;命名与目录服务;事件监听 硕士学位论文 m a s t e r st h e s i s a b s t r a c t i no r d e rt oe x c h a n g ed a t ab e t w e e nd i s t r i b u t e ds y s t e mp l a t f o r m ,m e s s a g e - o r i e n t e d m i d d l e w a r e ( m o m ) t h r o u g he f f i c i e n ta n dr e l i a b l em e s s a g ed e l i v e r ym e c h a n i s m st o p r o v i d es e c u r i t y m o m n o t o n l y s h i e l d st h e u n d e r l y i n gh e t e r o g e n e o u so p e r a t i n g s y s t e m s ,d a t a b a s e ,b u ta l s oc o m m u n i c a t i o np r o t o c a l i tp r o v i d e sac o n s i s t e n tm e a l l so f c o m m u n i c a t i o nf o rd i f f i e r e n ta p p l i c a t i o n ,a n dr e d u c e st h ec o m p l e x i t yo fd e v e l o p i n gt h e a p p l i c a t i o no fc r o s s - p l a t f o r m b e f o r et h ea p p e a r a n c eo ft h ej m ss p e c i f i c a t i o n ,t h e r ei sn o s t a n d a r d sf o rm o m ,d i f f e r e n tm o m p r o d u c t sh a v an o tc o n s i s t e n ti n t e r f a c e ,s om o m a p p l i c a t i o n sn o to n l yc a l ln o tb et r a n s p l a n t e db u ta l s od i f f e r e n tm o mc a nn o tb e i n t e r o p e r a b l e ,w h i c hs i g n i f i c a n t l y h i n d e r st h e d e v e l o p m e n to fm o m j a v am e s s a g e s e r v i c e ( j m s ) i sai n t e r f a c es p e c i f i c a t i o nf o rm o m b a s e d0 nj a v al a n g u a g e ,a n dw a s c r e a t e db ys u nm i c r o s y s t e m i ti tb e n e f i tw i t hp r o g r a m m e rt od e v e l o p j m sd e f i n e sas e t o fc o m m o ni n t e r f a c e sa n dr e l a t e ds e m a n t i c s ,a n dp r o v i d e sm e s s a g es e r v i c e ss u c ha se v e n t l i s t e n e r , p e r s i s t e n t j m s n o t o n l y s h i e l d s t h eh a r d w a r ea n d o p e r a t i o ns y s t e m d i f f e r e n c e s ,b u ta l s or e s o l v e st h ep r o b l e mo fi n t e r o p e r a b l i t yb e t w e e nt h eh e t e r o g e n e o u s m o m a tp r e s e n t ,j m sh a sb e c o m et h es t a n d a r di ni n d u s t r i a ls e c t o l b a s e do nr e s e a r c ho ft h em o mt e c h n o l o g ya n dj m ss p e c i f i c a t i o n ,t h i sp a p e r i m p l e m e n t e dam o ms y s t e m n a m e dc o m m o nj m s f i r s t l y , i td i s c u s s e dm o m c o n c e p t s ,f u n c t i o na n dc l a s s f i c a t i o n , a n dd i s c u s s e dm o mc h a r a c t e r i s t i c s ,t h e na n a l y z e dt h e j m ss p e c i f i c a t i o n ,c o n t a i nw i t hj m sm e s s a g et r a n s f e rm o d e ,j m sm e s s a g ed a t a s t r u c t u r e ,j m sm e s s a g ea p ia n dj m sp r o g r a mm o d e l a f t e rs t u d y i n go ft h e o r y , w ec a r r i e d o u tad e t a i l e dd e s i g na n di m p l e m e n t a t i o nb o t l lo ns e r v e ra n dc l i e n t a sam e s s a g es e r v i c e s y s t e m ,c o m m o nj m sb a s e do i lr m ip r o t o c a l ,n o to n l yp r o v i d e dj n d is e r v i c e s ,b u ta l s o i m p l e m e n t e dt h ej m ss p e c i f i c a t i o ns t a n d a r da p ia n dm e s s a g ed e l i v e r ym o d e l a tt h e s a m et i m e ,m e s s a g es e r v e r a l s o i m p l e m e n t e d f i l e b a s e d m e s s a g ep e r s i s t e n c e ,e v e n t m o n i t o rm e c h a n i s m , m u l t i - t h r e a dm a n a g e m e n ta n dl o g ,t h r o u g ht h e s es e r v i c e s ,i m p r o v e t h eq u a l i t ya n de f f i c i e n c yo ft h es e r v e r a tl a s t ,w et e s t e dt h ep e r f o r m a n c eo fs y s t e m c o m p a r e d 、柝t l lo t h e rm o m t e s ts h o wi nt h es e n d e r , t h er e c i p i e n tn u m b e ro ft h es t a b i l i t y o ft h ev o l a t i l e ,c o m m o nj m sp e r f o r m a n c ei nt e r m so fp e r s i s t e n c ed e c r e a s e ds l o w l y i n t h es e n d e r , t h er e c i p i e n th a di n c r e a s e dt h en u m b e ro fc a s e s c o m m o nj m se f f i c i e n c yi s u n i f o r i l l ,w i t h o u tl a r g ef l u c t u a t i o n si nt h eb i a s ; f i n a l l y , w eg i v et h ec o m m o nj m sm e s s a g i n gm i d d l e w a r et e c h n o l o g yr e s e a r c h m a j o rp r o j e c t si nh u b e ip r o v i n c e , n e x tg e n e r a t i o nn e t w o r km a n a g e m e n t p r o t o c o lr & d ”i n t ot h ea p p l i c a t i o n k e y w o r d s :m e s s a g e - o r i e n t e dm i d d l e w a r e ;j a v am e s s a g es e r v i c e ;j n d i ;e v e n t l i s t e n e r i i i 摘要 a b s t r a c t 第一章绪论 目录 i i 1 1 前言1 1 2 中间件技术一1 1 2 1 数据库中间件2 1 2 2 远程过程调用中间件3 1 2 3 面向对象中间件3 1 2 4 消息中间件4 1 2 ! ;w e b s e r v i c e 4 1 2 6 其它各类中间件。4 1 3 消息中间件与j m s 4 1 4 论文组织结构7 第二章j m s 体系结构 9 2 1j m s 应用程序的组成9 2 1 1 管理工具1o 2 1 2 管理对象l0 2 2j m s 消息传输模式1 1 2 2 1 点对点模式1 1 2 2 2 发布订阅模式1 2 2 3j m s 消息数据结构1 3 2 3 1 消息头1 4 2 3 2 消息属性1 4 2 3 3 消息选择器15 2 3 4 消息体15 2 3 5 消息优先级16 2 4j m sa p i 16 2 4 1j m s 控制a p i 16 2 4 2j m s 消息a p i 一18 2 4 3j m s 异常a p i 2 0 2 5j m sa p i 编程模型2 0 2 6 本章小结2 l 第三章实现消息中间件所用到的相关技术 2 2 3 1x m l 2 2 3 1 1x m l 定义2 2 3 1 2x m l 文档2 2 3 1 3 ) a l 的展示2 3 3 1 4 获取x m l 的文档内容2 3 3 2j n d i 2 3 3 3r m i 2 4 3 4d o m 4 j 2 5 3 5 本章小结2 6 第四章c o m m o nj m s 的设计与实现 2 7 4 1 系统架构设计2 7 4 2 服务器端实现2 7 4 2 1 系统服务初始化2 7 4 2 2 d l 服务3 0 4 2 3p , m i 服务3 2 4 2 4 线程池管理3 5 4 2 5 事件监听4 0 4 2 6 消息持久化4 0 4 2 7 受管对象4 2 4 2 8 日志4 5 4 3 客户端a p i 的实现4 7 4 3 1 连接对象( c o n n e c t i o n ) 4 8 4 3 2 会话对象( s e s s i o n ) 5 0 4 3 3 消息生产者( m e s s a g e p r o d u c e r ) 5 2 4 3 4 消息消费者( m e s s a g e c o n s u m e r ) 一5 3 4 4 系统性能测试5 5 4 5 本章小结5 6 第五章消息中间件在n e t c o n f 中的应用 5 7 5 1n e t c o n f 简介5 7 5 2c o m m o nj m s 的应用场景一5 9 5 3 本章小结6 0 第六章结论与展望 6 1 全文总结6 1 6 2 展望6 2 参考文献 硕士期间发表的论文 硕士期间参与的项目 致谢 。6 5 6 5 6 6 : 硕士学位论文 m a s t e r st h e s i s 第一章绪论 1 1 前言 进入2 1 世纪,互联网技术蓬勃发展,随之而来的是人们生活方式的极大改变, 人们足不出户就可以网上聊天、发邮件、网上购物、浏览新闻等等,享受高科技带 来的成果。与此同时,互联网上的软件数量也快速的增长,并且这些软件不尽相同, 种类繁多。那么在分布式环境中这些软件如何能够做到在不同操作系统平台之间进 行移植,尽可能做到平台无关性以及应用系统之间如何进行高效可靠的数据传递, 在这种背景下,中间件技术产生了,它独立于计算机硬件和操作系统。消息中间件 作为中间件技术非常重要的一个分支,提出了一种异步编程结构,其耦合度非常低。 虽然消息中间件带来了极大的好处,但在过去各个厂家实现的消息中间件并没有一 致的标准,进而导致基于不同消息中间件的系统很难互操作以及无缝连接,因此 s u n 公司提出 j a v a 消息服务( j a v am e s s a g es e r v i c e ,j m s ) l l 】,它统一了各种消息中 间件,提供了一组与实现无关的接口。现在j m s 得到了广泛的商业运用,它的出现 在降低开发跨平台软件复杂性的同时,还降低了异构系统整合的复杂性,另外开发 成本以及开发周期也得到有效的控制。本文针对j m s 规范及其相关技术进行了研究, 并在此基础之上设计并实现了一个完整的消息中间件产品:c o m m o nj m s 。 1 2 中间件技术 中间件属于基础软件的一大类【2 】,可以进行复用。它所处的位置介于操作系统 和各种应用软件之间,是一个相对独立的软件层。它可以为分布式软件的各个模块 服务,图1 1 显示了它在分布式系统中所处的位置: 硕士学位论文 m a s t e r st h e s i s l 成用彖统 ll 城用系统 禹禺 l i巾m 件 i 禹禹 l 撅作系统 ll 搬作系统 图1 1中间件在分布式系统中所处位置 它的主要功能包括如下: ( 1 ) 它不仅能有效的屏蔽硬件、操作系统的差异,还能屏蔽应用软件甚至数 据库之间的差异。 ( 2 ) 客户端与服务器端所建立的连接及其通信交由中间件来完成,并在应用 层提供一种机制用于完成不同服务之间的相互操作。 ( 3 ) 由于处于分布式环境中,因而为了确保事务的完整性和一致性,中间件 必须提供一种机制,即事务管理机制。 ( 4 ) 在应用中间件的过程中,安全性也是我们值得考虑的问题,因而为了保 障平台的安全性,必须对安全处理机制予以支持。 根据中间件所涉及的功能来划分1 3 ,我们将它划分为以下几类: 1 2 1 数据库中间件 在分布式系统中,许多重要的数据均存储在数据服务器中,这其中不仅包括常 见的复合文档型、关系型数据,还包括经过加密或者压缩存放的数据以及拥有丰富 存放格式的多媒体型数据。数据访问中间件在系统中所处的位置介于数据库管理系 统( d b m s ) 和它的应用系统之间,它不仅实现了文件系统联接,还实现了数据库联 接,当然数据访问中间件作用于异构环境下。当数据库发生改变时应用系统代码无 需做任何改变,这也正是数据库中间件带来的巨大优点,为我们的程序带来了极大 的扩展性,同时也为数据格式转换,虚拟缓冲存取等操作提供了便利。 2 :; 硕士学位论文 m a s t e r st h e s i s 1 2 2 远程过程调用中间件 随着数据库中间件的发展,它在某些方面的不足也日益明显,远程过程调用中 间件( r p c ) 正是在此背景下产生的,它作为一种新型的中间件技术,采用客户服务 器模式。对客户端程序员来说,只需要编写客户端上面的应用程序,需要的时候将 请求传递给远程的服务器端,服务器端接收到客户端传递过来的参数,经过服务器 端程序适当的处理,在将计算结果返回给客户端。以上的流程就好比在本地调用自 身的过程一样,因而对于用户来说是看不见的,完全透明的。除此之外,利用它程 序的控制逻辑可以交由服务器端去处理。很明显,在商业应用中,r p c 的优点与数 据库中间件想比存在着较大的优势,因而也比后者有着更为广泛的应用。 1 2 3 面向对象中间件 近年来面向对象技术蓬勃发展,面向对象的开发语言也被广泛的应用,而面向 对象的基本特性就是其封装性和继承性。面向对象技术的火爆使其产生了一种称之 为面向对象的中间件,它的出现是为了解决对象之间的交互或者共享不在拘泥与它 们所使用的开发语言、所处的位置。为了实现此目的,必须在交互的对象之间制定 一种统一的接口。面向对象中间件是在面向对象技术的基础上,加上分布式计算技 术发展起来的产物,它能够简单传递对象请求在异构的分布式计算环境中,并以一 种透明的机制,而这些对象可能来自于本地也可以来自于远程机器中。 虽然面向对象的中间件己经得到广泛的应用,市面上也有比较成熟的产品,如 c o r b a 、j i n i 、d c o m ,但是面对非常庞大的分布式计算环境,这些技术也有相应 的局限性。 ( 1 ) 同步通信:位于客户端的程序发出某个请求后,将所需参数传递给服务 器端,服务器端接收传递过来的参数,对其进行计算后将结果返回给客户端,在客 户端收到处理结果之后,才能够继续往下执行直,否则将阻塞。 ( 2 ) 客户端和服务器端生命周期紧耦合:面向对象中间件要求客户端和服务 器端必须同时处于正常的运行状态,否则客户端会接受到相对应的异常,例如网络 比较繁忙的时候,会导致客户端的请求不可达或者服务器自身出现故障。 ( 3 ) 点对点通信:客户端与服务器端是一对一的关系。即客户端一次只能对 应与某个特定的服务器端,并与之进行通信。 为了解决以上面向对象中间件存在的种种问题,消息中间件出现了。 : : 硕士学位论丈 m a s t e r st h e s i s 1 2 4 消息中间件 面向消息的中间件( m o m ) 1 4 ,为应用系统的集成提供了一种松散耦合的方式。 它不仅可以全方位的支持多语言、多通信协议、异构软件平台,还支持多种模型, 如消息传递、消息排队。这些模型可以为消息的存储和转发提供强有力的保障。在 应用消息中间件的分布式环境中,位于分布式环境两端的应用程序之间并不是直接 进行通信,而是与起到桥梁作用的m o m 进行通信,通过此种方式,消息传递安全 性得到保证。 在那些对消息传递安全性、可靠性要求非常严格的分布式环境中,采用消息中 间件无疑是一种好的选择。为了完成某个指定的操作,对象之间的通信必须借助于 消息这个媒介,通过消息传递来激活对方的事件。整个通信过程非常简单,发送方 无需关心接收方所处的位置、何时接收消息,只需将消息传递给作为中介的消息服 务器即可,消息服务器将消息存放在若干队列里:对于接收方而言,从消息中间件 获取消息的时间也是不确定的,它会在某个确定的时间去完成此操作过程。消息中 间件比远程过程调用中间件更为先进,首先它不仅支持同步的连接,还支持异步的 连接,其次它能够同化不同操作系统、平台、通信协议的具体区别。 1 2 5w e b s e r v i e e 在分布式环境中构建应用程序有许多方案,而w e bs e r v i c e s 被公认为是当今最 有前景的方案【5 1 。现在它受到越来越多的关注,作为一种新兴的技术,它仍处于不 断的发展和完善中。w e bs e r v i c e s 是一种分布式的模块化组件,作用于网络环境中, 可以让应用系统之间相互连接,共享服务。w e bs e r v i c e s 异常强大,它的出现是为 了解决异构系统这个难题,它要同化的对象不仅包括硬件、操作系统,还包括各种 系统平台、应用软件,甚至各种不同的中间件。 1 2 6 其它各类中间件 随着科技的发展,除了以上提到的中间件以外,还会产生越来越多的中间件, 这其中包括事务中间件、安全中间件、网格中间件、反射中间件等,这些中间件也 会在信息化时代起到越来越重要的作用。 1 3 消息中间件与j m s 消息中间件位于操作系统和应用软件之间,作为一个中间层软件,它能够确保 跨平台消息传递的可靠性、安全性、高效性。它为分布式环境中消息的创建、发送、 4 : 硕士学位论文 m a s t e r st h e s i s 接收提供了一整套方法,方便程序员调用。消息中间件较好的优越性在规模庞大的 分布式系统中表现得更为明显,它能够有效屏蔽各种不同操作系统和网络通信协议 的具体实现细节,对外提供统一的接口,大大降低开发跨平台软件的复杂性,使用 它带来的好处主要体现在: ( 1 ) 采用异步通信模式。消息发送者将消息传递给消息中间件之后,就可以 转到下一流程进行处理,而没有必要等待接收者的应答,同时消息接收者也没有必 要在消息发送者发出消息之后立刻进行处理。 ( 2 ) 客户端和服务器端生命周期的松耦合。客户端和服务器端可以处于不一 致的状态,即它们不必在同一时刻均正常运行。如果服务器端出现故障或者由于网 络繁忙导致客户端的请求无法到达服务器端,客户端不会收到异常信息。通过消息 中间件,消息的完整性得到保障。 2 0 世纪末,消息中间件技术非常火热,得到迅速的发展,许多世界级的中间件 厂商女n o r a c l e 、i b m 、b e a 在第一时间均开发了对应的产品,它们占据了绝大部 分市场份额。除了以上行业巨头开发的产品,a c t i v e m q 、j o r a m 、o p e n j m s 等开 源中间件产品也不可小视,它们在一些关键领域也起到极其重要的作用。这些年以 来,国内的中间件厂商处于高速的发展之中,到目前为止,国内已经有4 0 多家企业 的中间件产品投入市场,其中具有代表性的有东方通、金蝶、中创。东方通作为国 内最早从事中间件产品研发的企业之一【6 j ,在国内市场占有不可小视的市场份额, 它完成了中国移动4 a 认证系统、中国移动全面预算管理系统、国信寻呼营销管理网 络系统等众多项目,公司规模也在不断壮大中。 在s k i n 提出j m s 规范以前,各种基于消息中间件的应用不能够相互移植,因为 那个时候消息中间件技术并不成熟,还没有制定统一的规范和标准,同时这也导致 不同的消息中间件之间无法进行互操作及其无缝连接,这使得它的优点得到极大的 削弱,不仅无法更大程度上在企业中推广开来,更为重要的是阻碍了它的发展。为 了解决这个关键问题,j m s 应运而生,它的出现统一了各种消息中间件接口。 j m s 规范定义了一系列的接口用于消息发送、消息接收等,还规范了消息的格 式以及各个消息中间件模块的功能语义,并提出发布订阅和点对点模式。这样所有 实现了j m s 接口的消息中间件彼此之间可以互操作,上层应用软件的开发和具体的 j m s 实现无关,并且用户可以自由的切换来决定到底使用哪个厂家的中间件产品, 因为它们向上层应用软件暴露的接口是一致的。至于底层通讯协议具体选用哪个, j m s 规范并没有明确的规定,一个具体的j m s 实现可以依据项目的需求实现t c p 、 u d p 、h t t p 、s o a p 、r m i 中的一个或多个。同时j m s 规范也没有对负载均衡、流 : : 硕士学位论文 m a s t e r st h e s i s 量控制做硬性要求,在开发中我们根据具体的需要自行确定。 j m s 规范定义了两种消息处理模型:点对点( p t p ) 和发布订阅( p u b s u b ) 。j m s 规范出现以前,通常情况下,中间件厂商仅支持点对点消息模型,j m s 规范创造性 的提出两种消息模型,它是在分析以前开源软件的基础上制定的。 两种消息模型所支持的消息格式完全相同,在客户端应用中可以任意选择、随 意切换,所以不必区分消息的目的地是队列还是主题,j m s 规范将其进行了统一。 ( 1 ) 点对点模式:在该模型中,参与者主要涉及消息发送者、消息接收者、 消息队列。将每一条消息传递给消息中间件的时候,要使得相对应的消息队列能够 接收到该消息,必然需要知道该消息队列的地址,因而在消息中我们应该包括该地 址。对应的消息队列接收到信息后,消息接收方会在某个不确定的时间内提取该消 息,当然必须在消息到期之前,否则会丢失该消息。 ( 2 ) 发布订阅模式:在该模型中,参与者主要涉及消息发送者、消息接收者、 主题。发布者和订阅者一般是匿名的,发布者可以动态的发布内容,订阅者可以动 态的订阅主题。应用系统负责把发往一个主题的消息分发给该主题的多个订阅者, 分发完成之后主题就不再保留这些信息。 j m s 已经成为j 2 e e 平台的一个重要组成部分,它的出现克服了传统消息中间 件的缺点,正是由于它的种种优点使得它越来越受到人们的关注。j m sa p i 提供如 下一些功能: ( 1 ) 对于j m s 消息的发送以及接收,客户端、e j b 组件( e n t e r p r i s ej a v a b e a n s ) 、 w e b 组件之间均可以采取同步的方式进行处理。除此以外,客户端另外还可以异步 接收消息。 ( 2 ) 消息驱动b e a n ,顾名思义,它可以开启消息的异步消费。在消息驱动b e a n 的帮助下,j m s 提供者可以根据应用程序的需求有选择性的为消息的并发处理提供 支持。 ( 3 ) 提供分布式事务处理机制,使得在分布式网络环境中消息的发送及接收 在一致性上得到保障。 许多知名厂商都实现了各自的j m sa p i ,它们都遵循j m s 规范,以下是一些比 较流行的j m s 产品: 1 i b mm q s e r i e s m q s e r i e s 主要解决分布式环境下通信的问题【_ 7 1 ,由i b m 公司开发,它是一种不 仅快速、灵活,而且极易使用的解决方案,消息队列为其提供强有力的保证。 m q s e r i e s 基本构件是一个信息传输系统和一系列应用程序接口,涉及到的资源是消 6 : : 硕士学位论文 m a s t e r st h e s i s 息和队列。 在消息传递的过程中,信息的安全性、可靠性也是我们必须考虑的问题,尤其 是当网络出现异常状况时。在m q s e r i e s 的实现中,信息的安全性也被作为它的核心 功能之一。当网络或应用程序发生异常时,m q s e r i e s 通过一种称作异步处理的技术, 来确保信息不但不会丢失,也不会出现阻塞。如果没有安全性、可靠性的保障,可 想而知如果发生问题,对客户的损失是不可估量的。 m q s e r i e s 作为i b m 开发的产品可以很方便的连接至其他i b m 产品,与此同时, 它几乎对所有的主流计算平台都予以支持。另外,它也具有极大的可扩展性,方便 用户使用。 2 t o n g l i n k q 由国内开发的消息中间件产品也有着不错的市场份额,因为它们比较符合国人 的情况,而其中具有代表性的是东方通公司的t o n g l i n k q 隅】。t o n g l i n k q 可以确 保消息传递的高效可靠,同时它非常灵活,因为它是可配置的,另外它还提供事件 代理机制。在采用t o n g l i n k q 作为消息中间件的分布式网络环境中,客户端可以 自定义事件,并编写相应的事件驱动处理程序。当某个事件发生时,就转到事件处 理程序去执行。除了以上的核心功能,它还提供了许多使用功能,如实时监控、远 程管理及日志机制。另外,它还提供了多层次的安全管理用于确保消息的安全性, 包括节点之间的安全认证、应用程序的安全认证等。 在过去消息中间件使用范围比较窄,难以大规模在企业中普及,究其原因和消 息中间件没有制定统一的规范,因而都依托于各自系统平台有关,j m s 技术的出现 成功解决了这一问题。现在消息中间件已经广泛应用于各行各业,把原本孤立的应 用转变为一些具有某些内在联系的应用,使之能够相互作用,j m s 技术也会取得更 为长足的发展,得到更为广泛的工业支持。 1 4 论文组织结构 本文的结构安排如下: 第一章,绪论,介绍了论文课题的研究背景,并阐述了存在的现实意义,之后 按照中间件的功能对其进行了分类讲解,最后介绍了消息中间件与j m s 的关系。 第二章,j m s 体系结构,本章按照j m s 体系结构的组成来展开讲解,主要涉及 j m s 应用程序的组成、j m s 消息传输模式、j m s 消息数据结构、j m s a p i 编程模型。 第三章,实现消息中间件所用到的相关技术,本章介绍了实现一个消息中间件 产品所需的相关技术,诸如d i 命名服务、r m i 通讯协议、x m l 、d o m 4 j 等。 7 硕士学位论文 m a s t e r st h e s l s 第四章,c o m m o nj m s 的设计与实现,在前一章所叙技术的基础上,给出了一 个符合j m s 规范的消息中间件的设计及其核心实现代码,并将其与其它厂商的消息 中间件产品进行对比。 第五章,消息中间件在n e t c o n f 协议中的应用,本章介绍了有关n e t c o n f 协议的相关内容,之后将实现的消息中间件应用于n e t c o n f 项目之中,从而说明 其存在的实际价值。 第六章,结论与展望,对已实现的消息中间件存在的不足以及功能缺陷进行阐 述,并对消息中间件以后的趋势进行了展望。 8 f 嚣、 硕士学位论文 m a s t e r st h e s i s 第二章j m s 体系结构 j m s 规范的出现一方面是为了解决基于j a 、,a 的各种应用程序之间可以无缝连 接,另一方面是为了访问现有的消息中间件,它于1 9 9 8 年正式引入。它可以为企业 提供一整套完整的消息传递功能,用于辅助企业业务流程的执行。j m s 规范在尽可 能增加应用程序灵活性的前提下,定义了一些消息概念和工具集,并试图让开发人 员熟悉这些概念的时间最短,降低学习的成本。 2 1j m s 应用程序的组成 一个j m s 应用程序主要由以下部分组成: ( 1 ) j m s 提供者:在j m s 应用程序的组成中,j m s 提供者无疑是最为核心最为 重要的部分,它用于为消息系统提供管理和控制。在理想情况下,实现一个j m s 提 供者在考虑高可扩展性的同时,必须实现j m s 规范定义的一系列接口,开发语言采 用纯j a v a 。 ( 2 ) j m s 客户端:j m s 客户端不仅可以用于消息的生产,还能用于消息的消费。 它是采用j 怂,a 语言编写的与消息中间件产生联系的一些程序组件。 ( 3 ) 消息:客户端彼此之间进行通信所传递的消息对象,消息的类型种类繁 多,j m s 的某些实现可以传递以x m l 格式的消息。 ( 4 ) 管理对象:管理对象是由管理员创建的预配置j m s 对象,它可以分为两类, 分别是目的地和连接工厂。它主要被客户端所使用,通常客户端获取该对象必须借 助j n d i 。以上这些部分交互的方式如图2 1 所示: 图2 1 删s 体系结构 9 硕士学位论文 m a s t e r l st i i e s i s 2 1 1 管理工具 为了在客户端能获取到管理对象,必须依靠j a 、,a 名称和目录接口( d i ) 命 名空间。那么如何在管理对象与命名空间之间建立某种联系,这个时候管理工具就 派上用场了,它的作用就是将目的地和连接工厂绑定到命名空间中,需要的时候通过 此命名空间查寻管理对象,一旦获取了管理对象就可以在j m s 提供者的共同作用下 完成与这些对象之间的逻辑连接。 2 1 2 管理对象 各个厂家生产的消息中间件产品在j m s 提供者的实现上方法不尽相同,主要差 异体现在底层消息传递机制及其实现技术。管理对象可以有效解决不同j m s 客户端 无法移植的问题,在该对象中,包含j m s 提供者地址等一系列客户端所需要的信息,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 宿州宿城第一初级中学教育集团教师招聘考试真题2024
- 保定市唐县招聘社区工作者考试真题2024
- 电势考试题及答案
- 乞丐考试题及答案
- 中式面点制作技艺智慧树答案
- 护理管理基础模拟考试题(附答案)
- 中外教育史(长青联盟)知到智慧树答案
- 小儿上呼吸道感染的健康教育与心理护理培训考试题(含答案)
- 幼儿园食品安全知识测试题(附答案)
- 十二导心电图机应用培训考核试题(附答案)
- 肿瘤和肾脏病
- 数字电路逻辑设计(第3版)PPT全套完整教学课件
- 工程竣工验收单(简易版)
- 社会学导论(第五版)孙立平课件
- (3.1)-第6讲理解列车进路和调车进路
- SB/T 10967-2013红辣椒干流通规范
- GB/T 12755-1991建筑用压型钢板
- DL-T 5190.1-2022 电力建设施工技术规范 第1部分:土建结构工程(附条文说明)
- 《国际结算(第五版)》第八章 供应链金融1907
- 新4-noteexpress、meta分析文章纳入和排除
- 聚酯合成反应原理相关知识
评论
0/150
提交评论