Java IDL: 2 つのマシン上でのHello World の例

2 つのマシン上で Hello World チュートリアルを実行可能にするには、チュートリアルの手順に従ってください。このチュートリアルには、次のような変更点があります。 このチュートリアルは、Java (tm) 2 Platform, Standard Edition (J2Se(tm)), バージョン 1.4 用に記述されています。 この例では、クライアント、スタブおよびスケルトンはクライアントマシンに配置されており、サーバおよびネームサーバはサーバマシンに配置されています。 このシナリオは、必要に合わせて変更したり、アプリケーションを 2 つのマシン間で分散する 1 つの方法の説明として参照したりすることができます。

  1. クライアントマシン上で Hello.idl ファイルを作成 (方法についてはチュートリアルを参照) およびコンパイルします。
       
       idlj -fall Hello.idl
    
  2. クライアントマシン上で HelloClient.java を作成します。 HelloApp ディレクトリにあるスタブとスケルトンも含め、.java ファイルをコンパイルします。
       javac *.java HelloApp/*.java
    

  3. サーバマシン上で HelloServer.java を作成します。 .java ファイルをコンパイルします。
       javac *.java
    

  4. サーバマシン上で Java Object Request Broker Daemon (orbd) を起動します。orbd には、ネームサービスも含まれています。 Unix では、次のようにします。
       orbd -ORBInitialPort 1050 -ORBInitialHost servermachinename&
    

    Windows では、次のようにします。

       start orbd -ORBInitialPort 1050 -ORBInitialHost servermachinename
    

    -ORBInitialPort および -ORBInitialHost は、両方とも orbd コマンド行で必須の引数です。 Solaris では、1024 より低い番号のポートでプロセスを起動するにはルートになる必要があるため、この例はポート 1050 でネームサーバを起動しています。別の nameserverport を使用する場合は、この例全体で 1050 を現在のポート番号に置き換えてください。

    orbd を使用する場合、サーバを起動するマシン上で ORBD を実行する必要があります。 サーバを起動するマシンとは別のマシン上でネームサービスを実行したい場合は、ネームサービスとして tnameserv を使用することができます。

  5. サーバマシン上で Hello サーバを起動するには、次のようにします。
       java HelloServer -ORBInitialPort 1050
    

    別の nameserverport を使用する場合は、1050 を現在のポート番号に置き換えてください。 Hello サーバは同一のホスト上 (この例ではネームサーバ) で実行されるため、引数 -ORBInitialHost を指定する必要はありません。 ネームサーバが別のマシン上で実行されている場合は、引数 -ORBInitialHost nameserverhost を使用して該当するマシンを指定する必要があります。

  6. クライアントマシン上で Hello アプリケーションクライアントを実行します。 DOS プロンプトまたはシェルで、次のように入力します。

       java HelloClient -ORBInitialHost nameserverhost -ORBInitialPort 1050
    

    nameserverhost は、IDL ネームサーバが稼動しているホストです。 この場合は、サーバマシンです。

    別の nameserverport を使用する場合は、1050 を現在のポート番号に置き換えてください。

  7. 完了したら、orbd を終了します。 ネームサーバを明示的に停止するまでは、呼び出し待機状態が続きます。


Copyright Sun Microsystems 2001