求真百科歡迎當事人提供第一手真實資料,洗刷冤屈,終結網路霸凌。

CORBA檢視原始碼討論檢視歷史

事實揭露 揭密真相
前往: 導覽搜尋
  CORBA

CORBA(Common ObjectRequest Broker Architecture公共對象請求代理體系結構)是由OMG組織制訂的一種標準的面向對象應用程序體系規範。或者說CORBA體系結構是對象管理組織(OMG)為解決分布式處理環境(DCE)中,硬件和軟件系統的互連而提出的一種解決方案;OMG組織是一個國際性的非盈利組織,其職責是為應用開發提供一個公共框架,制訂工業指南和對象管理規範,加快對象技術的發展

簡介

­­­CORBA是OMG組織在1991年提出的公用對象請求代理程序結構的技術規範。CORBA有很廣泛的應用,它易於集成各廠商的不同計算機,從大型機一直到微型內嵌式系統的終端桌面,是針對大中型企業應用的優秀的中間件。最重要的是,它使服務器真正能夠實現高速度、高穩定性處理大量用戶的訪問。現在很多大型網站後端的服務器都運行CORBA,其中有些網站您可能每天都在訪問。CORBA的底層結構是基於面向對象模型的,由OMG接口描述語言(OMG Interface Definition Language,OMG IDL)、對象請求代理(Objec tRequest Broker,ORB)和IIOP標準協議(Internet Inter­ ORB Protocol,也稱網絡ORB交換協議)3個關鍵模塊組成。使用接口描述語言編寫的對象接口,使得與語言無關的獨立性成為可能。IDL使得所有CORBA對象以一種方式被描述,僅僅需要一個由本地語言(C/C++、CORBA或Java)到IDL的「橋樑」。CORBA對象的互通信要以對象請求代理為中介,這種互通信可以在多種流行通信協議(如TCP/IP或IPX/SPX)之上實現。在TCP/IP上,來自於不同開發商的ORB用IIOP標準協議進行通訊。­­­­我們知道,為了保持CORBA的商業中立性和語言中立性,必須有一個中介,存在於像C++CORBA服務器代碼和JavaCORBA客戶機這樣的實體中間,這就是IDL。一個底層對象的若干相關方法和屬性被IDL集入一個單一接口。一旦IDL接口定義完成,它可以以Stub碼或框架代碼的形式編譯成所選用的語言。在所有的ORB中都有IDL編譯器。值得注意的一點是,IDL不同於其他的面向對象程序設計語言,我們不能用它指定所定義的類或方法的具體實現。因此,僅僅將它作為一種定義底層對象接口的語言要好得多。

評價

客戶端發起調用的時候,輸入參數格式都與特定平台和特定語言有關,客戶端ORB負責將它們編碼成可以在網絡上傳送的格式,或稱在線格式(on-wire format),這一過程稱為編組(marshalling)。這種「0101」的格式在網絡上傳送後到達服務器端的ORB,服務器端的ORB負責將這些在線格式「還原」成本地所使用的特定平台和語言的格式,這一過程稱為解組(unmarshalling)。與此相反,當服務器端調用結束以後,服務器端ORB負責將輸出參數和返回參數編碼成在線格式,並經網絡傳送到客戶端ORB,客戶端ORB再將這些在線格式「還原」成本地所使用的特定平台和語言的格式,作為輸出參數和返回參數送給客戶端程序。總的來說,編組與解組的重要性表現在:第一,它把對遠端對象的調用變成一維的有序碼流,有利於在網絡上的傳送。第二,它提供了一個獨立於各平台和語言的「中間格式」,不同的平台上的不同語言通過這個「中間格式」進行「對話」「(中間格式」的規則,將在後面章節中敘述)。正是由於編組和解組的引入,使客戶端和服務器端的平台和語言可以不同,帶來了CORBA的平台獨立與語言獨立的特性。[1]

參考文獻

  1. CORBA搜狗