Interstage Application Server アプリケーション作成ガイド (CORBAサービス編)
目次 索引 前ページ次ページ

第7章 アプリケーションの開発(COBOL)> 7.4 サーバアプリケーションのプログラミング(静的スケルトンインタフェース)

7.4.2 サーバの活性化

 サーバアプリケーションの初期化が完了すると、ORBに対してその旨を通知します。ORBは、この命令が発行された時点で、クライアントからの要求をサーバアプリケーションに伝えます。活性化の方法は、サーバのタイプによって以下のように異なります。

サーバのタイプ

メソッド

shared server

CORBA-BOA-IMPL-IS-READY

unshared server

CORBA-BOA-OBJ-IS-READY

persistent server

CORBA-BOA-IMPL-IS-READY

(1)インプリメンテーションリポジトリのオブジェクトリファレンスの獲得

 CORBA-ORB-RESOLVE-INITIAL-REFERENCESメソッドを使用して、インプリメンテーションリポジトリのオブジェクトリファレンスの獲得します。パラメタには、CORBA-ORB-OBJECTID-IMPLREPを指定します。

(2)IMPLEMENTATIONDEFオブジェクトのオブジェクトリファレンスの検索

 FJ-IMPLEMENTATIONREP-LOOKUP-IDを使用して、IMPLEMENTATIONDEFオブジェクトのオブジェクトリファレンスを求めます。パラメタには、サーバアプリケーションのIMPLEMENTATIONDEFオブジェクトを指定します。

(3)サーバの活性化

 CORBA-BOA-IMPL-IS-READYまたはCORBA-BOA-OBJ-IS-READYを使用して、サーバの活性化を行います。

注) メソッドの復帰後は、初期化時にオープンしたファイルのクローズ処理や、領域の解放処理等の非活性化処理(“サーバの非活性化”を参照)が必要です。

  * インプリメンテーション情報のオブジェクトリファレンス検索
     MOVE FUNCTION LENG (CORBA-ORB-OBJECTID-IMPLREP) TO STRING-LENGTH. 
     CALL "CORBA-STRING-SET" USING
              TEMP-BUF
              STRING-LENGTH
              CORBA-ORB-OBJECTID-IMPLREP. 
     CALL "CORBA-ORB-RESOLVE-INITIAL-REFERENCES" USING
              ORB
              TEMP-BUF
              ENV
              IMPL-REP. 
     CALL "CORBA-FREE" USING TEMP-BUF. 
     MOVE "CORBA-ORB-RESOLVE-INITIAL-REFERENCES-2" TO MESS. 
     PERFORM ENV-CHECK
  * ImplementationRepオブジェクトリファレンス検索
     MOVE FUNCTION LENG (IMPL-INTF-A) TO STRING-LENGTH. 
     CALL "CORBA-STRING-SET" USING
              TEMP-BUF
              STRING-LENGTH
              IMPL-INTF-A. 
     CALL "FJ-IMPLEMENTATIONREP-LOOKUP-ID" USING
              IMPL-REP
              TEMP-BUF
              ENV
              IMPL. 
     CALL "CORBA-FREE" USING TEMP-BUF. 
     MOVE "FJ-IMPLEMENTATIONREP-LOOKUP-ID" TO MESS. 
     PERFORM ENV-CHECK
  * サーバの活性化 
     CALL "CORBA-BOA-IMPL-IS-READY" USING
           BOA
           IMPL
           ENV. 
     MOVE "CORBA-BOA-IMPL-IS-READY" TO MESS. 
     PERFORM ENV-CHECK.

目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2005