close

CORBA (Common Object Request Broker Architecture) 什麼是 CORBA ??

ORB 單純從字面上看來是一種可以連接各種物件的架構。再說清楚一點就是這種架構可以讓分散在不同機器上的物件互相做溝通,概念上跟 RPC 有點像,不過 CORBA 傳送的是物件,簡單的說就是在 A 端的程式可以使用放在 B 端的物件。從這一點差異可以很明顯的看出 CORBA 的出現就是為了禰補 RPC 在物件導向程式中的不足,雖然 RPC 可以用在物件導向的程式裡,但是在使用的時候卻只能一個 procedure 一個 procedure 的傳到遠端,另外,object reference 也是個問題,所以 OMG (Object Management Group)便在 1991 年 12 月份制定了 CORBA 1.1 ,這個版本規定了 IDL(Interface Definition Lanaguage) 和 API (Application Programming Interface),隨後又在 1995 年制定 CORBA 2.0 ,另外附帶一提的便是 OMG 這個組織是個免費開放給全世界電腦公司參加,目前已經有超過 700 個會員,然後每年定期由這些會員共同開會制定標準,不過 OMG 雖然定標準可是她本身卻不生產這些標準的產品,她把這些標準免費的開放給所有人使用 (OSF 規定只有會員能免費使用她的標準),同時規定提出標準的會員必需要在 1 年內做出相關的產品,當然這項規定在商業競爭強烈的情形下有跟沒有一樣。

CORBA 的架構

CORBA 的架構可以用下圖(引自CORBA 2.0/IIOP Specification)來表示:
其中
  • Dynamic Invocation 的功能是用在動態建立物件和對物件行使要求。
  • Dynamic Skeleton Interface(DSI) 的功能是 Server 端用來接收 Client 端的要求,這種要求在 compile 的時候型態還不能確定,所以需要 DSI 來做處理。
  • ORB Interface 的主要功能是用來讓 Client & Server 可以互相傳送 Object Reference。
  • Object Adapter(OA) 的主要功能有:
    1. Generation and interpretation of object references
    2. Method invocation
    3. Security of interactions
    4. Object and implementation activation and deactivation
    5. Mapping object references to the corresponding object implementations
    6. registration of implementations

和 CORBA 相關的 Link

  1. Electra -- 免費的 CORBA
  2. CORBA 2.0/IIOP Specification -- available on PDF and PostScript format
  3. CORBAserveices Specification -- available on PDF and PostScript format
  4. CORBA Showroom -- CORBA 的 freeware & shareware
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 cjsrex 的頭像
    cjsrex

    RBSU在地球的日子

    cjsrex 發表在 痞客邦 留言(1) 人氣()