ページの先頭行へ戻る
Interstage Application Server マルチシステム運用ガイド
FUJITSU Software

E.3 プログラミング設計

サーバアプリケーションの設計

  特に留意点は、ありません。

クライアントアプリケーションの設計

  IPCOM連携により負荷分散を行う場合、クライアントから呼び出すオブジェクトの振り分け先システムは、ネーミングサービスのオブジェクトリファレンスの獲得時に決定します。オブジェクトのオブジェクトリファレンスは、獲得したネーミングサービスのオブジェクトリファレンスを使用して獲得するため、クライアントがネーミングサービスのオブジェクトリファレンスの獲得を再実行するまでは、クライアントからのオブジェクト呼出しは、同じシステムに振り分けられることになります。
  振り分け先のシステムが停止した場合の再振り分けや、停止していたシステムが復旧した場合の切り戻しなどを行うため、クライアントアプリケーションは、以下のように作成することをお勧めします。なお、以下の説明では、C言語のAPIを例にあげます。

  1. 定期的にネーミングサービスのオブジェクトリファレンスの獲得処理を行う
      CORBA_ORB_resolve_initial_references()を発行し、ネーミングサービスのオブジェクトリファレンスを獲得します。

  2. 任意オブジェクトのオブジェクトリファレンスの獲得
      マルチシステム環境に対して、IPCOMによる負荷分散を行う場合には、負荷分散対象となるシステムのネーミングサービスに対して、連携用の任意オブジェクトのオブジェクトリファレンスを登録します。
      CosNaming_NamingContext_resolve()を発行し、任意オブジェクトのオブジェクトリファレンスを獲得します。

  3. 業務で使用するオブジェクトのオブジェクトリファレンスの獲得
      CosNaming_NamingContext_resolve()を発行し、業務で使用するオブジェクトのオブジェクトリファレンスを獲得します。

  4. オブジェクトの呼び出し
      業務で使用するオブジェクトを実行し、業務を行います。

  5. ネーミングサービスとのコネクション切断
      業務の開始から一定時間が経った時点で、ネーミングサービスのオブジェクトリファレンスの再獲得を行いますが、その処理を行う前にネーミングサービスとのコネクションを切断します。ネーミングサービスとのコネクションの切断時には、任意オブジェクトに対してCORBA_ORB_net_disconnect()を発行します。