摘 要:通過研究通信軟件中常用的設計算法,收集使用面向?qū)ο蠹夹g開發(fā)通信軟件時常用的設計模式,利用Java語言完成基于Java的通信中間件設計與實現(xiàn),并給出了主要部分的實現(xiàn)。實現(xiàn)了全部的JMS標準API,提供了消息持久化、消息預覽和消息選擇功能,建立了可靠的線級通訊連接,提高了產(chǎn)品的服務質(zhì)量。
關鍵詞:面向?qū)ο蠹夹g; Java通信中間件; 通信軟件; 對象序列化
中圖分類號:TP31文獻標識碼:A
文章編號:1004-373X(2010)15-0149-04
Design and Implementation of JAVA-based Middleware for Communication
YIN Feng-she,JIAO Lei
(Shaanxi Polytechnic Institute, Xianyang 712000, China)
Abstract: The design and implementation of JAVA-based communication middleware were achieved with JAVA language by studying the common design algorithms of communication softwares and collecting the design patterns of using the object-oriented technology to develop communication software. All the JMS APIs were implemented. The reliable wire-level communication was established. The implementation process of the major parts is presented. The functions of persistent messaging, message preview and message selection are provided. The service quality of the product is improved.
Keywords: object-oriented technology; Java-based communication middleware; communication software; object serialization
1 總體設計
通信中間件[1]目前并無標準可循,一般把工業(yè)標準TCP/IP協(xié)議作為基礎,遵循X/Open的分布式計算環(huán)境需求多樣化、用戶數(shù)目規(guī)模化、業(yè)務邏輯復雜化的發(fā)展要求,實現(xiàn)消息位置無關性、用戶透明性。應用程序使用通信中間件提供的通信服務,遵循中間件提供的通信協(xié)議進行相互間的通信。解除應用程序和通信介質(zhì)(或網(wǎng)絡)以及遠程應用程序之間的偶合。
本文所述的通信中間件采用集中式的通信方式。其設計思路來源于中間件模式[2]。結(jié)構(gòu)如圖1所示。
圖1 通信中間件結(jié)構(gòu)圖
通信中間件由一個消息網(wǎng)關和多個Agent組成。消息網(wǎng)關是系統(tǒng)的核心,它完成消息轉(zhuǎn)發(fā)功能。為了保證通信的可靠性,消息網(wǎng)關與Agent的通信基于TCP協(xié)議。為了提高端到端通信的QoS,在消息網(wǎng)關中引入了并發(fā)處理,這樣可以防止因為流量控制造成的阻塞等待對性能的影響。
Agent位于每個通信進程內(nèi)部,向上層應用提供統(tǒng)一的通信接口,屏蔽通信細節(jié)。Agent為上層應用模塊提供了兩種不同的接口[3]:同步通信接口和異步通信接口。……