トップ > 技術メモ (ソフトウェア開発) > 並行プログラミング・分散オブジェクト >

CORBA ORBインターフェイス

(2005.11.6更新)

CORBAを使う場合,どのインターフェイスがどのようなメソッド・プロパティを持っているか知るのは重要。

POA (The Portable Object Adapter)

(2005.11.6 この節追加。)

CORBAのオブジェクトサーバを実装する際の、ORBごとの違いを吸収するためにPOAが導入された。

(図はCORBA 3.0 第11章より)

servant がCORBAオブジェクトの実装になる。

POAは、PortableServer::POAインターフェイス実装で、次の図のプロパティ、メソッドを持つ。

しごく簡単なオブジェクトサーバ実装の手順は、

  1. root POAへの参照を得るために、まず、ORB::resolve_initial_references()を呼び出す。
  2. servantを生成する
  3. PortableServer::POA::activate_object()を呼び出してservantを活性化する。

ORBインターフェイス

CORBA 2.6.1: Minimum CORBA

module CORBA 
{ 
  typedef string ORBid;

  interface ORB 
  {
    typedef string ObjectId;
    typedef sequence <ObjectId> ObjectIdList; 

    exception InvalidName {}; 

    string object_to_string (in Object obj);
    Object string_to_object (in string str);

    // Service information operations

    boolean get_service_information (
          in ServiceType service_type,
          out ServiceInformation service_information);

    ObjectIdList list_initial_services (); 

    // Initial reference operation

    Object resolve_initial_references (in ObjectId identifier)
            raises (InvalidName); 

    void run();
  }; 
};

module CORBA { 
  typedef sequence <string> arg_list;
  ORB ORB_init (inout arg_list argv, in ORBid orb_identifier);
};

Objectインターフェイス

CORBA 2.6.1: Minimum CORBA

module CORBA {
  interface Object 
  {
    boolean is_nil ();
    Object duplicate ();
    void release ();

    boolean is_equivalent (in Object other_object);
    unsigned long hash(in unsigned long maximum);

    Policy get_policy (in PolicyType policy_type);

    DomainManagersList get_domain_managers ();
  };
};

トップ > 技術メモ (ソフトウェア開発) > 並行プログラミング・分散オブジェクト > CORBA ORBインターフェイス
このページについてのご感想・ご提案などをお寄せください。なお、コメントに「http:」、HTML aタグが含まれると送信されません。
評価: ◎ ← → ×
コメント:
お名前:
メールアドレス:
[Profile]  [Privacy Policy]  [Legal & Link]  [Site Map]  

banner Netsphere Laboratories http://www.nslabs.jp/

Copyright (c) HORIKAWA Hisashi. All rights reserved.

[PR]

はてなブックマークに追加  

サイト内検索:

[PR]