




已閱讀5頁,還剩74頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
分類號 TP31 密級 公開 UDC 編號 碩士研究生學(xué)位論 文 題題 目目 基于基于 JMXJMX 框架的框架的 JMSJMS 服務(wù)器服務(wù)器 的設(shè)計和實現(xiàn)的設(shè)計和實現(xiàn) 學(xué)院(所、中心) 軟件學(xué)院 專 業(yè) 名 稱 軟件工程 研究生姓名 學(xué)號 導(dǎo) 師 姓名 職稱 研究員 2007 年 4 月 聲 明 本人聲明所呈交的論文是我個人在導(dǎo)師指導(dǎo)下進(jìn)行的研究工作及取得的研究 成果。盡我所知,除了文中特別加以標(biāo)注和致謝的地方外,論文中不包含其他人 已經(jīng)發(fā)表或撰寫過的研究成果,也不包含為獲得云南大學(xué)或其他教育機構(gòu)的學(xué)位 或證明而使用過的材料。與我一同工作的同志對本研究所做的任何貢獻(xiàn)均已在論 文中作了明確的說明并表示了謝意。 研究生簽名: 日 期: 論文使用和授權(quán)說明 本人完全了解云南大學(xué)有關(guān)保留、使用學(xué)位論文的規(guī)定,即:學(xué)校有權(quán)保留 并向國家有關(guān)部門或機構(gòu)送交學(xué)位論文和論文電子版;允許論文被查閱或借閱; 學(xué)校可以公布論文的全部或部分內(nèi)容,可以采用影印、縮印或其他復(fù)制手段保 存論文;授權(quán)學(xué)校將學(xué)位論文的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫進(jìn)行檢索。 (保密的論文在解密后應(yīng)遵循此規(guī)定) 研究生簽名: 導(dǎo)師簽名: 日 期: 云南大學(xué)碩士學(xué)位論文 基于 JMX 框架的 JMS 服務(wù)器的設(shè)計和實現(xiàn) - I - 摘摘 要要 隨著世界經(jīng)濟(jì)的全球化進(jìn)程,電子商務(wù)的蓬勃發(fā)展以及網(wǎng)絡(luò)應(yīng)用的日益普及, 對于分布式應(yīng)用和計算的要求越來越高。如何高效,安全,準(zhǔn)確地進(jìn)行分布式系 統(tǒng)間的通信已經(jīng)成為了目前網(wǎng)絡(luò)應(yīng)用和分布式計算所迫切需要解決的關(guān)鍵問題之 一。 消息中間件為應(yīng)用系統(tǒng)之間提供了可靠,高效,跨平臺的消息傳遞服務(wù),有 利于應(yīng)用之間的數(shù)據(jù)交換,是解決如上問題有效方案。雖然消息中間件實現(xiàn)的目 標(biāo)和功能大同小異,但是在具體的實現(xiàn)上有很大的差異,不同的廠商基于各自的 開發(fā)標(biāo)準(zhǔn)和接口,因而不同系統(tǒng)之間兼容性不好,這樣不利于降低企業(yè)的成本, 同時也加重了應(yīng)用開發(fā)者和系統(tǒng)維護(hù)的負(fù)擔(dān)。因此,作為消息中間件的一個規(guī)范 接口標(biāo)準(zhǔn),JMS 規(guī)范已經(jīng)被各大廠商所接受。 論文正是基于以上目的設(shè)計了一個遵從 JMS1.1 規(guī)范的基于 JMX 技術(shù)的消息 中間件。論文首先對中間件技術(shù)及其分類做了綜述,介紹了與消息中間件相關(guān)的 一些概念和模型。其次,對 Sun 公司提出的 JMS API 接口規(guī)范進(jìn)行分析,解決了 JMS 實現(xiàn)的關(guān)鍵問題,并且將 JMX 技術(shù)引入到消息中間件的管理中,提出了 JMS 消息中間件的設(shè)計和實現(xiàn)的思路。論文給出了系統(tǒng)整體構(gòu)架的分析和設(shè)計, 對其中的關(guān)鍵技術(shù)進(jìn)行了深入分析,提出了相應(yīng)的解決方案,并實現(xiàn)了系統(tǒng)的各 個主要功能模塊。最后,論文指出了存在的問題和下一步的改進(jìn)工作。 關(guān)鍵詞 消息中間件; JMS 規(guī)范; JMX 分布式管理框架. 云南大學(xué)碩士學(xué)位論文 基于 JMX 框架的 JMS 服務(wù)器的設(shè)計和實現(xiàn) - II - ABSTRACT Along with the economy globalities and the progress of e-commerce application, these applications become the challenge of todays web and distributed systems. How to provide the efficacious, reliable and safe communication service of distributed systems is the key of these applications. Message oriented middleware(MOM) which is widely applied can provide reliable and efficacious message deliver service and avail data exchange among applications. Although the goal and function of most message oriented middleware is very common, the implements of MOM varies with the different MOM provider and each provider has its own development standard and interface. Therefore, the compatibility among providers is very weak, which will confine the choice of enterprise and increase the overload of developer. Obviously, it is very significative to pursuit a open and universal MOM service interface, JMS API specification, which is accepted by most companies, caters for the demand. This thesis summerises the technology and category of middleware firstly, and introduce some general concept and message model on message oriented middleware. Then, JMS API specification of Sun Microsystem Incorpration is analyzed. In the rest part, the thesis takes JMX technology into the design of the JMS and discusses the design and implementation of JMS message oriented middleware and. This thesis discusses the system architecture and the design of imported parts. And some key technologies, such as thread pool and work queue, thread synchronization, is illustrated in detail. Finally, the existing problem and future step are pointed out. KEYWORDS Message-oriented middleware(MOM); JMS API specification; Java Management Extensions(JMX). 云南大學(xué)碩士學(xué)位論文 基于 JMX 框架的 JMS 服務(wù)器的設(shè)計和實現(xiàn) -III - 目目 錄錄 摘 要.I ABSTRACT .II 目 錄.III 第一章 引言.1 1.1 研究目的及問題概述 .1 1.2 研究范圍及創(chuàng)新 .1 1.3 論文結(jié)構(gòu) .2 第二章 分布式應(yīng)用的挑戰(zhàn).3 2.1 網(wǎng)絡(luò)應(yīng)用模式的發(fā)展 .3 2.2 分布式網(wǎng)絡(luò)通訊面臨的挑戰(zhàn) .4 第三章 消息中間件和 JMS 規(guī)范概述.5 3.1 中間件的概述 .5 3.1.1 中間件的發(fā)展.5 3.1.2 中間件的作用和特點.6 3.1.3 主要中間件的分類.6 3.2 消息中間件的概述 .9 3.2.1 消息中間件的由來.9 3.2.2 消息中間件的定義.10 3.2.3 消息中間件的關(guān)鍵技術(shù).10 3.2.4 SUN 對消息中間件的貢獻(xiàn) JMS.11 3.3 JMS 簡介.11 3.3.1 JMS 概述.11 3.3.2 JMS 的目標(biāo).11 3.3.3 JMS 的體系結(jié)構(gòu).12 云南大學(xué)碩士學(xué)位論文 基于 JMX 框架的 JMS 服務(wù)器的設(shè)計和實現(xiàn) -IV - 3.3.4 JMS 的基本概念.12 3.3.5 JMS 的 API.15 3.3.6 利用 JMS 進(jìn)行客戶端開發(fā)的主要步驟.16 3.4 小結(jié) .18 第四章 JMS 關(guān)鍵技術(shù)研究.19 4.1 消息隊列的設(shè)計 .19 4.1.1 消息隊列的工作方式.19 4.1.2 消息隊列的實現(xiàn)原理.20 4.2 JMS 接口的封裝和實現(xiàn).24 4.2.1 JMS 接口的實現(xiàn)策略.24 4.2.2 為 Connection 對象建立對象池.25 4.3 XML 技術(shù)在 XMB 中的應(yīng)用 .31 4.3.1 XML 技術(shù)概述.31 4.3.2 利用 XML 實現(xiàn)消息的持久化存儲.32 4.3.3 利用 XML 實現(xiàn) JMS 服務(wù)器的啟動配置.35 4.4 JMX 技術(shù)在 XMB 中的應(yīng)用.36 4.4.1 JMX 技術(shù)概述.36 4.4.2 利用 JMX 實現(xiàn) JMS 服務(wù)器的管理.38 4.5 小結(jié) .41 第五章 XMB 的設(shè)計.42 5.1 設(shè)計思想和系統(tǒng)目標(biāo) .42 5.1.1 系統(tǒng)構(gòu)思.42 5.1.2 系統(tǒng)所需的 java 技術(shù) .42 5.2 系統(tǒng)的基本處理流程 .43 5.3 系統(tǒng)架構(gòu) .44 云南大學(xué)碩士學(xué)位論文 基于 JMX 框架的 JMS 服務(wù)器的設(shè)計和實現(xiàn) -V - 5.3.1 XMB 的體系結(jié)構(gòu).44 5.3.2 JMS 實現(xiàn)模塊詳解.45 5.4 接口實現(xiàn)部件的設(shè)計 .46 5.4.1 模塊上下文環(huán)境.46 5.4.2 模塊的內(nèi)部交互.47 5.4.3 模塊的內(nèi)部結(jié)構(gòu).49 5.5 對象傳輸層的設(shè)計 .52 5.5.1 模塊上下文環(huán)境.52 5.5.2 模塊的內(nèi)部交互.53 5.5.3 模塊的內(nèi)部結(jié)構(gòu).55 5.6 系統(tǒng)中的 XML 處理部件的設(shè)計 .56 5.6.1 系統(tǒng)的啟動配置.57 5.6.3 持久化 JMS 受管對象.59 5.7 管理框架的設(shè)計 .59 5.7.1 管理框架的上下文.59 5.7.2 管理框架的內(nèi)部交互.60 5.7.3 管理框架的內(nèi)部結(jié)構(gòu).62 5.8 小結(jié) .65 第六章 總結(jié)與展望.66 6.1 總結(jié) .66 6.2 進(jìn)一步工作 .66 參考文獻(xiàn).68 致 謝.70 云南大學(xué)碩士學(xué)位論文 基于 JMX 框架的 JMS 服務(wù)器的設(shè)計和實現(xiàn) - 1 - 第一章第一章 引言引言 1.1 研究目的及問題概述 回顧互聯(lián)網(wǎng)的發(fā)展軌跡,我們可以看到互聯(lián)網(wǎng)的面貌正在迅速發(fā)生變化,互 聯(lián)網(wǎng)所能傳遞、共享的各種信息呈現(xiàn)出不同的形態(tài),使得互聯(lián)網(wǎng)能夠提供越來越 豐富的應(yīng)用??梢钥吹剑瑥耐ㄐ欧绞?、娛樂方式到商業(yè)模式,互聯(lián)網(wǎng)應(yīng)用在多個 領(lǐng)域?qū)崿F(xiàn)著對傳統(tǒng)模式的顛覆。 隨著互聯(lián)網(wǎng)的發(fā)展,網(wǎng)絡(luò)應(yīng)用經(jīng)歷了從簡單到復(fù)雜,從集中到分布的演變。 大型分布式應(yīng)用程序的構(gòu)建和維護(hù)卻成了一個復(fù)雜的事情,尤其是不同應(yīng)用程序 之間的通信問題。伴隨著網(wǎng)絡(luò)環(huán)境的日益復(fù)雜,網(wǎng)絡(luò)中的通信問題也日趨嚴(yán)重。 主要表現(xiàn)在兩個方面1:首先,在大型的分布式網(wǎng)絡(luò)應(yīng)用中,不同的應(yīng)用運行在 不同的進(jìn)程中,分布在不同的計算機上,甚至是跨系統(tǒng),跨平臺的,如何將這些 應(yīng)用有效的集成,使不同的應(yīng)用之間能保持良好的通信,使其發(fā)揮分布式應(yīng)用的 真正的巨大優(yōu)勢已經(jīng)成為衡量一個分布式應(yīng)用是否可靠,是否穩(wěn)定的重要標(biāo)準(zhǔn)。 其次,大多數(shù)傳統(tǒng)的通信技術(shù)要求發(fā)送和接收方必須遵循兩個條件:1)雙方通訊 是同步的;2)雙方必須同時知道相互程序之間的調(diào)用接口。然而,在分布式環(huán)境 中,應(yīng)用并不總是同時運行的;而且網(wǎng)絡(luò)并不總是可用和可靠的;數(shù)據(jù)的流量具 有突發(fā)性,并可能造成網(wǎng)絡(luò)的擁塞,這樣一來分布式應(yīng)用之間的異步通信問題就 變得非常突出了。 這些問題的提出對大型分布式應(yīng)用程序提出了挑戰(zhàn),如何解決這些問題,使 分布式應(yīng)用程序能高效,穩(wěn)定和安全的運行,降低開發(fā)的成本并提高應(yīng)用的投資 回報率,成為了開發(fā)人員急需解決的問題。 1.2 研究范圍及創(chuàng)新 消息中間件無疑是解決分布式應(yīng)用程序之間通信的核心技術(shù)之一。消息中間 件可利用高效,可靠的消息傳輸機制進(jìn)行平臺無關(guān)的數(shù)據(jù)傳輸,并基于消息的通 信進(jìn)行分布式系統(tǒng)的集成3。它適用于任何需要進(jìn)行網(wǎng)絡(luò)通信的系統(tǒng),負(fù)責(zé)建立 網(wǎng)絡(luò)通信的通道,進(jìn)行數(shù)據(jù)或文件發(fā)送。消息中間件可以跨平臺操作,為不同操 作系統(tǒng)上的應(yīng)用軟件集成提供方便,從而滿足企業(yè)對系統(tǒng)伸縮性和可擴(kuò)展性的要 求。 在此背景下,本論文設(shè)計了基于 JMX 框架的 JMS 服務(wù)器 (下文稱為 JMX- 云南大學(xué)碩士學(xué)位論文 基于 JMX 框架的 JMS 服務(wù)器的設(shè)計和實現(xiàn) - 2 - oriented Message Bus Server,簡稱為 XMB 服務(wù)器)系統(tǒng)。XMB 是一個遵從 JMS1.1 規(guī)范的基于 JMX 管理框架的消息中間件實現(xiàn)。該中間件從邏輯上分為兩 大部分:一部分是客戶端編程接口;另一部分則實現(xiàn)一個基于 JMS 規(guī)范的消息中 間件服務(wù)器6。 本論文首先對中間件技術(shù)及其分類做了綜述,介紹了與消息中間件相關(guān)的一 些概念和模型,然后討論了設(shè)計一個 JMS 實現(xiàn)的關(guān)鍵技術(shù)并給出了相應(yīng)的解決方 案,最后論文從 XMB 系統(tǒng)的體系結(jié)構(gòu)入手,分別設(shè)計了 XMB 系統(tǒng)中的各個關(guān) 鍵模塊和重要部件。XMB 符合 JMS1.1 規(guī)范的相應(yīng)要求,支持兩種消息通訊模式, 支持消息的異步通訊,支持消息的持久化和消息消費者的持久化。同時,本論文 通過 JMX 技術(shù)的引入填補了 JMS 規(guī)范在服務(wù)器管理方面的空白。由于 JMX 技術(shù) 可以跨越一系列異構(gòu)操作系統(tǒng)平臺、系統(tǒng)體系結(jié)構(gòu)和網(wǎng)絡(luò)傳輸協(xié)議,靈活的開發(fā) 無縫集成的系統(tǒng)、網(wǎng)絡(luò)和服務(wù)管理應(yīng)用15。系統(tǒng)通過 JMX 技術(shù)的引入大大簡化 JMS 服務(wù)器的管理工作,并為整個 XMB 系統(tǒng)提供了極具伸縮性和可擴(kuò)展性的體 系結(jié)構(gòu)。 1.3 論文結(jié)構(gòu) 本論文組織結(jié)構(gòu)如下: 第一章介紹了本論文的研究目的,研究范圍以及論文的創(chuàng)新點; 第二章簡單介紹了網(wǎng)絡(luò)應(yīng)用模式的發(fā)展以及分布式應(yīng)用面臨的問題; 第三章介紹了消息中間件技術(shù)的發(fā)展和特點,并重點介紹了 JMS 技術(shù)規(guī)范以 及相關(guān)的概念和特點; 第四章討論了設(shè)計一個 JMS 實現(xiàn)可能遇到的關(guān)鍵技術(shù)問題,并給出了相應(yīng)的 一些解決方案; 第五章從 XMB 系統(tǒng)的架構(gòu)入手,分別討論了該系統(tǒng)各個關(guān)鍵模塊和主要部 件的設(shè)計; 第六章對論文進(jìn)行了總結(jié)并對后續(xù)研究提出了展望。 云南大學(xué)碩士學(xué)位論文 基于 JMX 框架的 JMS 服務(wù)器的設(shè)計和實現(xiàn) - 3 - 第二章第二章 分布式應(yīng)用的挑戰(zhàn)分布式應(yīng)用的挑戰(zhàn) 2.12.1 網(wǎng)絡(luò)應(yīng)用模式的發(fā)展網(wǎng)絡(luò)應(yīng)用模式的發(fā)展 回顧互聯(lián)網(wǎng)的發(fā)展軌跡,我們可以看到互聯(lián)網(wǎng)的面貌正在迅速發(fā)生變化,互 聯(lián)網(wǎng)所能傳遞、共享的各種信息呈現(xiàn)出不同的形態(tài),使得互聯(lián)網(wǎng)能夠提供越來越 豐富的應(yīng)用??梢钥吹剑瑥耐ㄐ欧绞?、娛樂方式到商業(yè)模式,互聯(lián)網(wǎng)應(yīng)用在多個 領(lǐng)域?qū)崿F(xiàn)著對傳統(tǒng)模式的顛覆。例如在商業(yè)領(lǐng)域,互聯(lián)網(wǎng)可以支持更加個性化、 定制化的服務(wù),賦予了客戶更多的自由度和選擇空間??梢哉f,互聯(lián)網(wǎng)應(yīng)用的豐 富不僅體現(xiàn)在數(shù)量的增多,而且針對不同領(lǐng)域提供的服務(wù)的滿足度正在不斷提高, 由此帶動了互聯(lián)網(wǎng)本身的社會和經(jīng)濟(jì)價值不斷提升,并且對傳統(tǒng)的社會和經(jīng)濟(jì)形 態(tài)形成了強有力的沖擊。 但是不管互聯(lián)網(wǎng)的內(nèi)容和形式發(fā)生的多少變化,迄今為止,網(wǎng)絡(luò)應(yīng)用模式的 發(fā)展大致經(jīng)歷了四個階段4: 1. 以大型機為中心的分時共享模式,它是采用大型機為中心,并配備了多個終 端所組成的一個系統(tǒng)。這種模式是利用主機的超強處理能力,主機是整個系 統(tǒng)的核心,但是一旦主機出現(xiàn)故障,那么整個系統(tǒng)就將癱瘓。 2. 以服務(wù)器為中心的資源共享模式,它通過網(wǎng)絡(luò)將多臺計算機連接,以實現(xiàn)資 源的共享。這種模式從分利用了各個站點的計算能力,應(yīng)用開始出現(xiàn)了真正 意義上的位置的分布式。 3. Client/Server 計算模式是目前仍在大量使用中的計算模式。在基于 C/S 模式的 應(yīng)用中,數(shù)據(jù)一般統(tǒng)一存放在數(shù)據(jù)服務(wù)器上,而有關(guān)的業(yè)務(wù)邏輯一般都在客 戶端實現(xiàn),這就是所謂的胖客戶端解決方方案。但是隨著 C/S 模式的發(fā)展, 許多應(yīng)用開始體現(xiàn)出它的局限性:1)應(yīng)用的層次一般比較混亂,不能或者難 以劃分應(yīng)用邏輯;2)應(yīng)用的安全性比較差;3)應(yīng)用的可擴(kuò)展性比較差;4) 應(yīng) 用的維護(hù)工作量比較大。 4. 為了改進(jìn) Client/Server 的計算模式,使之更能適應(yīng)當(dāng)今的網(wǎng)絡(luò)和分布式應(yīng)用的 需求,網(wǎng)絡(luò)應(yīng)用的計算模式正在向兩個方向發(fā)展。首先中間件的出現(xiàn)為 C/S 模式帶來了一次革新。在原來的兩層結(jié)構(gòu)中,現(xiàn)在可以利用中間件實現(xiàn)多層 結(jié)構(gòu)。而且中間件提供了從消息處理,網(wǎng)絡(luò)通訊到數(shù)據(jù)處理等多方位的底層 服務(wù)功能,使得應(yīng)用系統(tǒng)的開發(fā)從技術(shù)細(xì)節(jié)的實現(xiàn)中解放出來,能更多的投 云南大學(xué)碩士學(xué)位論文 基于 JMX 框架的 JMS 服務(wù)器的設(shè)計和實現(xiàn) - 4 - 入業(yè)務(wù)邏輯的處理當(dāng)中。而業(yè)務(wù)邏輯也逐漸開始從客戶端慢慢向服務(wù)器端轉(zhuǎn) 移,這就是所謂的瘦客戶端。但是客戶端的維護(hù)問題仍然存在,為了完全解 決這個問題,Brower/Server 計算模式從而應(yīng)運而生。但是 B/S 計算模式同樣 存在自己的一些局限性:1)單一的基于 HTTP 的通訊,效率不高;2)客戶端 的表現(xiàn)能力不強;3)同樣存在瀏覽器的類型和版本問題。 在目前的網(wǎng)絡(luò)應(yīng)用中,主要以 B/S 結(jié)構(gòu)和多層 C/S 結(jié)構(gòu)的應(yīng)用為主,而大量 的中間件產(chǎn)品正在為這些應(yīng)用提供引擎動力。中間件技術(shù)涉及到了網(wǎng)絡(luò)應(yīng)用中的 各個方面,提供了最核心的底層技術(shù)支持,已經(jīng)發(fā)展成為網(wǎng)絡(luò)應(yīng)用中不可替代的 關(guān)鍵技術(shù)。 2.22.2 分布式網(wǎng)絡(luò)通訊面臨的挑戰(zhàn)分布式網(wǎng)絡(luò)通訊面臨的挑戰(zhàn) 網(wǎng)絡(luò)應(yīng)用經(jīng)歷了從簡單到復(fù)雜,從集中到分布的演變。大型分布式應(yīng)用程序 的構(gòu)建和維護(hù)卻是一個十分復(fù)雜的事情,尤其是不同應(yīng)用程序之間的通信。伴隨 著網(wǎng)絡(luò)環(huán)境的日益復(fù)雜,網(wǎng)絡(luò)中的通信問題也日趨嚴(yán)重。主要表現(xiàn)在兩個方面1: 1. 在大型的分布式網(wǎng)絡(luò)應(yīng)用中,不同的應(yīng)用運行在不同的進(jìn)程中,分布在不同 的計算機上,甚至是跨系統(tǒng),跨平臺的,如何將這些應(yīng)用有效的集成,使不 同的應(yīng)用之間能保持良好的通信,使其發(fā)揮分布式應(yīng)用的真正的巨大優(yōu)勢。 這已經(jīng)成為衡量一個分布式應(yīng)用是否可靠,是否穩(wěn)定的重要標(biāo)準(zhǔn)。 2. 大多數(shù)傳統(tǒng)的通信技術(shù)要求發(fā)送和接收方必須遵循兩個條件:1)雙方必須同 時在線,即通訊是同步的;2)雙方必須同時知道相互程序之間的調(diào)用接口。 這樣就要求一旦一個應(yīng)用程序有任何接口的變化,就必須通知其他的應(yīng)用程 序。同時為了保持?jǐn)?shù)據(jù)的完整性,發(fā)送和接收在實際的實現(xiàn)中可能必須使用 分布式事務(wù),以確保一方應(yīng)用的數(shù)據(jù)改變能被雙方承認(rèn)。然而,在分布式環(huán) 境中,應(yīng)用并不總是同時運行的;而且網(wǎng)絡(luò)并不總是可用和可靠的;數(shù)據(jù)的 流量具有突發(fā)性,并可能造成網(wǎng)絡(luò)的擁塞,這樣一來分布式應(yīng)用之間的異步 通信問題就變得非常突出了。 這些問題的提出對大型分布式應(yīng)用程序提出了挑戰(zhàn),如何解決這些問題,使 分布式應(yīng)用程序能高效,穩(wěn)定和安全的運行,降低開發(fā)的成本并提高應(yīng)用的投資 回報率,成為了開發(fā)人員急需解決的問題。 云南大學(xué)碩士學(xué)位論文 基于 JMX 框架的 JMS 服務(wù)器的設(shè)計和實現(xiàn) - 5 - 第三章第三章 消息中間件和消息中間件和 JMSJMS 規(guī)范概述規(guī)范概述 3.1 中間件中間件的概述的概述 3.1.1 中間件的中間件的發(fā)展發(fā)展 隨著計算機技術(shù)的迅速發(fā)展。從硬件技術(shù)看,CPU 速度越來越高,處理能 力越來越強;從軟件技術(shù)看,應(yīng)用程序的規(guī)模不斷擴(kuò)大,特別是 Internet 及 WWW 的出現(xiàn),使計算機的應(yīng)用范圍更為廣闊,許多應(yīng)用程序需在網(wǎng)絡(luò)環(huán)境的異 構(gòu)平臺上運行。這一切都對新一代的軟件開發(fā)提出了新的需求。在這種分布異構(gòu) 環(huán)境中,通常存在多種硬件系統(tǒng)平臺(如 PC,工作站,小型機等),在這些硬件 平臺上又存在各種各樣的系統(tǒng)軟件(如不同的操作系統(tǒng)、數(shù)據(jù)庫、語言編譯器等), 以及多種風(fēng)格各異的用戶界面,這些硬件系統(tǒng)平臺還可能采用不同的網(wǎng)絡(luò)協(xié)議和 網(wǎng)絡(luò)體系結(jié)構(gòu)連接。如何把這些系統(tǒng)集成起來并開發(fā)新的應(yīng)用是一個非?,F(xiàn)實而 困難的問題。中間件概念的出現(xiàn)就是為解決這些分布異構(gòu)問題的。 中間件(Middleware)是位于平臺(硬件和操作系統(tǒng))和應(yīng)用之間的通用服務(wù),這 些服務(wù)具有標(biāo)準(zhǔn)的程序接口和協(xié)議。針對不同的操作系統(tǒng)和硬件平臺,它們可以 有符合接口和協(xié)議規(guī)范的多種實現(xiàn)2。 中間件是一種獨立的系統(tǒng)軟件或服務(wù)程序,分布式應(yīng)用系統(tǒng)借助這種軟件在 不同的技術(shù)之間共享資源,管理計算資源和網(wǎng)絡(luò)通訊。它在計算機系統(tǒng)中是一個 關(guān)鍵軟件,它能實現(xiàn)應(yīng)用的互連和互操作性,能保證系統(tǒng)的安全、可靠、高效的 運行。中間件位于用戶應(yīng)用和操作系統(tǒng)及網(wǎng)絡(luò)軟件之間(如圖 3-1 所示),它為應(yīng) 用提供了公用的通信手段,并且獨立于網(wǎng)絡(luò)和操作系統(tǒng)。中間件為開發(fā)者提供了 公用于所有環(huán)境的應(yīng)用程序接口,當(dāng)應(yīng)用程序中嵌入其函數(shù)調(diào)用,它便可利用其 運行的特定操作系統(tǒng)和網(wǎng)絡(luò)環(huán)境的功能,為應(yīng)用執(zhí)行通信功能5。 云南大學(xué)碩士學(xué)位論文 基于 JMX 框架的 JMS 服務(wù)器的設(shè)計和實現(xiàn) - 6 - 應(yīng)用應(yīng)用應(yīng)用應(yīng)用 中間件中間件 (提供分布式系統(tǒng)服務(wù)提供分布式系統(tǒng)服務(wù)) 操作系統(tǒng)操作系統(tǒng) 硬件硬件 操作系統(tǒng)操作系統(tǒng) 硬件硬件 網(wǎng)絡(luò)網(wǎng)絡(luò) 圖 3-1 中間件的位置 3.1.2 中間件的作用和特點中間件的作用和特點 中間件滿足了大量應(yīng)用的需要,運行于多種硬件和 OS 平臺上,它支持分布 計算,提供跨網(wǎng)絡(luò)、跨硬件和 OS 平臺的透明的應(yīng)用或服務(wù)的交互,支持標(biāo)準(zhǔn)的 協(xié)議,支持標(biāo)準(zhǔn)的接口。 由于標(biāo)準(zhǔn)接口對于可移植性和標(biāo)準(zhǔn)協(xié)議對于互操作性的重要性,中間件已成 為許多標(biāo)準(zhǔn)化工作的主要部分。對于應(yīng)用軟件開發(fā),中間件遠(yuǎn)比操作系統(tǒng)和網(wǎng)絡(luò) 服務(wù)更為重要,中間件提供的程序接口定義了一個相對穩(wěn)定的高層應(yīng)用環(huán)境,不 管底層的計算機硬件和系統(tǒng)軟件怎樣更新?lián)Q代,只要將中間件升級更新,并保持 中間件對外的接口定義不變,應(yīng)用軟件幾乎不需任何修改,從而保護(hù)了企業(yè)在應(yīng) 用軟件開發(fā)和維護(hù)中的重大投資。 3.1.3 主要中間件的分類主要中間件的分類 目前,中間件所包括的范圍十分廣泛,針對不同的應(yīng)用需求涌現(xiàn)出多種各具 特色的中間件產(chǎn)品。但至今中間件還沒有一個比較精確的定義,因此,在不同的 角度或不同的層次上,對中間件的分類也會有所不同。按照 IDC 的分類方法,中 間件大致可分為六類4。 (一)終端仿真/屏幕轉(zhuǎn)換 用以實現(xiàn)客戶機圖形用戶接口與已有的字符接口方式的的服務(wù)器應(yīng)用程序之 間的互操作。 云南大學(xué)碩士學(xué)位論文 基于 JMX 框架的 JMS 服務(wù)器的設(shè)計和實現(xiàn) - 7 - (二)數(shù)據(jù)訪問中間件 適用于應(yīng)用程序與數(shù)據(jù)源之間的互操作模型,客戶端使用面向數(shù)據(jù)庫的 API,以提請直接訪問和更新基于服務(wù)器的數(shù)據(jù)源,數(shù)據(jù)源可以是關(guān)系型、非關(guān) 系型和對象型。這類中間件大都基于 SQL 語句,采用同步通訊方式。此類中間件 使應(yīng)用開發(fā)簡單,但如果是透過廣域網(wǎng)使用,會帶來嚴(yán)重的效率問題,因為在低 速網(wǎng)上來回交互 SQL 語句會使通訊流量過大,同時對數(shù)據(jù)壓縮、加密帶來不便。 (三)遠(yuǎn)程過程調(diào)用中間件 RPC 機制是早期開發(fā)分布式應(yīng)用時經(jīng)常采用的一種同步式的請求應(yīng)答協(xié)議。 通過這種協(xié)議,程序員編寫客戶方的應(yīng)用,需要時可以調(diào)用位于遠(yuǎn)端服務(wù)器上的 過程。 當(dāng)編譯一個采用 RPC 機制的客戶方應(yīng)用時,編譯器告之代表遠(yuǎn)程功能調(diào)用的 句柄,客戶方需要調(diào)用遠(yuǎn)地的過程時,引用相應(yīng)的功能調(diào)用的句柄,由 RPC 機制 來負(fù)責(zé)客戶端程序?qū)崟r地調(diào)用到遠(yuǎn)地的過程。服務(wù)器上的過程返回后,客戶方的 程序得到結(jié)果并繼續(xù)往下進(jìn)行。在采用 RPC 機制時,調(diào)用遠(yuǎn)端的過程只需去引 用它,而不必告之網(wǎng)絡(luò)地址或其它底層信息。 RPC 機制可用以構(gòu)造客戶機/服務(wù)器方式的應(yīng)用,但由于它是同步方式,因 而在工作的時候,要求客戶方和服務(wù)方均能正常工作才能很好地運行,有一方不 能工作將導(dǎo)致 RPC 失敗。這在網(wǎng)絡(luò)故障、機器故障存在的情況下,這一要求是很 難保證的。還有一點值得注意的是,不管客戶方能做什么或做的多快,它必須依 靠服務(wù)方才能有效工作。有些恢復(fù)機制可以在一個遠(yuǎn)程調(diào)用阻塞時轉(zhuǎn)而去調(diào)用另 一個服務(wù)器上的過程,但這種路由方式也會影響效率。 目前,也有的 RPC 機制采用異步方式,客戶方非阻塞地調(diào)用遠(yuǎn)端的過程,但 這種方式不太標(biāo)準(zhǔn)而且很難采用。另外,由于大多數(shù) RPC 機制很難建立點到點的 關(guān)系,因而也很難用在面向?qū)ο蟮木幊坍?dāng)中。 (四)消息中間件 盡管消息中間件不象 RPC 機制那樣流行,但越來越多的分布式應(yīng)用采用消息 中間件來構(gòu)建,通過消息中間件來把應(yīng)用擴(kuò)展到不同的操作系統(tǒng)和不同的網(wǎng)絡(luò)環(huán) 境。 云南大學(xué)碩士學(xué)位論文 基于 JMX 框架的 JMS 服務(wù)器的設(shè)計和實現(xiàn) - 8 - 基于消息的機制更多地適用于事件驅(qū)動的應(yīng)用,當(dāng)一個事件發(fā)生時,消息中 間件通知服務(wù)方應(yīng)該進(jìn)行何種操作。事件可以是一個請求,也可以只是一種警示, 警示到來后,即可進(jìn)行某種處理,但不需等待應(yīng)答。 使用消息中間件編程采用的是消息中間件的 API,可以很好地擴(kuò)展到不同的 操作系統(tǒng)和硬件平臺上。消息中間件的核心安裝在需要進(jìn)行消息傳遞的系統(tǒng)上, 在它們之間建立邏輯通道,由消息中間件實現(xiàn)消息發(fā)送。消息中間件可以既支持 同步方式,又支持異步方式,實際上它是一種點到點的機制,因而可以很好地適 用于面向?qū)ο蟮木幊谭绞健?中間件領(lǐng)域目前最熱門的技術(shù)是異步的消息中間件,異步中間件技術(shù)比同步 中間件技術(shù)具有更強的容錯性,在系統(tǒng)故障時可以保證消息的正常傳輸,因而在 過去的兩年里增長迅速。異步中間件技術(shù)可以分為兩類:廣播方式和發(fā)布/訂閱 方式。廣播方式把消息分發(fā)給系統(tǒng)的所有用戶。發(fā)行/訂閱方式可以指定哪種類 型的用戶可以接收哪種類型的消息。發(fā)布/訂閱方式由于更加智能有效,事實上 已成為異步中間件的非正式標(biāo)準(zhǔn)。 (五)交易中間件 交易中間件是專門針對聯(lián)機交易處理系統(tǒng)而設(shè)計的。聯(lián)機交易處理系統(tǒng)需要 處理大量并發(fā)進(jìn)程,處理并發(fā)涉及到操作系統(tǒng)、文件系統(tǒng)、編程語言、數(shù)據(jù)通訊、 數(shù)據(jù)庫系統(tǒng)、系統(tǒng)管理、應(yīng)用軟件,是一個相當(dāng)艱巨的任務(wù),但是工作的難度可 以通過采用一個交易中間件來簡化。交易中間件就是一組程序模塊,用以大大減 少開發(fā)一個聯(lián)機交易處理系統(tǒng)所需的編程量。X/OPEN 組織專門定義了分布式交 易處理的標(biāo)準(zhǔn)及參考模型,把一個聯(lián)機交易系統(tǒng)劃分成資源管理(RM) 、交易管 理(TM)和應(yīng)用(AP)三部分,定義了應(yīng)用程序、交易管理器、多個資源管理 器是如何協(xié)同工作的。資源管理器是指數(shù)據(jù)庫和文件系統(tǒng),交易管理器可歸入交 易中間件。交易中間件管理由應(yīng)用聲明和提交的交易,并通過兩階段提交協(xié)議等 方式保證分布式交易的完整性、控制并發(fā)、實現(xiàn)交易路由和均衡負(fù)載。 交易中間件理論上相對成熟,功能和性能界定清晰,但基本上適用于聯(lián)機交 易系統(tǒng),如銀行業(yè)務(wù)系統(tǒng)、定票系統(tǒng)等。盡管交易信息也是消息,交易中間件也 是基于消息的傳輸,也可支持同步和異步方式,但與消息中間件的定位差距較大, 屬于一種較專用的中間件。 (六)對象中間件 云南大學(xué)碩士學(xué)位論文 基于 JMX 框架的 JMS 服務(wù)器的設(shè)計和實現(xiàn) - 9 - 面向?qū)ο蟮募夹g(shù)一直是軟件界努力追求的目標(biāo),傳統(tǒng)的對象技術(shù)通過封裝、 繼承及多態(tài)提供了良好的代碼重用功能。但是這些對象只存在一個程序中,外面 的世界并不知道它們的存在,也無法訪問它們。面向?qū)ο蟮闹虚g件就是要解決這 些問題,它提供一個標(biāo)準(zhǔn)的構(gòu)件框架,能使不同的廠家的軟件通過不同的地址空 間、網(wǎng)絡(luò)和操作系統(tǒng)互相交互訪問。該構(gòu)件的具體實現(xiàn)、位置及所依附的操作系 統(tǒng)對客戶來說都是透明的。例如,我們可以通過簡單的組裝或擴(kuò)展已有的構(gòu)件就 可以建立一個客戶機/服務(wù)器結(jié)構(gòu)的信息系統(tǒng)。面向?qū)ο蟮闹虚g件技術(shù)的目標(biāo)就 是為軟件用戶及開發(fā)者提供一種應(yīng)用級的即插即用的互操作性,就象現(xiàn)在使用集 成塊和擴(kuò)展板一樣。 有關(guān)對象中間件的標(biāo)準(zhǔn)相繼問世,像 OMG 組織的 CORBA、Microsoft 的 COM 以及 IBM 公司的 SOM 等,這些標(biāo)準(zhǔn)都極大地促進(jìn)了對象中間件技術(shù)的發(fā) 展,隨著面向?qū)ο蟮膽?yīng)用系統(tǒng)的逐漸增長,對象中間件的需求也在逐年加大。對 象技術(shù)的優(yōu)勢和對象中間件的標(biāo)準(zhǔn)化,促使對象中間件的功能將最終涵蓋其它幾 類中間件的功能而成為中間件產(chǎn)品的主流。 不論
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- DB23-T2974-2021-水曲柳人工林天然落種育苗技術(shù)規(guī)程-黑龍江省
- DB23-T2964-2021-楊樹人工林林下大葉芹栽培技術(shù)規(guī)程-黑龍江省
- DB23-T2921-2021-水曲柳2代無性系種子園營建技術(shù)規(guī)程-黑龍江省
- DB23-T2856-2021-金焰繡線菊栽培技術(shù)規(guī)程-黑龍江省
- 在線處方審核管理制度
- 小學(xué)志愿服務(wù)管理制度
- 學(xué)校社會捐贈管理制度
- 學(xué)校安保管理管理制度
- 合服輝煌公司管理制度
- 涂料進(jìn)場計劃方案(3篇)
- 2025年初中地理學(xué)業(yè)水平考試人文地理專項試題及答案深度解析
- 礦山租賃合同協(xié)議書模板
- 教育技術(shù)變革下的課堂教學(xué)數(shù)字化轉(zhuǎn)型路徑探究
- 貴州省畢節(jié)市2025屆高三下學(xué)期第四次適應(yīng)性考試 歷史 含答案
- (人教PEP版2025新教材)英語三下期末分單元復(fù)習(xí)課件
- 承包茶園合同協(xié)議書
- 2025年蘇教版小學(xué)數(shù)學(xué)五年級下冊(全冊)知識點復(fù)習(xí)要點歸納
- 醫(yī)療行業(yè)變革下的職業(yè)轉(zhuǎn)型策略
- 2025年大數(shù)據(jù)分析師中級職稱考試試題集
- 裝修公司分公司合同協(xié)議
- 2025年高考政治搶押秘籍(江蘇專用)時政熱點02政府工作報告(學(xué)生版+解析)
評論
0/150
提交評論