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

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

8.4 Mixedモデル

 COBOLでのMixedモデルのアプリケーションの開発について説明します。

(1)概要

 MixedモデルはPushモデル、Pullモデルの2つの通信モデルを使用します。サプライヤはイベントチャネルにイベントデータを送信し、コンシューマはイベントチャネルにイベントデータを要求します。その概要を以下に示します。

(2)サプライヤの作成

 サプライヤはイベントチャネルにイベントデータを送信します。Pushモデルのサプライヤと同様のインタフェースを使用します。サプライヤからコンシューマにイベントデータを送信する処理の手続き例と処理の流れを説明します。

[COBOLによるMixedモデルのサプライヤ]

  PROGRAM-ID. "FUNC".
      ... 
      CALL "COSEVENTADMIN-EVENTCHANNEL-FOR-SUPPLIERS" USING
            EVENTCHOBJ
            ENV
            SUPPLIER.                                              /* 1 */
  
      CALL "COSEVENTCHANNELADMIN-SUPPLIERADMIN-OBTAIN-PUSH-CONSUMER" USING
            SUPPLIER
            ENV
            PROXYPUSH.                                             /* 2 */
  
      CALL "COSEVENTCHANNELADMIN-PROXYPUSHCONSUMER-CONNECT-PUSH-SUPPLIER" USING
            PROXYPUSH
            PROXYPUSH
            ENV.                                                   /* 3 */
  
      CALL "COSEVENTCHANNELADMIN-PROXYPUSHCONSUMER-PUSH" USING
            PROXYPUSH
            EVDATA
            ENV.                                                   /* 4 */
  
      CALL "COSEVENTCHANNELADMIN-PROXYPUSHCONSUMER-DISCONNECT-PUSH-CONSU" USING
            PROXYPUSH
            ENV.                                                   /* 5 */
      ... 
  END PROGRAM "FUNC".
  1. イベントチャネル管理オブジェクトのオブジェクトリファレンスを獲得します。
  2. イベントチャネルのオブジェクトリファレンスを獲得します。
  3. イベントチャネルと接続します。
  4. イベントチャネルにCOSEVENTCHANNELADMIN-PROXYPUSHCONSUMER-PUSHメソッドを発行します。
  5. イベントチャネルと切断します。

(3)コンシューマの作成

 コンシューマはイベントチャネルにイベントデータを要求します。Pullモデルのコンシューマと同様のインタフェースを使用します。コンシューマがイベントチャネルにイベントデータを要求する手続き例と処理の流れを説明します。

[COBOLによるMixedモデルのコンシューマ]

  PROGRAM-ID. "FUNC".
      ... 
      CALL "COSEVENTCHANNELADMIN-EVENTCHANNEL-FOR-CONSUMERS" USING
            EVENTXHOBJ
            ENV
            CONSUMER.                                       /* 1 */
  
      CALL "COSEVENTCHANNELADMIN-CONSUMERADMIN-OBTAIN-PULL-SUPPLIER" USING
            CONSUMER
            ENV
            PROXYPULL.                                      /* 2 */
  
      CALL "COSEVENTCHANNELADMIN-PROXYPULLSUPPLIER-CONNECT-PULL-CONSUMER" USING
            PROXYPULL
            PROXYPULL
            ENV.                                            /* 3 */
  
      CALL "COSEVENTCHANNELADMIN-PROXYPULLSUPPLIER-PULL" USING
            PROXYPULL
            ENV
            EVDATA.                                         /* 4 */
  
      CALL "COSEVENTCHANNELADMIN-PROXYPULLSUPPLIER-DISCONNECT-PULL-SUPPL" USING
            PROXYPULL
            ENV.                                            /* 5 */
      ... 
  END PROGRAM "FUNC".
  1. イベントチャネル管理オブジェクトのオブジェクトリファレンスを獲得します。
  2. イベントチャネルのオブジェクトリファレンスを獲得します。
  3. イベントチャネルと接続します。
  4. イベントチャネルにCOSEVENTCHANNELADMIN-PROXYPULLSUPPLIER-PULLメソッドを発行します。
  5. イベントチャネルと切断します。

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

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