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

第8章 アプリケーションの開発(COBOL)

8.6 コンシューマとサプライヤのオブジェクトリファレンスの獲得

 イベントチャネルに接続する際、自身のオブジェクトを登録します。このオブジェクトの生成方法(Pushモデルのコンシューマのオブジェクトの作成例)を以下に示します。

  01 COPY ORB IN CORBA REPLACING CORBA-ORB                             BY ORB.
  01 COPY ORB IN CORBA REPLACING CORBA-BOA                             BY BOA. 
  01 COPY REPOSITORYID IN CORBA REPLACING CORBA-REPOSITORYID           BY INTF-REP. 
  01 COPY INTERFASEDEF IN CORBA REPLACING CORBA-INTERFACEDEF           BY INTF. 
  01 COPY IMPLEMENTATIONDEF IN CORBA REPLACING CORBA-IMPLEMENTATIONDEF BY IMPL. 
  01 COPY REFARENCEDATA IN CORBA REPLACING CORBA-REFERENCEDATA         BY REF. 
  01 COPY OBJECT IN CORBA REPLACING CORBA-OBJECT                       BY MY-OBJ. 
  
       MOVE FUNCTION LENG (CORBA-ORB-OBJECTID-LIGHTINTFR) TO STRING-LENGTH
       CALL "CORBA-STRING-SET" USING
             TEMP-BUF
             STRING-LENGTH
             CORBA-ORB-OBJECTID-LIGHTINTFR. 
       CALL "CORBA-ORB-RESOLVE-INITIAL-REFERENCES" USING
             ORB
             TEMP-BUF
             ENV
             INTF-REP. 
  
       MOVE FUNCTION LENG (INTF-COSEVENTCOMM-PUSHCONSUMER) TO STRING-LENGTH
       CALL "CORBA-STRING-SET" USING
             TEMP-BUF
             STRING-LENGTH
             INTF-COSEVENTCOMM-PUSHCONSUMER
       CALL "CORBA-REPOSITORY-LOOKUP-ID" USING
             INTF-REP
             TEMP-BUF
             ENV
             INTF. 
  
       MOVE 0 TO SEQ-LENGTH OF REF. 
       MOVE 0 TO SEQ-MAXIMUM OF REF. 
       SET CORBA-OCTET OF REF TO NULL. 
  
       MOVE FUNCTION ADDR(REF) TO REF-P. 
       CALL "CORBA-BOA-CREATE" USING
             BOA
             REF-P
             INTF
             IMPL
             ENV
             MY-OBJ.

 オブジェクトはCORBA-BOA-CREATEで作成します。CORBA-BOA-CREATEに指定するパラメタのインタフェース情報には自身が実装するインタフェースリポジトリID(この例ではINTF-COSEVENTCOMM-PUSHCONSUMER)、インプリメンテーション情報には自身のインプリメンテーションリポジトリIDを指定します。

 各アプリケーションが実装するインタフェースを以下の表に示します。アプリケーションはインタフェースリポジトリIDをCORBA-REPOSITORY-LOOKUP-IDに以下のパラメタを指定して獲得します。

通信モデル

サプライヤ

コンシューマ

Push

INTF-COSEVENTCOMM-PUSHSUPPLIER

INTF-COSEVENTCOMM-PUSHCONSUMER

Pull

INTF-COSEVENTCOMM-PULLSUPPLIER

INTF-COSEVENTCOMM-PULLCONSUMER

Mixed

INTF-COSEVENTCOMM-PUSHSUPPLIER

INTF-COSEVENTCOMM-PULLCONSUMER


 Linuxシステムでは、COBOLはWindows(R)クライアントだけで使用可能であるため、コンシューマとサプライヤのオブジェクトリファレンスを獲得することはできません。


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

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