ページの先頭行へ戻る
Interstage Application Server アプリケーション作成ガイド(イベントサービス編)

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
          CORBA-OBJECT-NIL
          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
          CORBA-OBJECT-NIL
          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. イベントチャネルと切断します。