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

第8章 アプリケーションの開発(OOCOBOL)> 8.1 クライアントアプリケーションのプログラミング(静的起動インタフェース)

8.1.1 初期化

 CORBAの初期化メソッドCORBA-ORB_INITを呼び出し初期化処理を行います。当メソッドの結果として、ORBのオブジェクトリファレンスが返されます。このオブジェクトリファレンスは、以降で呼び出すORBインタフェースを使用する場合に指定します。環境部(ENVIRONMENT DIVISION)およびデータ部(DATA DIVISION)を定義します。ここでは、IDLファイル名を"simple.idl"として説明します。IDLコンパイラが出力する登録集ファイル名は、"simple--rep.cbl", "simple--const.cbl","simple--copy.cbl"となります。

   IDENTIFICATION         DIVISION.
   PROGRAM-ID.            "SIMPLE_C"
  *
   ENVIRONMENT            DIVISION.
   CONFIGURATION          SECTION.
   REPOSITORY. 
  * ObjectDirectorの標準登録集(リポジトリ宣言用)
       COPY               CORBA--REP.
  * ネーミングサービスの標準登録集(リポジトリ宣言用)
       COPY               COSNAMING--REP.
  * IDLコンパイラが出力した登録集(リポジトリ宣言用)
       COPY               SIMPLE--REP.
       .
   SPECIAL-NAMES.
       SYMBOLIC CONSTANT
  * ObjectDirectorの標準登録集(定数宣言用)
       COPY               CORBA--CONST.
  * ネーミングサービスの標準登録集(定数宣言用)
       COPY               COSNAMING--CONST.
  * IDLコンパイラが出力した登録集(定数宣言用)
       COPY               SIMPLE--CONST.
       .
  *
   DATA                   DIVISION.
   WORKING-STORAGE        SECTION.
   01 EXCEPTION-ID        USAGE OBJECT REFERENCE CORBA-STRING.
   01 EXCEPTION-ID-VALUE  PIC   X(50).
   01 API-NAME            PIC   X(50).
   01 ORB                 USAGE OBJECT REFERENCE CORBA-ORB.
  *
   PROCEDURE              DIVISION.
  *
   DECLARATIVES.
  *
   ZEROPARAM-ERR SECTION.
       USE EXCEPTION ODDEMO-CALCULATOR-ZEROPARAM.
       DISPLAY "ZEROPARAM Exception: " API-NAME.
       EXIT PROGRAM.
   END-ZEROPARAM-ERR.
  *
   OTHER-ERROR SECTION.
       USE EXCEPTION CORBA-EXCEPTION.
       DISPLAY "CORBA::UserException: " API-NAME.
       SET EXCEPTION-ID TO IDL-ID OF EXCEPTION-OBJECT AS CORBA-EXCEPTION.
       INVOKE EXCEPTION-ID "GET-VALUE" RETURNING EXCEPTION-ID-VALUE.
       DISPLAY "   Exception-id: " EXCEPTION-ID-VALUE.
       EXIT PROGRAM.
   END-OTHER-ERR.
  *
   END DECLARATIVES.
  *
   MAIN SECTION.
  *
       MOVE "CORBA::ORB_init" TO API-NAME.
       INVOKE CORBA "ORB_INIT"
                          USING     "SIMPLE_C"
                                    FJ-OM_ORBID
                          RETURNING ORB.

 例外処理については、“クライアントアプリケーションの例外処理”を参照してください。


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

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