




已閱讀5頁,還剩74頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
分類號 TP31 密級 公開 UDC 編號 碩士研究生學位論 文 題題 目目 基于基于 JMXJMX 框架的框架的 JMSJMS 服務器服務器 的設計和實現的設計和實現 學院(所、中心) 軟件學院 專 業(yè) 名 稱 軟件工程 研究生姓名 學號 導 師 姓名 職稱 研究員 2007 年 4 月 聲 明 本人聲明所呈交的論文是我個人在導師指導下進行的研究工作及取得的研究 成果。盡我所知,除了文中特別加以標注和致謝的地方外,論文中不包含其他人 已經發(fā)表或撰寫過的研究成果,也不包含為獲得云南大學或其他教育機構的學位 或證明而使用過的材料。與我一同工作的同志對本研究所做的任何貢獻均已在論 文中作了明確的說明并表示了謝意。 研究生簽名: 日 期: 論文使用和授權說明 本人完全了解云南大學有關保留、使用學位論文的規(guī)定,即:學校有權保留 并向國家有關部門或機構送交學位論文和論文電子版;允許論文被查閱或借閱; 學校可以公布論文的全部或部分內容,可以采用影印、縮印或其他復制手段保 存論文;授權學校將學位論文的全部或部分內容編入有關數據庫進行檢索。 (保密的論文在解密后應遵循此規(guī)定) 研究生簽名: 導師簽名: 日 期: 云南大學碩士學位論文 基于 JMX 框架的 JMS 服務器的設計和實現 - I - 摘摘 要要 隨著世界經濟的全球化進程,電子商務的蓬勃發(fā)展以及網絡應用的日益普及, 對于分布式應用和計算的要求越來越高。如何高效,安全,準確地進行分布式系 統(tǒng)間的通信已經成為了目前網絡應用和分布式計算所迫切需要解決的關鍵問題之 一。 消息中間件為應用系統(tǒng)之間提供了可靠,高效,跨平臺的消息傳遞服務,有 利于應用之間的數據交換,是解決如上問題有效方案。雖然消息中間件實現的目 標和功能大同小異,但是在具體的實現上有很大的差異,不同的廠商基于各自的 開發(fā)標準和接口,因而不同系統(tǒng)之間兼容性不好,這樣不利于降低企業(yè)的成本, 同時也加重了應用開發(fā)者和系統(tǒng)維護的負擔。因此,作為消息中間件的一個規(guī)范 接口標準,JMS 規(guī)范已經被各大廠商所接受。 論文正是基于以上目的設計了一個遵從 JMS1.1 規(guī)范的基于 JMX 技術的消息 中間件。論文首先對中間件技術及其分類做了綜述,介紹了與消息中間件相關的 一些概念和模型。其次,對 Sun 公司提出的 JMS API 接口規(guī)范進行分析,解決了 JMS 實現的關鍵問題,并且將 JMX 技術引入到消息中間件的管理中,提出了 JMS 消息中間件的設計和實現的思路。論文給出了系統(tǒng)整體構架的分析和設計, 對其中的關鍵技術進行了深入分析,提出了相應的解決方案,并實現了系統(tǒng)的各 個主要功能模塊。最后,論文指出了存在的問題和下一步的改進工作。 關鍵詞 消息中間件; JMS 規(guī)范; JMX 分布式管理框架. 云南大學碩士學位論文 基于 JMX 框架的 JMS 服務器的設計和實現 - 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). 云南大學碩士學位論文 基于 JMX 框架的 JMS 服務器的設計和實現 -III - 目目 錄錄 摘 要.I ABSTRACT .II 目 錄.III 第一章 引言.1 1.1 研究目的及問題概述 .1 1.2 研究范圍及創(chuàng)新 .1 1.3 論文結構 .2 第二章 分布式應用的挑戰(zhàn).3 2.1 網絡應用模式的發(fā)展 .3 2.2 分布式網絡通訊面臨的挑戰(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 消息中間件的關鍵技術.10 3.2.4 SUN 對消息中間件的貢獻 JMS.11 3.3 JMS 簡介.11 3.3.1 JMS 概述.11 3.3.2 JMS 的目標.11 3.3.3 JMS 的體系結構.12 云南大學碩士學位論文 基于 JMX 框架的 JMS 服務器的設計和實現 -IV - 3.3.4 JMS 的基本概念.12 3.3.5 JMS 的 API.15 3.3.6 利用 JMS 進行客戶端開發(fā)的主要步驟.16 3.4 小結 .18 第四章 JMS 關鍵技術研究.19 4.1 消息隊列的設計 .19 4.1.1 消息隊列的工作方式.19 4.1.2 消息隊列的實現原理.20 4.2 JMS 接口的封裝和實現.24 4.2.1 JMS 接口的實現策略.24 4.2.2 為 Connection 對象建立對象池.25 4.3 XML 技術在 XMB 中的應用 .31 4.3.1 XML 技術概述.31 4.3.2 利用 XML 實現消息的持久化存儲.32 4.3.3 利用 XML 實現 JMS 服務器的啟動配置.35 4.4 JMX 技術在 XMB 中的應用.36 4.4.1 JMX 技術概述.36 4.4.2 利用 JMX 實現 JMS 服務器的管理.38 4.5 小結 .41 第五章 XMB 的設計.42 5.1 設計思想和系統(tǒng)目標 .42 5.1.1 系統(tǒng)構思.42 5.1.2 系統(tǒng)所需的 java 技術 .42 5.2 系統(tǒng)的基本處理流程 .43 5.3 系統(tǒng)架構 .44 云南大學碩士學位論文 基于 JMX 框架的 JMS 服務器的設計和實現 -V - 5.3.1 XMB 的體系結構.44 5.3.2 JMS 實現模塊詳解.45 5.4 接口實現部件的設計 .46 5.4.1 模塊上下文環(huán)境.46 5.4.2 模塊的內部交互.47 5.4.3 模塊的內部結構.49 5.5 對象傳輸層的設計 .52 5.5.1 模塊上下文環(huán)境.52 5.5.2 模塊的內部交互.53 5.5.3 模塊的內部結構.55 5.6 系統(tǒng)中的 XML 處理部件的設計 .56 5.6.1 系統(tǒng)的啟動配置.57 5.6.3 持久化 JMS 受管對象.59 5.7 管理框架的設計 .59 5.7.1 管理框架的上下文.59 5.7.2 管理框架的內部交互.60 5.7.3 管理框架的內部結構.62 5.8 小結 .65 第六章 總結與展望.66 6.1 總結 .66 6.2 進一步工作 .66 參考文獻.68 致 謝.70 云南大學碩士學位論文 基于 JMX 框架的 JMS 服務器的設計和實現 - 1 - 第一章第一章 引言引言 1.1 研究目的及問題概述 回顧互聯(lián)網的發(fā)展軌跡,我們可以看到互聯(lián)網的面貌正在迅速發(fā)生變化,互 聯(lián)網所能傳遞、共享的各種信息呈現出不同的形態(tài),使得互聯(lián)網能夠提供越來越 豐富的應用??梢钥吹?,從通信方式、娛樂方式到商業(yè)模式,互聯(lián)網應用在多個 領域實現著對傳統(tǒng)模式的顛覆。 隨著互聯(lián)網的發(fā)展,網絡應用經歷了從簡單到復雜,從集中到分布的演變。 大型分布式應用程序的構建和維護卻成了一個復雜的事情,尤其是不同應用程序 之間的通信問題。伴隨著網絡環(huán)境的日益復雜,網絡中的通信問題也日趨嚴重。 主要表現在兩個方面1:首先,在大型的分布式網絡應用中,不同的應用運行在 不同的進程中,分布在不同的計算機上,甚至是跨系統(tǒng),跨平臺的,如何將這些 應用有效的集成,使不同的應用之間能保持良好的通信,使其發(fā)揮分布式應用的 真正的巨大優(yōu)勢已經成為衡量一個分布式應用是否可靠,是否穩(wěn)定的重要標準。 其次,大多數傳統(tǒng)的通信技術要求發(fā)送和接收方必須遵循兩個條件:1)雙方通訊 是同步的;2)雙方必須同時知道相互程序之間的調用接口。然而,在分布式環(huán)境 中,應用并不總是同時運行的;而且網絡并不總是可用和可靠的;數據的流量具 有突發(fā)性,并可能造成網絡的擁塞,這樣一來分布式應用之間的異步通信問題就 變得非常突出了。 這些問題的提出對大型分布式應用程序提出了挑戰(zhàn),如何解決這些問題,使 分布式應用程序能高效,穩(wěn)定和安全的運行,降低開發(fā)的成本并提高應用的投資 回報率,成為了開發(fā)人員急需解決的問題。 1.2 研究范圍及創(chuàng)新 消息中間件無疑是解決分布式應用程序之間通信的核心技術之一。消息中間 件可利用高效,可靠的消息傳輸機制進行平臺無關的數據傳輸,并基于消息的通 信進行分布式系統(tǒng)的集成3。它適用于任何需要進行網絡通信的系統(tǒng),負責建立 網絡通信的通道,進行數據或文件發(fā)送。消息中間件可以跨平臺操作,為不同操 作系統(tǒng)上的應用軟件集成提供方便,從而滿足企業(yè)對系統(tǒng)伸縮性和可擴展性的要 求。 在此背景下,本論文設計了基于 JMX 框架的 JMS 服務器 (下文稱為 JMX- 云南大學碩士學位論文 基于 JMX 框架的 JMS 服務器的設計和實現 - 2 - oriented Message Bus Server,簡稱為 XMB 服務器)系統(tǒng)。XMB 是一個遵從 JMS1.1 規(guī)范的基于 JMX 管理框架的消息中間件實現。該中間件從邏輯上分為兩 大部分:一部分是客戶端編程接口;另一部分則實現一個基于 JMS 規(guī)范的消息中 間件服務器6。 本論文首先對中間件技術及其分類做了綜述,介紹了與消息中間件相關的一 些概念和模型,然后討論了設計一個 JMS 實現的關鍵技術并給出了相應的解決方 案,最后論文從 XMB 系統(tǒng)的體系結構入手,分別設計了 XMB 系統(tǒng)中的各個關 鍵模塊和重要部件。XMB 符合 JMS1.1 規(guī)范的相應要求,支持兩種消息通訊模式, 支持消息的異步通訊,支持消息的持久化和消息消費者的持久化。同時,本論文 通過 JMX 技術的引入填補了 JMS 規(guī)范在服務器管理方面的空白。由于 JMX 技術 可以跨越一系列異構操作系統(tǒng)平臺、系統(tǒng)體系結構和網絡傳輸協(xié)議,靈活的開發(fā) 無縫集成的系統(tǒng)、網絡和服務管理應用15。系統(tǒng)通過 JMX 技術的引入大大簡化 JMS 服務器的管理工作,并為整個 XMB 系統(tǒng)提供了極具伸縮性和可擴展性的體 系結構。 1.3 論文結構 本論文組織結構如下: 第一章介紹了本論文的研究目的,研究范圍以及論文的創(chuàng)新點; 第二章簡單介紹了網絡應用模式的發(fā)展以及分布式應用面臨的問題; 第三章介紹了消息中間件技術的發(fā)展和特點,并重點介紹了 JMS 技術規(guī)范以 及相關的概念和特點; 第四章討論了設計一個 JMS 實現可能遇到的關鍵技術問題,并給出了相應的 一些解決方案; 第五章從 XMB 系統(tǒng)的架構入手,分別討論了該系統(tǒng)各個關鍵模塊和主要部 件的設計; 第六章對論文進行了總結并對后續(xù)研究提出了展望。 云南大學碩士學位論文 基于 JMX 框架的 JMS 服務器的設計和實現 - 3 - 第二章第二章 分布式應用的挑戰(zhàn)分布式應用的挑戰(zhàn) 2.12.1 網絡應用模式的發(fā)展網絡應用模式的發(fā)展 回顧互聯(lián)網的發(fā)展軌跡,我們可以看到互聯(lián)網的面貌正在迅速發(fā)生變化,互 聯(lián)網所能傳遞、共享的各種信息呈現出不同的形態(tài),使得互聯(lián)網能夠提供越來越 豐富的應用??梢钥吹?,從通信方式、娛樂方式到商業(yè)模式,互聯(lián)網應用在多個 領域實現著對傳統(tǒng)模式的顛覆。例如在商業(yè)領域,互聯(lián)網可以支持更加個性化、 定制化的服務,賦予了客戶更多的自由度和選擇空間??梢哉f,互聯(lián)網應用的豐 富不僅體現在數量的增多,而且針對不同領域提供的服務的滿足度正在不斷提高, 由此帶動了互聯(lián)網本身的社會和經濟價值不斷提升,并且對傳統(tǒng)的社會和經濟形 態(tài)形成了強有力的沖擊。 但是不管互聯(lián)網的內容和形式發(fā)生的多少變化,迄今為止,網絡應用模式的 發(fā)展大致經歷了四個階段4: 1. 以大型機為中心的分時共享模式,它是采用大型機為中心,并配備了多個終 端所組成的一個系統(tǒng)。這種模式是利用主機的超強處理能力,主機是整個系 統(tǒng)的核心,但是一旦主機出現故障,那么整個系統(tǒng)就將癱瘓。 2. 以服務器為中心的資源共享模式,它通過網絡將多臺計算機連接,以實現資 源的共享。這種模式從分利用了各個站點的計算能力,應用開始出現了真正 意義上的位置的分布式。 3. Client/Server 計算模式是目前仍在大量使用中的計算模式。在基于 C/S 模式的 應用中,數據一般統(tǒng)一存放在數據服務器上,而有關的業(yè)務邏輯一般都在客 戶端實現,這就是所謂的胖客戶端解決方方案。但是隨著 C/S 模式的發(fā)展, 許多應用開始體現出它的局限性:1)應用的層次一般比較混亂,不能或者難 以劃分應用邏輯;2)應用的安全性比較差;3)應用的可擴展性比較差;4) 應 用的維護工作量比較大。 4. 為了改進 Client/Server 的計算模式,使之更能適應當今的網絡和分布式應用的 需求,網絡應用的計算模式正在向兩個方向發(fā)展。首先中間件的出現為 C/S 模式帶來了一次革新。在原來的兩層結構中,現在可以利用中間件實現多層 結構。而且中間件提供了從消息處理,網絡通訊到數據處理等多方位的底層 服務功能,使得應用系統(tǒng)的開發(fā)從技術細節(jié)的實現中解放出來,能更多的投 云南大學碩士學位論文 基于 JMX 框架的 JMS 服務器的設計和實現 - 4 - 入業(yè)務邏輯的處理當中。而業(yè)務邏輯也逐漸開始從客戶端慢慢向服務器端轉 移,這就是所謂的瘦客戶端。但是客戶端的維護問題仍然存在,為了完全解 決這個問題,Brower/Server 計算模式從而應運而生。但是 B/S 計算模式同樣 存在自己的一些局限性:1)單一的基于 HTTP 的通訊,效率不高;2)客戶端 的表現能力不強;3)同樣存在瀏覽器的類型和版本問題。 在目前的網絡應用中,主要以 B/S 結構和多層 C/S 結構的應用為主,而大量 的中間件產品正在為這些應用提供引擎動力。中間件技術涉及到了網絡應用中的 各個方面,提供了最核心的底層技術支持,已經發(fā)展成為網絡應用中不可替代的 關鍵技術。 2.22.2 分布式網絡通訊面臨的挑戰(zhàn)分布式網絡通訊面臨的挑戰(zhàn) 網絡應用經歷了從簡單到復雜,從集中到分布的演變。大型分布式應用程序 的構建和維護卻是一個十分復雜的事情,尤其是不同應用程序之間的通信。伴隨 著網絡環(huán)境的日益復雜,網絡中的通信問題也日趨嚴重。主要表現在兩個方面1: 1. 在大型的分布式網絡應用中,不同的應用運行在不同的進程中,分布在不同 的計算機上,甚至是跨系統(tǒng),跨平臺的,如何將這些應用有效的集成,使不 同的應用之間能保持良好的通信,使其發(fā)揮分布式應用的真正的巨大優(yōu)勢。 這已經成為衡量一個分布式應用是否可靠,是否穩(wěn)定的重要標準。 2. 大多數傳統(tǒng)的通信技術要求發(fā)送和接收方必須遵循兩個條件:1)雙方必須同 時在線,即通訊是同步的;2)雙方必須同時知道相互程序之間的調用接口。 這樣就要求一旦一個應用程序有任何接口的變化,就必須通知其他的應用程 序。同時為了保持數據的完整性,發(fā)送和接收在實際的實現中可能必須使用 分布式事務,以確保一方應用的數據改變能被雙方承認。然而,在分布式環(huán) 境中,應用并不總是同時運行的;而且網絡并不總是可用和可靠的;數據的 流量具有突發(fā)性,并可能造成網絡的擁塞,這樣一來分布式應用之間的異步 通信問題就變得非常突出了。 這些問題的提出對大型分布式應用程序提出了挑戰(zhàn),如何解決這些問題,使 分布式應用程序能高效,穩(wěn)定和安全的運行,降低開發(fā)的成本并提高應用的投資 回報率,成為了開發(fā)人員急需解決的問題。 云南大學碩士學位論文 基于 JMX 框架的 JMS 服務器的設計和實現 - 5 - 第三章第三章 消息中間件和消息中間件和 JMSJMS 規(guī)范概述規(guī)范概述 3.1 中間件中間件的概述的概述 3.1.1 中間件的中間件的發(fā)展發(fā)展 隨著計算機技術的迅速發(fā)展。從硬件技術看,CPU 速度越來越高,處理能 力越來越強;從軟件技術看,應用程序的規(guī)模不斷擴大,特別是 Internet 及 WWW 的出現,使計算機的應用范圍更為廣闊,許多應用程序需在網絡環(huán)境的異 構平臺上運行。這一切都對新一代的軟件開發(fā)提出了新的需求。在這種分布異構 環(huán)境中,通常存在多種硬件系統(tǒng)平臺(如 PC,工作站,小型機等),在這些硬件 平臺上又存在各種各樣的系統(tǒng)軟件(如不同的操作系統(tǒng)、數據庫、語言編譯器等), 以及多種風格各異的用戶界面,這些硬件系統(tǒng)平臺還可能采用不同的網絡協(xié)議和 網絡體系結構連接。如何把這些系統(tǒng)集成起來并開發(fā)新的應用是一個非?,F實而 困難的問題。中間件概念的出現就是為解決這些分布異構問題的。 中間件(Middleware)是位于平臺(硬件和操作系統(tǒng))和應用之間的通用服務,這 些服務具有標準的程序接口和協(xié)議。針對不同的操作系統(tǒng)和硬件平臺,它們可以 有符合接口和協(xié)議規(guī)范的多種實現2。 中間件是一種獨立的系統(tǒng)軟件或服務程序,分布式應用系統(tǒng)借助這種軟件在 不同的技術之間共享資源,管理計算資源和網絡通訊。它在計算機系統(tǒng)中是一個 關鍵軟件,它能實現應用的互連和互操作性,能保證系統(tǒng)的安全、可靠、高效的 運行。中間件位于用戶應用和操作系統(tǒng)及網絡軟件之間(如圖 3-1 所示),它為應 用提供了公用的通信手段,并且獨立于網絡和操作系統(tǒng)。中間件為開發(fā)者提供了 公用于所有環(huán)境的應用程序接口,當應用程序中嵌入其函數調用,它便可利用其 運行的特定操作系統(tǒng)和網絡環(huán)境的功能,為應用執(zhí)行通信功能5。 云南大學碩士學位論文 基于 JMX 框架的 JMS 服務器的設計和實現 - 6 - 應用應用應用應用 中間件中間件 (提供分布式系統(tǒng)服務提供分布式系統(tǒng)服務) 操作系統(tǒng)操作系統(tǒng) 硬件硬件 操作系統(tǒng)操作系統(tǒng) 硬件硬件 網絡網絡 圖 3-1 中間件的位置 3.1.2 中間件的作用和特點中間件的作用和特點 中間件滿足了大量應用的需要,運行于多種硬件和 OS 平臺上,它支持分布 計算,提供跨網絡、跨硬件和 OS 平臺的透明的應用或服務的交互,支持標準的 協(xié)議,支持標準的接口。 由于標準接口對于可移植性和標準協(xié)議對于互操作性的重要性,中間件已成 為許多標準化工作的主要部分。對于應用軟件開發(fā),中間件遠比操作系統(tǒng)和網絡 服務更為重要,中間件提供的程序接口定義了一個相對穩(wěn)定的高層應用環(huán)境,不 管底層的計算機硬件和系統(tǒng)軟件怎樣更新?lián)Q代,只要將中間件升級更新,并保持 中間件對外的接口定義不變,應用軟件幾乎不需任何修改,從而保護了企業(yè)在應 用軟件開發(fā)和維護中的重大投資。 3.1.3 主要中間件的分類主要中間件的分類 目前,中間件所包括的范圍十分廣泛,針對不同的應用需求涌現出多種各具 特色的中間件產品。但至今中間件還沒有一個比較精確的定義,因此,在不同的 角度或不同的層次上,對中間件的分類也會有所不同。按照 IDC 的分類方法,中 間件大致可分為六類4。 (一)終端仿真/屏幕轉換 用以實現客戶機圖形用戶接口與已有的字符接口方式的的服務器應用程序之 間的互操作。 云南大學碩士學位論文 基于 JMX 框架的 JMS 服務器的設計和實現 - 7 - (二)數據訪問中間件 適用于應用程序與數據源之間的互操作模型,客戶端使用面向數據庫的 API,以提請直接訪問和更新基于服務器的數據源,數據源可以是關系型、非關 系型和對象型。這類中間件大都基于 SQL 語句,采用同步通訊方式。此類中間件 使應用開發(fā)簡單,但如果是透過廣域網使用,會帶來嚴重的效率問題,因為在低 速網上來回交互 SQL 語句會使通訊流量過大,同時對數據壓縮、加密帶來不便。 (三)遠程過程調用中間件 RPC 機制是早期開發(fā)分布式應用時經常采用的一種同步式的請求應答協(xié)議。 通過這種協(xié)議,程序員編寫客戶方的應用,需要時可以調用位于遠端服務器上的 過程。 當編譯一個采用 RPC 機制的客戶方應用時,編譯器告之代表遠程功能調用的 句柄,客戶方需要調用遠地的過程時,引用相應的功能調用的句柄,由 RPC 機制 來負責客戶端程序實時地調用到遠地的過程。服務器上的過程返回后,客戶方的 程序得到結果并繼續(xù)往下進行。在采用 RPC 機制時,調用遠端的過程只需去引 用它,而不必告之網絡地址或其它底層信息。 RPC 機制可用以構造客戶機/服務器方式的應用,但由于它是同步方式,因 而在工作的時候,要求客戶方和服務方均能正常工作才能很好地運行,有一方不 能工作將導致 RPC 失敗。這在網絡故障、機器故障存在的情況下,這一要求是很 難保證的。還有一點值得注意的是,不管客戶方能做什么或做的多快,它必須依 靠服務方才能有效工作。有些恢復機制可以在一個遠程調用阻塞時轉而去調用另 一個服務器上的過程,但這種路由方式也會影響效率。 目前,也有的 RPC 機制采用異步方式,客戶方非阻塞地調用遠端的過程,但 這種方式不太標準而且很難采用。另外,由于大多數 RPC 機制很難建立點到點的 關系,因而也很難用在面向對象的編程當中。 (四)消息中間件 盡管消息中間件不象 RPC 機制那樣流行,但越來越多的分布式應用采用消息 中間件來構建,通過消息中間件來把應用擴展到不同的操作系統(tǒng)和不同的網絡環(huán) 境。 云南大學碩士學位論文 基于 JMX 框架的 JMS 服務器的設計和實現 - 8 - 基于消息的機制更多地適用于事件驅動的應用,當一個事件發(fā)生時,消息中 間件通知服務方應該進行何種操作。事件可以是一個請求,也可以只是一種警示, 警示到來后,即可進行某種處理,但不需等待應答。 使用消息中間件編程采用的是消息中間件的 API,可以很好地擴展到不同的 操作系統(tǒng)和硬件平臺上。消息中間件的核心安裝在需要進行消息傳遞的系統(tǒng)上, 在它們之間建立邏輯通道,由消息中間件實現消息發(fā)送。消息中間件可以既支持 同步方式,又支持異步方式,實際上它是一種點到點的機制,因而可以很好地適 用于面向對象的編程方式。 中間件領域目前最熱門的技術是異步的消息中間件,異步中間件技術比同步 中間件技術具有更強的容錯性,在系統(tǒng)故障時可以保證消息的正常傳輸,因而在 過去的兩年里增長迅速。異步中間件技術可以分為兩類:廣播方式和發(fā)布/訂閱 方式。廣播方式把消息分發(fā)給系統(tǒng)的所有用戶。發(fā)行/訂閱方式可以指定哪種類 型的用戶可以接收哪種類型的消息。發(fā)布/訂閱方式由于更加智能有效,事實上 已成為異步中間件的非正式標準。 (五)交易中間件 交易中間件是專門針對聯(lián)機交易處理系統(tǒng)而設計的。聯(lián)機交易處理系統(tǒng)需要 處理大量并發(fā)進程,處理并發(fā)涉及到操作系統(tǒng)、文件系統(tǒng)、編程語言、數據通訊、 數據庫系統(tǒng)、系統(tǒng)管理、應用軟件,是一個相當艱巨的任務,但是工作的難度可 以通過采用一個交易中間件來簡化。交易中間件就是一組程序模塊,用以大大減 少開發(fā)一個聯(lián)機交易處理系統(tǒng)所需的編程量。X/OPEN 組織專門定義了分布式交 易處理的標準及參考模型,把一個聯(lián)機交易系統(tǒng)劃分成資源管理(RM) 、交易管 理(TM)和應用(AP)三部分,定義了應用程序、交易管理器、多個資源管理 器是如何協(xié)同工作的。資源管理器是指數據庫和文件系統(tǒng),交易管理器可歸入交 易中間件。交易中間件管理由應用聲明和提交的交易,并通過兩階段提交協(xié)議等 方式保證分布式交易的完整性、控制并發(fā)、實現交易路由和均衡負載。 交易中間件理論上相對成熟,功能和性能界定清晰,但基本上適用于聯(lián)機交 易系統(tǒng),如銀行業(yè)務系統(tǒng)、定票系統(tǒng)等。盡管交易信息也是消息,交易中間件也 是基于消息的傳輸,也可支持同步和異步方式,但與消息中間件的定位差距較大, 屬于一種較專用的中間件。 (六)對象中間件 云南大學碩士學位論文 基于 JMX 框架的 JMS 服務器的設計和實現 - 9 - 面向對象的技術一直是軟件界努力追求的目標,傳統(tǒng)的對象技術通過封裝、 繼承及多態(tài)提供了良好的代碼重用功能。但是這些對象只存在一個程序中,外面 的世界并不知道它們的存在,也無法訪問它們。面向對象的中間件就是要解決這 些問題,它提供一個標準的構件框架,能使不同的廠家的軟件通過不同的地址空 間、網絡和操作系統(tǒng)互相交互訪問。該構件的具體實現、位置及所依附的操作系 統(tǒng)對客戶來說都是透明的。例如,我們可以通過簡單的組裝或擴展已有的構件就 可以建立一個客戶機/服務器結構的信息系統(tǒng)。面向對象的中間件技術的目標就 是為軟件用戶及開發(fā)者提供一種應用級的即插即用的互操作性,就象現在使用集 成塊和擴展板一樣。 有關對象中間件的標準相繼問世,像 OMG 組織的 CORBA、Microsoft 的 COM 以及 IBM 公司的 SOM 等,這些標準都極大地促進了對象中間件技術的發(fā) 展,隨著面向對象的應用系統(tǒng)的逐漸增長,對象中間件的需求也在逐年加大。對 象技術的優(yōu)勢和對象中間件的標準化,促使對象中間件的功能將最終涵蓋其它幾 類中間件的功能而成為中間件產品的主流。 不論
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 影像科CT技師上崗證真題與答案
- 游客行為分析優(yōu)化旅游服務
- 企業(yè)培訓課件價值觀
- 企業(yè)培訓技巧課件
- 英語全能閱讀強化練(十五)
- 優(yōu)化外資利用結構改進措施
- 企業(yè)培訓車輛無償借用及管理合同
- 美容養(yǎng)生連鎖店按摩技師團隊承包合同
- 高效采購合同談判策略與標的物協(xié)議
- 彩票站與彩票代銷商代理合作協(xié)議
- 2025年北京市中考數學真題試卷及答案
- 北京昌平霍營街道社區(qū)“兩委”干部儲備人才招募筆試真題2024
- 1IEC62660-1中文電動道路車輛用二次鋰離子蓄電池鋰離子電池性能試驗
- HPE 3PAR8400、HPE 3000B SAN Switch安裝及維護手冊
- 消防跑點培訓材料
- 集料堿活性試驗檢測記錄表(砂漿長度法)
- 汽輪機廠工業(yè)驅動技術介紹
- (完整版)漢密爾頓焦慮量表(HAMA)
- 梁平法識圖PPT通用通用課件
- 新概念英語第一冊單詞匯總打印版已排版
- 湘版高中音樂鑒賞《中國近現代通俗音樂》教學設計、實錄與反思
評論
0/150
提交評論