10.1 VisiBroker ORBの初期化

ORB(Object Request Broker)はクライアントとサーバ間の通信リンクを提供します。クライアントがリクエストすると,VisiBroker ORBはオブジェクトインプリメンテーションを探して,リクエストをそのオブジェクトに渡し(必要ならオブジェクトを活性化して),クライアントに応答を返します。クライアントは,オブジェクトが同じマシンにあるのかネットワークのどこかにあるのかを意識しません。

注(Javaの場合)
VisiBroker ORBは,システムリソースを集中的に使用するため,一つのプロセスにつき一つのVisiBroker ORBのインスタンスだけを作成することをお勧めします。

VisiBroker ORBが実行する作業の大部分はプログラマに意識されませんが,クライアントプログラムは明示的にVisiBroker ORBを初期化しなければなりません。

マニュアル「Borland Enterprise Server VisiBroker プログラマーズリファレンス」の「コマンドラインオプション」または「Borland Enterprise Server VisiBrokerプロパティ」の記述で説明しているVisiBroker ORBオプションをコマンドライン引数として指定できます。したがって,これらのオプションが確実に有効になるように,ORB_initにargcとargv(C++),またはORB.initにargs(Java)を渡す必要があります。コードサンプル10-1にVisiBroker ORBの初期化(C++),コードサンプル10-2にVisiBroker ORBの初期化(Java)を示します。

コードサンプル10-1 VisiBroker ORBの初期化(C++)

#include <fstream.h>
#include "Bank_c.hh"

int main(int argc, char* const* argv) {
  CORBA::ORB_var orb;
  CORBA::Float balance;
  try {
     // Initialize the ORB.
     orb = CORBA::ORB_init(argc, argv);
     . . .
   } catch {
     . . .
   }
}

コードサンプル10-2 VisiBroker ORBの初期化(Java)

public class Client {
  public static void main (String[ ] args) {
     org.omg.CORBA.ORB orb =
                        org.omg.CORBA.ORB.init(args, null);
     . . .
   }
}