CORBA簡介
(本文轉載自軟件工程專家網 www.21cmm.com )
蘇洋
CORBA(Common Object Request Broker Architecture, 公共對象請求代理體系結構)是由OMG(對象管理組織,Object Management Group)提出的應用軟件體系結構和對象技術規范,其核心是一套標準的語言、接口和協議,以支持異構分布應用程序間的互操作性及獨立于平臺和編程語言的對象重用。
CORBA經過近十年的發展,已逐步走向成熟,并成功地應用在我國許多大型的軟件系統中,由此產生了對掌握CORBA技術的軟件開發人員的大量需求。在此,我們應廣大讀者的要求組織了本次講座。 本系列講座分別介紹了CORBA的基本思想、體系結構以及CORBA應用程序的設計與開發,希望借此能幫助廣大軟件開發、設計人員,開闊思路,加深對CORBA的理解,進而真正掌握這門技術,并能在實際工作中加以靈活運用,更高效、迅速地開發出更強壯的軟件系統,最終促進我國軟件事業的蓬勃發展。
CORBA產生的背景
近年來,隨著互聯網技術的日益成熟,公眾及商業企業正享受著高速、低價網絡信息傳輸所帶來的高品質數字生活。但是,由于網絡規模的不斷擴大以及計算機軟硬件技術水平的飛速提高,給傳統的應用軟件系統的實現方式帶來了巨大挑戰。
首先,在企業級應用中,硬件系統集成商基于性能、價格、服務等方面的考慮,通常在同一系統中集成來自不同廠商的硬件設備、操作系統、數據庫平臺和網絡協議等,由此帶來的異構性給應用軟件的互操作性、兼容性以及平滑升級能力帶來了嚴重問題。
另外,隨著基于網絡的業務不斷增多,傳統的客戶/服務器(C/S)模式的分布式應用方式越來越顯示出在運行效率、系統網絡安全性和系統升級能力等方面的局限性。
為了解決分布式計算環境(DCE,Distributed Computing Environment)中不同硬件設備和軟件系統的互聯,增強網絡間軟件的互操作性,解決傳統分布式計算模式中的不足等問題,對象管理組織(OMG)提出了公共對象請求代理體系結構(CORBA),以增強軟件系統間的互操作能力,使構造靈活的分布式應用系統成為可能。
正是基于面向對象技術的發展和成熟、客戶/服務器軟件系統模式的普遍應用以及集成已有系統等方面的需求,推動了CORBA技術的成熟與發展。作為面向對象系統的對象通信的核心,CORBA為當今網絡計算環境帶來了真正意義上的互聯。
CORBA的發展歷程
1. 對象管理組織(OMG)簡介
OMG成立于1989年,作為一個非營利性組織,集中致力于開發在技術上具有先進性、在商業上具有可行性并且獨立于廠商的軟件互聯規范,推廣面向對象模型技術,增強軟件的可移植性(Portability)、可重用性(Reusability)和互操作性(Interoperability)。
該組織成立之初,成員包括Unisys、Sun、Cannon、Hewlett-Packard、Philips等在業界享有聲譽的軟硬件廠商,目前該組織擁有800多家成員。
2. CORBA主要版本的發展歷程
● 1990年11月,OMG發表《對象管理體系指南》,初步闡明了CORBA的思想;
● 1991年10月,OMG推出1.0版,其中定義了接口定義語言(IDL)、對象管理模型以及基于動態請求的API和接口倉庫等內容;
● 1991年12月,OMG推出了CORBA 1.1版,在澄清了1.0版中存在的二義性的基礎上,引入了對象適配器的概念;
● 1996年8月,OMG基于以前的升級版本,完成了2.0版的開發,該版本中重要的內容是對象請求代理間協議(IIOP,Internet Inter-ORB Protocol)的引入,用以實現不同廠商的ORB真正意義上的互通;
● 1998年9月,OMG發表了CORBA 2.3版,增加了支持CORBA對象的異步實時傳輸、服務質量規范等內容。目前,宣布支持CORBA 2.3規范的中間件廠商包括Inprise(Borland)、Iona、BEA System等著名的CORBA產品生產商。
CORBA體系結構概述
CORBA規范充分利用了現今軟件技術發展的最新成果,在基于網絡的分布式應用環境下實現應用軟件的集成,使得面向對象的軟件在分布、異構環境下實現可重用、可移植和互操作。其特點可以總結為如下幾個方面:
1. 引入中間件(MiddleWare)作為事務代理,完成客戶機(Client)向服務對象方(Server)提出的業務請求(引入中間件概念后分布計算模式如圖1所示);
圖1 引入中間件后客戶機與服務器之間的關系
2. 實現客戶與服務對象的完全分開,客戶不需要了解服務對象的實現過程以及具體位置(參見圖2所示的CORBA系統體系結構圖);
3. 提供軟總線機制,使得在任何環境下、采用任何語言開發的軟件只要符合接口規范的定義,均能夠集成到分布式系統中;
4. CORBA規范軟件系統采用面向對象的軟件實現方法開發應用系統,實現對象內部細節的完整封裝,保留對象方法的對外接口定義。
在以上特點中,最突出的是中間件的引入, 在CORBA系統中稱為對象請求代理(ORB,Object Request Broker)和采用面向對象的開發模式。
對象模型是應用開發人員對客觀事物屬性和功能的具體抽象。由于CORBA使用了對象模型,將CORBA系統中所有的應用看成是對象及相關操作的集合,因此通過對象請求代理(ORB),使CORBA系統中分布在網絡中應用對象的獲取只取決于網絡的暢通性和服務對象特征獲取的準確程度,而與對象的位置以及對象所處的設備環境無關。
圖2 CORBA系統體系結構圖
CORBA的主要應用方向及中間件產品介紹
CORBA規范的推出,重新調整了客戶機與服務器之間的關系??蛻魴C可以向服務器提出事務請求,同時也可以為下一個請求充當服務器角色。
由于CORBA系統引入了中間件的概念,即事務代理,由中間件完成客戶機與服務器之間的通信,使得服務器對于客戶機的位置相對透明,取消了原有分布式計算模型中客戶機、服務器之間的一一對應關系。CORBA客戶機可以在運行時動態獲得服務對象的位置,并且可以對多個服務對象提交事務請求,因此,極大推動了分布計算的發展。
分布計算是指網絡中兩個或兩個以上的軟件相互共享信息資源。這些軟件可以位于同一臺計算機中,也可以部署在網絡節點的任意位置?;诜植际侥P偷能浖到y具有均衡運行系統負載、共享網絡資源的技術優勢。
另外,CORBA規范約束采用面向對象的分布式軟件的構造方法,以接口定義語言的形式實現對象內部細節的完整封裝,從而降低了軟件系統的復雜程度,增加了軟件功能的可重用性。CORBA提供到C/C++、Java、SmallTalk等高級語言的映射,很大程度地減小了對程序設計語言的依賴性,使軟件開發人員可以在較大范圍內共享已有成果。
正是以上特點推動了分布式多層軟件體系結構的發展。目前,CORBA技術在銀行、電信、保險、電力和電子商務領域都有廣泛的應用。
軟件市場中能夠見到的CORBA中間件產品很多,但基于不同公司的產品戰略以及研發方向,各個產品在服務性能、對高級語言的支持和所依賴的系統平臺方面有很大區別。根據整理的資料,筆者對主要產品在上述幾方面進行了分析(參見表1),供讀者在選擇時參考。
表1 主要中間件產品
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=2310
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
