- 相關推薦
中間件技術研究
摘要:中間件技術屏蔽了底層分布式環境的復雜性和異構性,簡化了分布式應用程序的開發,使分布式應用程序的健壯性、可擴展性、可用性更好。本文介紹了中間件的定義、分類、主流中間件技術平臺,分析了中間件技術面臨的挑戰,提出了中間件技術研究的幾個發展趨勢,即網格技術、面向移動計算、面向服務質量等。計算機系統最初階段多是單機系統,多個用戶是通過聯機終端來訪問。隨著網絡的出現,產生了客戶/服務器的計算服務模式,多個客戶端可以共享數據庫服務器和打印服務器等。隨著計算機和網絡技術的飛速發展,許多軟件需要在不同廠家的硬件平臺、網絡協議異構環境下運行,應用的規模從局域網發展到廣域網,應用范圍面向三層和多層體系結構的分布式環境,在分布式環境中,無論是硬件平臺還是軟件平臺都不可能做到統一,而大規模的應用軟件通常要求在軟硬件各不相同的分布式網絡上運行。中間件產生以前,應用軟件直接使用操作系統、網絡協議和數據庫等開發,開發者不得不直接面對許多復雜棘手的問題,如操作系統的多樣性、繁雜的網絡程序設計和管理、復雜多變的網絡環境、數據分散處理帶來的不一致性問題等等,這些與用戶的業務沒有直接關系,但又必須解決,耗費了大量的時間和精力,因此開發者迫切需要一種基于標準的、獨立于計算機硬件以及操作系統的開發和運行環境,于是,中間件技術應運而生。
1 中間件的概念
在眾多關于中間件的定義中,比較普遍接受的是IDC表述:中間件是一種獨立的系統軟件或服務程序,分布式應用軟件借助這種軟件在不同的技術之間共享資源;中間件位于客戶機/服務器的操作系統之上,管理計算資源和網絡通信。IDC對中間件的定義表明,中間件是一類軟件,而非一種軟件;中間件是介于操作系統(包括底層通信協議)和各種分布式應用程序之間的一個軟件層?偟淖饔檬墙⒎植际杰浖K之間互操作的機制,屏蔽底層分布式環境的復雜性和異構性,為處于自己上層的應用軟件提供運行與開發環境,幫助用戶靈活、高效地開發和集成復雜的應用軟件。在具體實現上,中間件是一個用應用程序接口定義的分布式軟件管理框架,具有強大的通信能力和良好的可擴展性。中間件在分布式系統中的位置如圖1所示。
2 中間件的分類
隨著計算機軟件技術的發展,中間件技術也已日漸成熟,并且出現了不同層次、不同類型的中間件產品。按照IDC分類方法,中間件可分為以下6類:
2.1 終端仿真/屏幕轉換
用以實現客戶機圖形用戶接口與已有的字符接口方式的服務器應用程序之間的互操作。
2.2 數據訪問中間件
適用于應用程序與數據源之間的互操作模型,客戶端使用面向數據庫的API,以提請直接訪問和更新基于服務器的數據源,數據源可以是關系型、非關系型和對象型。這類中間件大都基于SQL語句,采用同步通訊方式。此類中間件使應用開發簡單化,但如果透過廣域網使用,則會帶來嚴重的效率問題,因為在低速網上來回交互SQL語句會使通訊流量過大,同時對數據壓縮、加密帶來不便。
2.3 遠程過程調用中間件
RPC機制是早期開發分布式應用時經常采用的一種同步式的請求應答協議。通過這種協議,程序員編寫客戶方的應用,需要時可以調用位于遠端服務器上的過程。RPC擴展了過程語言中的“功能調用/結果返回”的機制,使得它可以適用于一個遠程環境。由于RPC機制是同步方式,因而在工作的時候,要求客戶方和服務方均能正確工作才能很好地運行,有一方不能工作將導致RPC失敗。在網絡故障、機器故障存在的情況下,這一要求是很難保證的。另外,由于大多數RPC機制很難建立點到點的關系,因而也很難用在面向對象的編程當中。
2.4 消息中間件
越來越多的分布式應用采用消息中間件來構建,通過消息中間件把應用擴展到不同的操作系統和不同的網絡環境;谙⒌臋C制更多地適用于事件驅動的應用,當一個事件發生時,消息中間件通知服務方應該進行何種操作。其核心安裝在需要進行消息傳遞的系統上,在它們之間建立邏輯通道,由消息中間件實現消息發送。消息中間件可以支持同步方式和異步方式,實際上是一種點到點的機制,因而可以很好的適用于面向對象的編程方式。中間件領域目前最熱門的技術是異步的消息中間件,異步中間件技術比同步中間件技術具有更強的容錯性,在系統故障時可以保證消息的正常傳輸。
2.5 交易中間件
是專門針對聯機交易處理系統而設計的,如銀行業務系統、定票系統等。聯機交易處理系統需要處理大量并發進程,處理并發涉及到操作系統、文件系統、編程語言、數據通訊、數據庫系統、系統管理、應用軟件,交易中間件就是一組程序模塊,用以減少開發一個聯機交易處理系統所需的編程量。
2.6 對象中間件
傳統的面向對象技術通過封裝、繼承及多態提供了良好的代碼重用功能,但是這些對象只存在一個程序中,外面的世界并不知道它們的存在,也無法訪問它們。面向對象的中間件就是要解決這些問題,面向對象的中間件提供一個標準的構件框架,能使不同廠家的軟件通過不同的地址空間、網絡和操作系統交互訪問。該構件的具體實現、位置及所依附的操作系統對客戶來說都是透明的。
3 主流中間件技術平臺
考察當前主流的分布計算技術平臺,主要有OMG的CORBA,Sun的J2EE和Microsoft DNA 20000,它們都是支持服務器端中間件技術開發的平臺,但都有其各自特點,將分別闡述如下:
3.1 OMG的CORBA
公共對象請求代理體系結構(CORBA,Common Ob—ject Request Broker Architecture)是對象管理組織(OMG)基于眾多開放系統平臺廠商提交的分布對象互操作內容基礎上制定的分布式應用程序框架的規范。
CORBA是由絕大多數分布計算平臺廠商所支持和遵循的系統規范,具有模型完整、先進,獨立于系統平臺和開發語言,被支持程度廣泛的特點,已逐漸成為分布計算技術的標準。COBRA標準主要分為3個層次:對象請求代理、公共對象服務和公共設施。最底層是對象請求代理(ORB,Object Request Broker),規定了分布對象的定義(接口)和語言映射,實現對象間的通訊和互操作,是分布對象系統中的“軟總線”;在ORB之上定義了很多公共服務,可以提供諸如并發服
【中間件技術研究】相關文章:
HSPA技術研究03-07
中間件思想在嵌入式GIS設計中的應用03-20
當前煤礦通訊技術研究01-03
注水工藝技術研究03-01
煤礦綜合防治水技術研究11-23
關于容器虛擬化技術研究03-02
企業數據備份與恢復技術研究03-26
鐵路通信工程技術研究12-12
TDSCDMA系統中的多波束技術研究03-07