【Java开源代码栏目提醒】:网学会员--在 Java开源代码编辑为广大网友搜集整理了:基于消息中间件InforBroKer的Java消息服务接口 - 硕士论文绩等信息,祝愿广大网友取得需要的信息,参考学习。
国防科学技术大学 硕士学位
论文基于消息中间件InforBroKer的
Java消息服务接口 别:硕士 专业:软件工程 指导教师:吴泉源 20050101 国防科学技术大学研究生院工程硕士学位
论文 摘要 消息中阋件(Message—oriented middleware,MOM)是一种支持企业应用集成的最基本的中间件,它广泛应用于企业应用系统之间进行可靠、高效、跨平台的消息传递服务。
鉴于消息中间件的具体实现五花Jkf-J,严重影响了不同消息中间件产品之间的互操作,SUN公司提出了Java消息服务(JMs)规范,它的目的是为消息中间件增加一个规范的接口,使底层具体的消息提供者对应用程序透明. 本文遵循J煅规范,在消息中间件InforBroker基础上设计并实现了相应的JMS应用编程接口.
论文叙述了基于InforBroker的JMS应用编程接口的设计方案,详细论述了P2P和Pub/Sub两种消息模型的接口规范,并按控制类,消息类和异常类给出了两种模型的主要对象.详细介绍了连接工厂、连接对象、会话对象,消息生产者、消息消费者、目的地对象、J骼异常及消息对象的实现技术,给出了将J’MS消息转化为InforBroker消息的实现方法,以及消息池的实现细节.本文还针对接口往能对实现的/MS API迸行了测试,并介绍了其在电子政务信息交换平台中的应用.测试与应用表明,本文设计与实现的基于InforBroker的Java消息服务应用编程接口是有效的. 主题词:消息中问件,InforBroker,Java消息服务,Java消息服务应用编程接口 第i页 国防科学技术大学研究生院工程硕士学位
论文 ABSTF淑CT Message-oriented middlewarc(MOM)which supports Enterprise ApplicationIntegration is one kind of most basic middleware.MOM which is widely applied cabprovide reliable and efficacious message deliver service and avail dam exchange amongapplications.In view ofthe fact that the implementation ofMOM is somniferous whichhas seriously affected between the compafibRity of MOM products,Java MessageService OMS)is proposed by SUN for the purpose ofnnifying each kind ofstaudar&oftheMOM systemAPL 。
‘ JMS specification has designed and realized the JMS The thesis which follows theAPI based Oil MOM InforBroker.The thesis narrates the design project of JMS APIbased on MOM InforBroker,it elaborates P2P message model and Pub/Sub messagemodel.introduces their interface specification and produces main objects of these twomodels according to the control class.the message class and exception class..nlis thesisintroduces realization technology of factory,connection,session,message connectproducer,message consumer)destination,JMS exception and the message.This thesisalso aims at the performance of JMS API to carry on the test,and introduces theapplication of Data Exchange Platform based 011 JMS APL Thc test and appficationindicate that this thesis has designed and realized the JMS API based on MOMInforBroker is effective. Key Words:Message-oriented middleware(MOM),InforBroker,JavaMessage Service(JMS)。
JMS API 第ii页 国防科学技术大学研究生院工程硕士学位
论文 表目录表4.1 J1Vis的主要接口………………二…………….:………………………………15表5-1 IBConnectionMctaData提供的属性 ………….28表5-2消息头字段 .………..39表5-3消息属性字段…………………………………………二………………………40表5_4消息体类型 第ⅡI‘页 国防科学技术大学研究生院工程硕士学位
论文 图 目 录 ● ● 图2.1 JMS API体系结构…………………………………………………...…………5 图2-2点对点的消息传递………………………………..:…………………………….6 图2-3发布,订阅消息传递………………… ………………..6 图2_4 JMS APl编程模型……………: ………………..8 图3.1 m体系结构 11 图3-2 m体系结构 12 图4_l接口实现的用例图 图4_2接口实现的内部交互(a) 16 图4-3接口实现的内部交互(b)………….’图4.4 控制类之何的交互……………………………………………………………17 ● ● ● 图” ● ConnectionFactory,Connection的实现…………………………………….19 图4.6 QueueReceiver,QueueSender,TopicSubscriber,TopicPublisher的实现.20 图4_7 消息类之间的交互……………………………………~……………………20 图4—8 Queue·Topic的实现…………………………………………二……………2l 图4.9 消息类型的实现………………………………………………………………22 图4.10异常类之间的交互…………………………………………: …………23 图4.1 1异常类型的实现……。
…….….23 图5-1 m消息结构 41 图5-2消息池类MessagePool 图5_3点对点模式下单线程客户发送消息测试数据 ¨ 图5.4发布,订阅模式下单线程客户发送消息测试数据…. .¨ 图5-5点对点模式下多线程客户发送消息测试数据 ¨ 图5-6发布,订阅模式下多线程客户发送消息测试数据… ” 图5.7点对点模式下使用连接池后发送消息测试数据 ¨ 甜“钙钙% 图5-8发布,订阅模式下使用连接池后发送消息测试数据 …..46 图5-9信息交换平台层次图 ......47 图5.10电子政务信息传输过程 :….47 第Ⅳ页 独创性声明 本人声翡所呈交的学位
论文是我本人在导舞指导下进行的研究工作及取得曲研究成果.尽我所知,除了文中特别加以标注和致谢的地方外,
论文中不包含其他人已经发表和撰写过鲍研究成果,也不包含为获得国防科学技术大学或其它教育机构的学位或证书而使用过的材料.与我一同工作的同志对本研究所做的任何贡献均已在
论文 学位
论文题目:蛰煎垦至童匿生磊垒鱼丛坚壁五些螫瞳避苎型梦中作了明确的说明并表示谢意. 学位
论文作者签名: 蕊扬 。
日期:o护衫年;月彤日 学位
论文版权使用授权书 本人完全了解国防科学技术大学有关保留、使用学位
论文的规定.本人授权国 ● ●防科学技术大学可以保留并向国家有关部门或机构送交
论文的复印件和电子
文档,允许
论文被查阅和借阅:可以将学位
论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存.汇编学位
论文. 学位
论文题目:楹蛔弛继边邀蝼幽缈 (保密学位
论文在解密后适用本授权书.) 蓝垄 学位
论文作者签名: 日期:西衫年弓月形日 作者指黝馘:墨缝.一眈‖箩年弓月。
7日 国防科学技术大学研究生院工程硕士学位
论文 第一章绪论· 1.1课题的背景 随着
计算机技术的飞速发展,各种各样的应用软件需要在各种平台之问进行移植,或者一个平台需要支持多种应用软件和管理多种应用系统,软、硬件平台和应用系统之间需要可靠和高效的数据传递或转换,使系统的协同性得以保证.这些,都需要一种构筑于软、硬件平台之上.同时对更上层的应用软件提供支持的软件系统,而中间件正是在这个环境下应运而生. 中间件是一种独立的系统软件或服务程序,分布式应用
软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信闭. . 当前,CORBA、DCOM、ItMI等RPC中间件技术已经广泛应用于各个领域。
但是面对规模和复杂度都越来越高的分布式系统,这些技术也显示出其局限性〔391: (1)同步通信:客户发出调用后,必须等待服务对象完成处理并返回结果后才能继续执行; (2)客户和服务对象的生命周期紧密耦合:客户进程和服务对象进程都必须正常运行;如果由于服务对象崩溃或者网络故障导致客户的请求不可达,客户会接牧到异常; ’’ (3)点对点通信:客户的一次调用只发送给某个单独的目标对象. . 面向消息中间件(Message-Oriented Middleware,简称MOM)则较好的解决了以上问题.面向消息中问件是利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。
通过提供消息传递和消息捧队模型,它可在分布环境下扩展进程间的
通信。
并支持多通讯协议、语言、应用程序、硬件和软件平台【27J. t 虽然消息中间件实现的目标和功能大同小异,但是在具体实现上有很大差异,不同的厂商基于各自的开发标准和接口,因而不同系统之间兼容性很差,一旦采用某个厂商的消息中间件构建自己的系统,要改用别的厂商的消息中问件就需要对系统做很多的改动,并采用相应厂商的专用接口去实现通信,这样对于企业用户来说能选择的余地很小,不利于降低企业的成本,同时也加重了开发和维护的负担.因此,寻求一种开放的、统一的消息中间件服务接口就很有意义. JavaMessage Service(JMs)接口规范正是这样一种标准,并且目前为越来越多的消息中间件厂商所认可,这也是本课题选择JMS API作为开发消息中间件的接口规范的主要原因. 第l页 国防科学技术大学研究生院工程硕士学位
论文 1.2课题的现状4 . 从上世纪九十年代初,随着各种不同厂商的消息中间件大量上市。
消息中间件技术也得到了长足的发展.目前市场上所流行的消息中间件产品有‘mMMQSeries、MessageQ〔BEA〕、IuforBroker、TongLINK、BEA eLINK:MSMQ等;-但这些中间件均属于传统类型的消息中间件,都不是基于JMS‘(Java MessageService)的.- 随着Intemet的技术的发展;尤其是JAVA技术的迅猛发展,JAVA技术也逐步成为Intemet上的主流技术.JAVA平台技术下的Java Message Service(JMs)。
是由Sun Microsystems公司提出的基于Java技术的消息中间件的规范。
它提供了一个通用的消息模型,是SUN公司提出的Java平台中的消息服务接口规范.它用于创建消息中间件的一组应用开发接口(API),有效地屏蔽了网络协议:应用实现的具体技术、操作系统和数据库的细节【371. . . SMS自推出以来得到了业界的广泛承认,已经成为了工业界的事实标准【刀,。
很多的中间件厂商开始支持JMS标准。
目前,基于JMS的消息中间件产品已大量涌入市场,其中有J2EE平台下的消息中间件JMSProvider,Surt公司的/MQ,Progress公司的SonicMQ等. 然而基于JMS的消息中间件在得到了广泛应用的同时,也带来了如下问题:由于传统类型的消息中间件的
设计与开发没有统一的标准,因此不同厂商开发出来的消息中间件也就有着不同的开发接口,但这些消息中间件都有一个共同点,就是它们都不遵循JMS的接口规范,因此在这种情况下它们也就不可能与基于JMS的消息中间件的应用系统实现互操作,它们本身的应用系统也无法获取Java消息服务。
针对这个
问题,我们提出了自己的解决方案,对原有的消息中间件进行升级,并在这个基础上开发出一种支持JMS接口的客户端,这种客户端成为升级后的消息中间件的一个应用模块.这种
方案的优点在于可在新的应用
系统中通过可选择性的支持JMS的接口安装来确定是否需要获取Java消息服务. 1.3
论文的工作 针对目前传统类型消息中问件的应用系统无法获取JMS消息服务,本文采用了基于JMS规范,对原有的消息中间件开发出一种支持/MS接口的客户端,这种客户端成为消息中间件的一个应用模块. 本文基于中创软件公司的消息中间件IuforBroker,为其实现/MS Al l,使应。
用程序可以通过这个标准接口对消息中间件InforBroker系统进行访问. 第2页 国防科学技术大学研究生院工程硕士学位
论文 本文的
工作可主要概括如下:为了更好地为非基于JMS消息中间件InforBroker提供JMS消息服务,我们要给消息中问件InforBroker系统设计并实现一套和JMS服务规范相配套的类库,实际交互是通过操纵消息中间件InforBroker系统自定义的类库来完成操作的. 1.4
论文的组织 本文以下章节的内容组织如下: 第二章着重介绍了JMS规范中的一些概念,并且就其中一些概念做了更深●步的分析.详细的阐述了关于JMS的语法和语义的概念。
第三章简要介绍了消息中间件及消息中间件产品InforBroker的总体结构和实现消息中间件InforBroker的JMSAPI的原因。
第四章设计消息中间件InforBroker的JMs API接口,设计一套和JMS服务规范相配套的类库.这个是本文的重点。
. .、 第五章实现消息中间件InforBrokcr的JMS API接口,最后对实现了JMS API的消息中间件InforBroker进行了测试,并介绍了其在电子政务中的应用. 第六章则对全文进行了工作总结,并提出今后的工作与展望。
1.5小结 中间件是继操作系统和数据库
管理系统之后随着
网络的兴起与发展而新兴的一种基础软件.可以视为位于网络各结点操作系统之上,网络应用系统之下的一层支撑软件。
消息中间件是中间件领域中应用最广、销售量最大的一类中间件产品。
它为应用系统提供可靠的消息通信手段,能够实现不同操作系统平台、数据库和硬件系统平台的数据通信. . . 消息中间件为企业提供数据传递已经有很多年了,但是消息中间件始终没有一个统一的标准,导致消息中间件产品的实现和接口各异,使企业在选择产品时很难做出选择.由于这个问题的存在,SUN公司提出一个解决方法-J烬<Java消息服务). 本章概要论述了课题研究的背景与现状,包括中问件,消息中间件及JMS规范的概述,同时还阐述了JMS规范在消息中间件中的地位以及其作用,为后续章节的开展作好了铺垫. 第3页 国防科学技术大学研究生院工程硕士学位
论文 第二章消息中间件JMS API规范研究 。
虽然消息中间件实现的目标和功能大同小异。
但是在具体实现上有很大的差异,各提供者有不同的设计思路和接口,因此接口的兼容性很差.本章主要介绍具有开发性和跨平台的中间件接口规范J峪API,Jgs API与其它的J2EE API类似,它本身并不是一种实现方案,而是一种访问消息中间件的接口规范.为了保持规范的严谨,本文以下对JMS API的所有定义或说明都来自Sun公司制定的J幅;1.1规范和JMS 1.1指南.’ 2.1ffMS概述 JavaMessage Service(YMS)是由SunMicrosystems公司提出的基于Java技术的消息中间件的规范。
它有效地屏蔽了网络协议、应用实现的具体技术、操作系统和数据库的细节,目前己被各大软件公司和
开源组织所接受,成为了工业界的事实标准171。
‘ .、 JMS用于创建消息中问件的一组应用开发接口(删).〕MS本身并不是一个消息中间件,它只是为中间件生产商(或者叫做提供者,·Provider)制定了一系列的接口规范和类抽象,以便使任何遵守此规范的提供者可以生成、发送、接收和阅读消息,并实现彼此之阿的消息交换,使应用系统获得最大的可移植性脚T. 〕MS类似于JDBC(Java Database Connection)和JNDI(Java Naming andDirectory).JDBC实现了访问关系数据库的抽象,JNDI实现了访问命名和目录服务的抽象,〕MS实现了访问消息中间件的抽象【3日. ‘ 因此我们可以给出〕MS的定义:〕MS是一个规范,它定义了_组接口和相关的语义,这些接口允许基于Java技术开发的应用
程序访问任何一个遵守JMs规范的消息中间件产品.这个定义说明了: ·JMS只是一种规范,并不是产品的具体实现; ·JMS只定义了接口和语义; ·〕MS适用于任何一种遵守该规范的消息中问件产品,即可移植性; ·JlVlS只适用于采用Java技术开发的应用系统,即语言相关性. . 需要指出,〕MS规范并非由SUN公司一家开发并完成.在〕MS规范指定和开发的过程中,很多业界的领导厂商参与了这一过程,包括mM、Oracle、Sybase、NoveU、Allaire、BEA systems、Fiorano Sothare、Progress So疗嗽阎瞄1剀等.这正是JMS规范被广泛接收,并成为当前消息中间件的事实标准的重要原因j 同时,〕MS规范并没有强制要求所有的中间件厂商必须全部实现规范中的所 第4页 国防科学技术大学研究生院工程硕士学位
论文有内容。
.ⅡdS规范中有很多是可选内容,这些内容可以由提供者自行决定是否实现. 2.2 J/VlS API体系结构 YMS应用程序由下面各个部分组成f2】f3l: ·一个JMS提供者,它是实现JMS接口并提供管理和控制功能的一个消息 传递系统. ·JlVlS客户,.是用Java编写的生产和消费消息的程序或组件。
·消息,是在JMS客户之间传递消息的对象。
·被管理对象,是管理员为客户而创建的预配置JMS对象.两种被管理的 对象是目的地和连接工厂. ‘ ·本机客户,是使用消息传递产品的本机客户API,而不使用JMS API的应 用程序.在JMS API引入前创建,随后又被修改的应用程序可能既包括 JMS,又包括本机客户. · 图2.1说明了这些部分交互的方式.管理工具允许用户把目的地和连接工厂绑定到一个Java命名和目录接口(邛iDI)API命名空间中.JMS客户然后在该命名空间中查找被管理对象,并通过JMS提供者建立与这些对象的逻辑连接. 2.3消息传递域 JMS规范提供两种最普遍的消息模式:点对点(Point-To-Point,简写为P2P) 。
’ ● .