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

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

8.4.3 インタフェース実装クラス

 初期化処理の後、サーバアプリケーションで実装するインタフェースの処理を記述します。OOCOBOLでは、インタフェースの処理を行うインタフェース実装クラスと、インタフェース実装クラスの生成プログラムを用意する必要があります。

インタフェース実装クラス

   CLASS-ID.              ODDEMO-CALCULATOR-IMPL
       INHERITS           ODDEMO-CALCULATOR.
  *
   ENVIRONMENT            DIVISION.
   CONFIGURATION          SECTION.
   REPOSITORY.
       COPY               CORBA--REP.
       COPY               SIMPLE--REP.
       .
   SPECIAL-NAMES.
       SYMBOLIC CONSTANT
       COPY               CORBA--CONST.
       COPY               SIMPLE--CONST.
       .
  *
   OBJECT.
    DATA                  DIVISION.
    WORKING-STORAGE       SECTION.
    COPY                  CORBA--COPY.
    COPY                  SIMPLE--COPY.
  *
    PROCEDURE             DIVISION.
  *
     METHOD-ID.           CALCULATE OVERRIDE.
     DATA                 DIVISION.
     WORKING-STORAGE      SECTION.
     01 EXC               USAGE OBJECT REFERENCE ODDEMO-CALCULATOR-ZEROPARAM.
     LINKAGE              SECTION.
     01 A                 TYPE                   CORBA-LONG.
     01 B                 TYPE                   CORBA-LONG.
     01 RESULT            TYPE                   ODDEMO-CALCULATOR-RESULT.
  *
     PROCEDURE            DIVISION
                          USING     A
                                    B
                          RETURNING RESULT
                          RAISING   CORBA-SYSTEMEXCEPTION
                                    ODDEMO-CALCULATOR-ZEROPARAM.
  *
       IF B = 0
         INVOKE ODDEMO-CALCULATOR-ZEROPARAM "NEW" RETURNING EXC
         EXIT METHOD RAISING EXC
       END-IF.
  *
       COMPUTE ADD_RESULT OF RESULT = A + B.
       COMPUTE SUBTRACT_RESULT OF RESULT = A - B.
       COMPUTE MULTIPLE_RESULT OF RESULT = A * B.
       COMPUTE DIVIDE_RESULT OF RESULT = A / B.
  *
     END METHOD CALCULATE.
  *
   END OBJECT.
  *
   END CLASS ODDEMO-CALCULATOR-IMPL.

インタフェース実装クラス生成プログラム

 インタフェース実装クラスは、ORBが生成します。ORBからインタフェース実装クラス生成プログラムが呼ばれて、インタフェース実装クラスが生成されます。インタフェース実装クラス生成プログラム名は、モジュール名、インタフェース名をハイフン("-")でつなげた名前に"--INIT"を付加した名前にします。RETURNING句には、インタフェースクラスを指定します。このプログラムではインタフェース実装クラスを生成して返します。

   IDENTIFICATION         DIVISION.
   PROGRAM-ID.            ODDEMO-CALCULATOR--INIT.
  *
   ENVIRONMENT            DIVISION.
   CONFIGURATION          SECTION.
   REPOSITORY.
       CLASS              ODDEMO-CALCULATOR
       CLASS              ODDEMO-CALCULATOR-IMPL
       .
  *
   DATA                   DIVISION.
   LINKAGE                SECTION.
   01 RESULT              USAGE OBJECT REFERENCE ODDEMO-CALCULATOR.
  *
   PROCEDURE              DIVISION
                          RETURNING RESULT.
  *
       INVOKE ODDEMO-CALCULATOR-IMPL "NEW"
                          RETURNING RESULT.
  *
   END PROGRAM "ODDEMO-CALCULATOR--INIT".

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

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