Java IDL 入門
Hello World アプリケーションの実行


このトピックでは、共に「Hello World」アプリケーションを構成するサーバーおよびクライアントのプログラムの実行について概要を説明します。

Hello World アプリケーションの実行

「Hello World」プログラムは単純ですが、このプログラムを通して、「静的呼び出し」を使用する CORBA プログラムの開発に必要な作業すべてを学び、経験することができます。

この例では、クライアント側からサーバントオブジェクトのオペレーションを利用可能にするために、ネームサービスが必要です。サーバーは、さまざまなインタフェースを実装しているオブジェクトの参照を発行できるようにするため、ネームサービスへのオブジェクト参照が必要です。これらのオブジェクト参照は、クライアントがメソッドを呼び出すのに使用されます。J2SE v.1.4 のネーミングサービスには 2 つのオプションがあります。一時ネーミングサービスである tnameserv、ブートストラップサービス、一時ネーミングサービス、持続ネーミングサービス、サーバーマネージャーを含むデーモンプロセスである orbd です。この例では orbd を使用します。

この例を実行するにあたって、Solaris ソフトウェアの使用時は、ポート 1024 未満でプロセスを開始する場合、root ユーザーになる必要があります。このため、1024 以上のポートを使用することをお勧めします。この例では、-ORBInitialPort オプションを使ってデフォルトのポート番号をオーバーライドします。次の説明では、Java IDL Object Request Broker Daemon (orbd) 用にポート 1050 を使用できることを前提としています。必要であれば別のポートに変更してください。Windows でこの例を実行する場合は、パス名にバックスラッシュ (\) を使用します。

開発マシンでこのクライアントサーバーアプリケーションを実行するには、次のようにします。

  1. orbd を起動します。

    UNIX コマンドシェルで orbd を起動するには、次のように入力します。

      orbd -ORBInitialPort 1050 -ORBInitialHost localhost&
    

    Windows の MS-DOS システムプロンプトでは、次のように入力します。

      start orbd -ORBInitialPort 1050 -ORBInitialHost localhost
    

    1050 はネームサーバーを実行するポートです。-ORBInitialPort は必要なコマンド行の引数です。Solaris ソフトウェアの使用時は、1024 より小さいポートでプロセスを開始する場合は、root ユーザーになる必要があります。このため、1024 以上のポートを使用することをお勧めします。

    また、-ORBInitialHost も要求されるコマンド行引数です。この例では、クライアントとサーバーはどちらも開発マシンで実行しているので、ホストを localhost に設定しました。複数のマシンで開発する場合は、ホスト名に置き換えます。このプログラムを 2 台のマシンで実行する場合の例は、「2 台のマシンで実行する Hello World プログラム」を参照してください。

  2. Hello サーバーを起動します。

    UNIX コマンドシェルで Hello サーバーを起動するには、次のように入力します。

      java HelloServer -ORBInitialPort 1050 -ORBInitialHost localhost&
    

    Windows の MS-DOS システムプロンプトでは、次のように入力します。

      start java HelloServer -ORBInitialPort 1050 -ORBInitialHost localhost
    

    この例の -ORBInitialHost localhost は省略することができます。ネームサーバーが Hello サーバーとして同一ホスト上で動作しているからです。ネームサーバーが別のホストで動作している場合は、IDL ネームサーバーが動作しているホストを -ORBInitialHost nameserverhost で指定します。

    前回の手順と同様にネームサーバー (orbd) のポートを指定します。たとえば -ORBInitialPort 1050 のようになります。

  3. クライアントアプリケーションを実行します。

      java HelloClient -ORBInitialPort 1050 -ORBInitialHost localhost
    

    この例の -ORBInitialHost localhost は省略することができます。ネームサーバーが Hello クライアントとして同一ホスト上で動作しているからです。ネームサーバーが別のホストで動作している場合は、IDL ネームサーバーが動作しているホストを -ORBInitialHost nameserverhost で指定します。

    前回の手順と同様にネームサーバー (orbd) のポートを指定します。たとえば -ORBInitialPort 1050 のようになります。

  4. クライアントは、サーバーからコマンド行に次のような文字列を出力します。
    Hello world!!

ほとんどの CORBA サーバーと同様に、ネームサーバーは明示的に停止されるまで稼動を続けます。複数のサーバーを同時に稼動させるのを避けるため、クライアントアプリケーションが正常に復帰した後、ネームサーバープロセスを終了させます。DOS プロンプトでは、サーバーを実行しているウィンドウを選択して Ctrl+C と入力すると停止します。UNIX シェルでは、プロセスを検出して終了 (kill) します。


前のレッスン:サーバーの開発
前のレッスン:クライアントアプリケーションの開発
次のレッスン:文字列化されたオブジェクト参照の使用
Java IDL トップへ

Copyright ©1996-2001 Sun Microsystems, Inc., 2550 Garcia Ave., Mtn.View, CA.94043-1100 USA., All rights reserved.