日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

CORBA

發布時間:2025/3/15 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CORBA 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
CORBA( Common Object Request Broker Architecture公共對象請求代理體系結構)是由 OMG組織制訂的一種標準的 面向對象應用程序體系規范。或者說 CORBA體系結構是對象管理組織(OMG) 為解決分布式處理環境(DCE)中,硬件和軟件系統的互連而提出的一種解決方案;OMG組織是一個國際性的 非盈利組織,其職責是為應用開發提供一個公共框架,制訂工業指南和對象管理規范,加快對象技術的發展。
  OMG組織成立后不久就制訂了OMA(Object Management Architecture,對象管理體系結構)參考模型,該模型描述了OMG規范所遵循的概念化的基礎結構。OMA由對象請求代理ORB、對象服務、公共設施、域接口和應用接口這幾個部分組成,其核心部分是對象請求代理ORB(Object Request Broker)。對象服務是為使用和實現對象而提供的基本服務集合;公共設施是向終端用戶應用程序提供的一組共享服務接口;域接口是為應用領域服務而提供的接口;應用接口是由開發商提供的產品,用于它們的接口,不屬于OMG標準的內容。ORB提供了一種機制,通過這種機制,對象可以透明的發出請求和接收響應。分布的、可以互操作的對象可以利用ORB構造可以互操作的應用。
  CORBA標準由對象管理組織(OMG)設立并進行控制,CORBA定議了一系列API,通信協議,和物件/服務信息模型用于使得異質應用程序能夠互相操作,這些應用程序用不同的程序語言編寫,運行在不同的平臺上。CORBA因此為定義明確的物件提供了平臺和位置的透明性,這些物件是分布式計算平臺的基礎。
  CORBA分布計算技術,是由絕大多數分布計算平臺廠商所支持和遵循的系統規范技術,具有模型完整、先進,獨立于系統平臺和開發語言,被支持程度廣泛的特點,已逐漸成為分布計算技術的標準。COBRA標準主要分為3個層次:對象請求代理、公共對象服務和公共設施。最底層是對象請求代理ORB,規定了分布對象的定義(接口)和語言映射,實現對象間的通訊和互操作,是分布對象系統中的"軟總線";在ORB之上定義了很多公共服務,可以提供諸如并發服務、名字服務、事務(交易)服務、安全服務等各種各樣的服務;最上層的公共設施則定義了組件框架,提供可直接為業務對象使用的服務,規定業務對象有效協作所需的協定規則。
  CORBA(公共對象請求代理架構):這是個和微軟com,com+齊名的同類軟件技術規范,由OMT提出。
  用于在不同進程(程序)之間,甚至是不同物理機器上的進程(程序)之間通訊。底層技術依靠RPC[遠程過程調用]實現。
  面向對象的軟件,以數據為中心設計,對象類既具有模塊的封裝性和類屬等特性,還具有繼承特性
  ,極大地提高了類的可擴充性和可再用能力。對象類較之于傳統軟件的功能模塊而另具有的優點是:
  (1)易于理解,具有完整的語義特征;
  (2)易于擴充和修改,具有較高的通用性和適應性;
  (3)易于構造組裝,具有規范的外部接口。
  開發應用組件必須遵循標準,以保證軟件組件的互操作性,只有遵循統一的標準,不同廠商的、不同時期的、不同程序設計風格的、不同編程語言的、不同操作系統的、不同平臺上的軟件或軟件部件才能進行交流與合作。為此,OMG(ObjectManageGroup)提供了一個對象標準CORBA,它定義了一個網連對象的接口,使得對象可以同時工作。基于CORBA的對象請求代理ORB為客戶機/服務器開發提供了中間件的新格式。
  作為OMG成員的微軟公司撇開CORBA而另辟了COM(ComponetObjectModel),即組件對象模型,并把COM定位成基于對象的軟件開發模型,盡管COM被認為是微軟鼓噪出來的技術,但支持COM的開發工具卻不斷增多,其中大部分來自于微軟,包括VisualBasic和VisualC ++。
  公共對象請求代理結構:CORBA標準
  全球性網絡使線上的所有設備和軟件成為全球共享的浩瀚的資源,計算機環境也從集中式發展到分布式環境,開放式系統的發展使用戶能夠透明地應用由不同廠商制造的不同機型不同平臺所組成的異構型計算資源,因此,分布式處理和應用集成自然而然地成為人們的共同要求,那么什么是分布式處理和應用集成呢?它們的功能和關鍵技術是什么呢?簡單地講,分布式處理和應用集成就是指在異構的、網絡的、物理性能差別很大的、不同廠商的、不同語言的信息資源的基礎上構建信息共享的分布式系統,并且能夠有效地進行應用系統和分布式處理的集成。分布式處理的關鍵在于定義可管理的軟件構件,即面向對象技術中的“對象”。應用集成的關鍵在于為跨平臺、跨機種、跨編程語言的產品提供統一的應用接口。OMG組織針對當今信息產業的要求,公布了CORBA標準,即公共對象請求代理體系結構(Common Object Request Broker Architecture),這是一個具有互操作性和可移植性的分布式面向對象的應用標準。
  CORBA的核心是對象請求代理ORB,它提供對象定位、對象激活和對象通訊的透明機制。客戶發出要求服務的請求,而對象則提供服務,ORB把請求發送給對象、把輸出值返回給客戶。ORB的服務對客戶而言是透明的,客戶不知道對象駐留在網絡中何處、對象是如何通訊、如何實現以及如何執行的,只要他持有對某對象的對象引用,就可以向該對象發出服務請求。
  CORBA允許用戶以兩種不同的方式提出對象請求:
  1)靜態調用:
  通過給定接口的存根,在編譯了對象代碼后,進入客戶端的程序。因此,靜態調用必須在編譯時就知道對象及其類型。
  2)動態調用:
  通過ORB的動態調用接口DII,在運行時生成訪問對象的代碼。
  不管客戶以哪一種形式提出請求,ORB的任務是:找出所要對象的位置,激活該對象,向對象傳遞此請求。對象執行所請求的服務后,把輸出值返回給ORB,然后再由ORB返回給客戶。
  CORBA的重要概念是:
  1.對象連接
  CORBA廣泛地支持對象的實現,在單服務器系統中也可以實現由接口定義語言定義的接口。ORB的靈活性既可以直接集成已有的應用,又不會使新對象受某些原則的制約。
  對象連接提供了有不同類型對象實現時,使用ORB服務的方法,服務包括:對象引用、方法調用、安全控制、對象實現的激活與靜候等。
  2.接口定義語言(IDL)
  CORBA用IDL來描述對象接口,IDL是一種說明性語言,它的語法類似于C++。
  IDL提供的數據類型有:基本數據類型、構造類型、模板類型、和復合類型、操作說明。這些類型可以用來定義變元的類型和返回類型,操作說明則可以用來定義對象提供的服務。
  IDL還提供模塊構造,其中可以包含接口,而接口是IDL各類型中最重要的,它除了描述CORBA對象以外,還可以用作對象引用類型。
  IDL提供了接口繼承性,派生接口可以繼承其基類接口所定義的操作與類型。IDL的接口繼承性有其特殊性,此處不贅述。
  總之,CORBA的IDL是一種說明性語言,描述面向對象系統開發所遵循的接口與實現相分離的基本原則。
  3.動態調用接口
  把IDL說明編譯成面向對象程序設計語言的實代碼后,客戶可以調用已知對象的操作。在某些應用中,用戶并不了解應用接口編譯信息,但也要求調用對象的操作,這時就要動態調用接口來調用用戶的操作了。例如,圖形用戶接口應支持用戶瀏覽接口公共庫,以獲得每個對象所支持的操作信息,用戶可根據自己的需求從瀏覽對象中挑選出所需的對象操作,具體的對象操作的調用實際上是用動態調用接口來完成的。
  4.接口公用庫
  接口公用庫持久地存儲IDL的接口說明,借助于接口公用庫,可以實現對象繼承性層次結構的導航,并且提供了有關對象支持的所有操作的描述。接口公用庫最常見的功能是為接口瀏覽器提供信息,幫助應用開發者找出潛在的可重用的軟件部件。ORB可以利用接口公用庫檢查運行時的操作參數類型,但接口公用庫的基本功能是提供類型信息,為動態調用接口發送請求提供信息支持。
   CORBA的不足之處:
   盡管有多家供應商提供CORBA產品,但是仍找不到能夠單獨為異種網絡中的所有環境提供實現的供應商。不同的CORBA實現之間會出現缺乏互操作性的現象,從而造成一些問題;而且,由于供應商常常會自行定義擴展,而CORBA又缺乏針對多線程環境的規范,對于像C或C++這樣的語言,源碼兼容性并未完全實現。
  CORBA過于復雜,要熟悉CORBA,并進行相應的設計和編程,需要許多個月來掌握,而要達到專家水平,則需要好幾年。

總結

以上是生活随笔為你收集整理的CORBA的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。