考察當前主流的分布計算技術平臺,主要有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之上定義了很多公共服務,可以提供諸如并發服務、名字服務、事務(交易)服務、安全服務等各種各樣的服務;最上層的公共設施則定義了組件框架,提供可直接為業務對象使用的服務,規定業務對象有效協作所需的協定規則。CORBA的優點是大而全,互操作性和開放性非常好,缺點是龐大而復雜,并且技術和標準的更新相對較慢,在具體的應用中使用不是很多。
3.2 Sun的J2EE
為了推動基于Java的服務器端應用開發,Sun在1999年底推出了Java2技術及相關的J2EE規范。
J2EE的目標是提供與平臺無關的、可移植的、支持并發訪問和安全的、完全基于Java的開發服務器端中間件的標準。J2EE簡化了構件可伸縮的、基于構件服務器端應用的復雜度。在J2EE中,Sun給出了完整的基于Java語言開發面向企業分布應用的規范,其中在分布式互操作協議上,J2EE同時支持遠程方法調用(RMI,Re—mote Method lnvocation)和因特網對象請求代理間協議(IlOP,Intemet Inter-ORB Protocal),在服務器端分布式應用的構造形式包括了Java Scrvlct、JSP(Java ServerPage)、EJB等多種形式,以支持不同的業務需求。
EJB是Sun推出的基于Java的服務器端構件規范J2EE的一部分,在J2EE推出之后得到了廣泛的發展,已經成為應用服務器端的標準技術。Sun EJB技術是在Java Bean本地構件基礎上,發展的面向服務器端分布應用構件技術。它基于Java語言,提供了基于Java二進制字節代碼的重用方式。EJB給出了系統的服務器端分布構件規范,這包括了構件、構件容器的接口規范以及構件打包、構件配置等的標準規范內容。EJB技術的推出,使得用Java基于構件方法開發服務器端分布式應用成為可能。從企業應用多層結構的角度,EJB是業務邏輯層的中間件技術,與JavaBeans不同,它提供了事務處理的能力,自從三層結構提出以后,中間層,也就是業務邏輯層,是處理事務的核心,從數據存儲層分離,取代了存儲層的大部分地位。從分布式計算的角度,EJB像CORBA一樣,提供了分布式技術的基礎,提供了對象之間的通訊手段。
從Internet技術應用的角度,EJB和Servlct,JSP一起成為新一代應用服務器的技術標準,EJB中的Bean可以分為會話Bean和實體Bean,前者維護會話,后者處理事務,現在Scrvlet負責與客戶端通信,訪問EJB,并把結果通過JSP產生頁面傳回客戶端。
J2EE的優點是技術先進,架構優秀,真正的三層結構,用Java開發構件,能夠做到“Write once,run any—where”,開發大型的應用優勢明顯,可以配置到包括Windows平臺在內的任何服務器端環境中去。缺點是缺少一系列的接口支持,技術進入門檻高,開發起來的難度大。
3.3 Microsoft DNA 2000
Microsoft DNA 2000(Distributed interNet Applications)是Microsoft在推出Windows2000系列操作系統平臺基礎上,在擴展了分布計算模型以及改造Back Office系列服務器端分布計算產品后發布的新的分布計算體系結構和規范。
在服務器端,DNA 2000提供了ASP、COM、Cluster等的應用支持。目前,DNA2000在技術結構上有著巨大的優越性。一方面,由于Microsoft是操作系統平臺廠商,因此DNA 2000技術得到了底層操作系統平臺的強大支持;另一方面,由于Microsoft的操作系統平臺應用廣泛,因此在實際應用中,DNA 2000得到了眾多應用開發商的采用和支持。
DNA 2000融合了當今最先進的分布計算理論和思想,如事務處理、可伸縮性、異步消息隊列、集群等內容。DNA使得開發可以基于Microsoft平臺的服務器構件應用,其中,如數據庫事務服務、異步通訊服務和安全服務等,都由底層的分布對象系統提供。
以Microsoft為首的DCOM/COM/COM+陣營,從DDE,OLE到ActiveX等,提供了中間件開發的基礎,如VC,VB,Delphi等都支持DCOM,包括OLE DB在內新的數據庫存取技術,隨著Windows2000的發布,Microsoft的DCOM/COM/COM+技術,在DNA2000分布計算結構基礎上,展現了一個全新的分布構件應用模型。首先,DCOM/COM/COM+的構件仍然采用普通的COM(ComponentObject Model)模型。COM最初作為Microsoft桌面系統的構件技術,主要為本地的OLE應用服務,但是隨著Mi-crosoft服務器操作系統NT和DCOM的發布,COM通過底層的遠程支持使得構件技術延伸到了分布應用領域。DCOM/COM/COM+更將其擴充為面向服務器端分布應用的業務邏輯中間件。通過COM+的相關服務設施,如負載均衡、內存數據庫、對象池、構件管理與配置等等,DCOM/COM/COM+將COM、DCOM、MTS的功能有機地統一在一起,形成了一個概念、功能強的構件應用體系結構。而且,DNA2000是單一廠家提供的分布對象構件模型,開發者使用的是同一廠家提供的系列開發工具,這比組合多家開發工具更有吸引力,不足是依賴于Mi-crosoft的操作系統平臺,因而在其它開發系統平臺如(Unix、Linux)上不能發揮作用。
4 中間件技術的發展趨勢
4.1 網格技術
中間件技術當前所面臨的重大挑戰是要在互聯網這個復雜的分布式系統中構建應用程序。許多計算機專家認為,將整個互聯網的各種資源全部整合在一起,為用戶提供統一的服務,是相當困難甚至難以實現的。當然,對于具體的應用領域,具體的網絡區域,用中間件技術將其中的各種資源整合在一起還是相當有前景的。目前方興未艾的網格(GRID)技術實質上即是一個基于互聯網的中間件系統,可同時運用網絡中所有的CPU、存儲器、操作系統、應用軟件等資源,用戶通過PC、手機或PDA,可從互聯網上獲取來自全球的資源,互聯網將變成一個虛擬的、強大的計算平臺。網格的重要特征是對資源的共享和管理,包括:(1)計算資源。啟動程序,監測、控制進程運行;對分配給進程的資源的管理機制;查詢功能,確定硬、軟件狀態、相關負載信息和隊列狀態等。(2)存儲資源。上載、下載文件;對分配給數據傳輸的資源(空間、磁盤帶寬、網絡帶寬、CPU)的管理機制,確定可用空間、帶寬使用率等相關負載信息。(3)網絡資源。提供控制分配給網絡傳輸的資源的管理機制;查詢網絡狀態和負載的功能。(4)代碼庫。管理源碼和目標碼的機制。另外,網格系統還應包括:①網格特有事務所需要的通信和認證協議,通信協議允許資源之間交換數據,功能包括傳輸、尋徑和名字服務。建立在通信協議之上的認證協議為確認用戶和資源的身份提供加密安全機制。②管理一組相關聯的資源集合,并負責資源集合之間的交互,包括:目錄服務、合作分配資源任務調度服務、監控診斷服務、數據復制服務、支持網格的編程、軟件發現服務、團體授權服務等。
4.2 面向移動計算
移動計算問題可以具體展開為三個方面:①用戶移動。無論用戶處在什么位置,都能為其提供一致的工作環境,包括用戶的配置信息和他所“訂閱”的服務。②終端移動。使終端設備無論在任何接入點接入網絡,都能正常工作,也就是說底層網絡對終端設備是透明的。③服務移動。當前,越來越多的服務依賴于移動的資源,甚至服務本身就處在不斷移動中,必須保證用戶及其終端設備可以隨時找到這些服務。據此,移動計算需要一個基礎設施將合適的協議、機制、工具集成起來,提供上述三方面的功能。移動中間件正是這樣一種基礎軟件。它隨時對移動用戶和終端進行跟蹤和重定位,保證移動實體的相互通信,克服系統的異構性,并且為開放的網絡環境提供安全性。隨著網絡帶寬不斷增大,人們對移動設備的服務質量問題的顧慮漸漸打消,而使用移動設備的方便性日益突出。人們要求各種服務都可以在移動的情況下(包括上述三種情況)獲得。因而移動中間件具有十分廣泛的發展前景。泛化計算(Ubiquitous Computing)是移動計算的極至,指從大型機、PC、到PDA以至安裝有處理器的各種各樣的日常生活設備之間能夠相互通信、協調工作。顯然,在這個領域,中間件面臨更為復雜的異構環境以及無線通信和動態配置的挑戰。
4.3 面向服務質量
傳統的單一系統,如大型主機、容錯系統等,依賴昂貴的配置與設計來實現高可用性,而高可用中間件主要是在軟件層面利用系統的冗余部件(比如機群系統有大量這樣的部件)為用戶提供高可用功能。這有三個方面的優勢:成本低、可擴展性好、更加靈活方便。為了保證數據的可靠性和一致性,還有必要在中間件中增加保證QOS的協議(在CORBA中已經有這樣的協議)以實現數據的備份以及各種各樣的容錯功能。另外,還要保證此方法的響應時間盡可能的快(這里泛指用戶響應時間以及切換時間等一切影響服務質量的時間)。隨著網絡技術的發展,越來越多的用戶使用網絡提供的服務,這就對服務質量提出了更高的要求,質量低劣的服務是沒有市場的。高可用中間件、容錯中間件在這一背景下將不斷完善和發展。
4.4 各種技術的發展對中間件技術產生的影響
由于中間件系統的主要目的就是整合各種異構系統中的資源,使其協調工作。因此,各種異構系統中各種技術的發展都會或者為中間件系統的開發提供便利,或者設置障礙。Web Service技術就是在XML語言、異步通信機制、以及基于內容的消息傳遞機制等各種技術發展基礎之上提出并發展起來的。又例如,當前移動代理(Mobile Agent)技術在中間件的設計和實現過程中發揮越來越重要的作用,特別是基于互聯網的應用以及涉及到移動計算和泛化計算的中間件的設計。移動代碼和移動代理技術可以提高分布式系統的靈活性和適應性。
中間件從本質上是對分布式應用的抽象,拋開了與應用相關的業務邏輯的細節,保留了典型的分布交互模式的關鍵特征,將紛繁復雜的分布式系統以統一的層面形式呈現給應用。應用在中間件提供的環境中可以更好地集中于業務邏輯上,并以構件化的形式存在,最終自然而然地在異構環境中實現良好的協同工作。構件是一種前沿的軟件設計思想,對整個軟件行業的發展有著至關重要的推動作用。而中間件作為應用軟件系統集成的關鍵技術,保證了構件化思想的實施,并為構件提供了真正的運行空間。中間件工業化標準的制定、統一及實現,使基于構件的應用開發成為可能,可以預見,軟構件技術是軟件產業化革命的必然發展趨勢。
評論
查看更多