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

第6章 アプリケーションの開発(COBOL)> 6.5 サーバアプリケーションのプログラミング(動的スケルトンインタフェース:DSI)

6.5.3 ゲートウェイの処理

 ゲートウェイでは、以下に示す処理を行います。

(1)メソッドの解析

 CORBA-SERVERREQUEST-OP-NAMEメソッドを発行して、メソッド名の解析を行います。

  LINKAGE SECTION. 
  01 COPY SERVERREQUEST IN CORBA REPLACING
          CORBA-SERVERREQUEST BY REQUEST. 
  DATA DIVISION. 
          WORKING-STORAGE SECTION. 
          01 COPY REPOSITORYID IN CORBA REPLACING CORBA-REPOSITORYID BY DSI-OP-NAME. 

  CALL "CORBA-SERVERREQUEST-OP-NAME" USING
          REQUEST
          ENV
          DSI-OP-NAME. 

  EVALUATE DSI-OP-NAME
    WHEN "add" 
      CALL "METHOD-ADD" USING
          REQUEST
          ENV
    WHEN "add2" 
      CALL "METHOD-ADD2" USING
          REQUEST
          ENV
  END-EVALUATE.

(2)パラメタの組み立て

  1. CORBA-ORB-CREATE-LISTメソッドにより、サーバアプリケーションに渡すパラメタを格納するための領域を保持するリストオブジェクトを生成します。このとき、パラメタとして、何個のパラメタを格納するかを指定します。その結果、NVListオブジェクトリファレンスが返されます。
  2. CORBA-NVLIST-ADD-ITEMメソッドにより、サーバアプリケーションに渡すパラメタをリストオブジェクトに設定します。パラメタとして、CORBA-NVLISTオブジェクトリファレンス、サーバアプリケーションのパラメタの名前、型、値および長さを設定します。

(3)パラメタの解析

 CORBA-SERVERREQUEST-PARAMSメソッドを発行して、パラメタの解析を行います。

  CALL "CORBA-SERVERREQUEST-PARAMS" USING
       DSI-REQUEST
       ARG-LIST
       ENV.

(4)復帰情報の設定

 CORBA-SERVERREQUEST-RESULTメソッドを発行して、復帰情報の設定を行います。

  MOVE FUNCTION LENG (TC-LONG) TO STRING-LENGTH. 
  CALL "CORBA-STRING-SET" USING
        TMP-BUF
        STRING-LENGTH
        TC-LONG. 
  CALL "CORBA-ORB-TYPECODE-FROM-CGEN-TC" USING
        TMP-BUF
        TYPE OF ANY-VALUE. 
  MOVE FUNCTION ADDR (RET) TO VALUE OF ANY-VALUE. 
  CALL "CORBA-SERVERREQUEST-RESULT" USING
        DSI-REQUEST
        VALUE
        ENV.

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

Copyright 2005 FUJITSU LIMITED