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".
イベントチャネル管理オブジェクトのオブジェクトリファレンスを獲得します。
イベントチャネルのオブジェクトリファレンスを獲得します。
イベントチャネルと接続します。
イベントチャネルにCOSEVENTCHANNELADMIN-PROXYPUSHCONSUMER-PUSHメソッドを発行します。
イベントチャネルと切断します。
(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".
イベントチャネル管理オブジェクトのオブジェクトリファレンスを獲得します。
イベントチャネルのオブジェクトリファレンスを獲得します。
イベントチャネルと接続します。
イベントチャネルにCOSEVENTCHANNELADMIN-PROXYPULLSUPPLIER-PULLメソッドを発行します。
イベントチャネルと切断します。