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

1.3.2 Pullモデルの概要

Pullモデルは、コンシューマがイベントデータの送信要求待ちの状態にあるサプライヤにイベントデータの「引き出し」(pull)を要求します。要求した結果、送信するイベントデータがサプライヤにあれば、そのイベントデータをコンシューマに送信する通信モデルです。
1台のサプライヤに対し、複数のコンシューマがデータを取得する場合に有効です。

Pullモデルの概要を以下に示します。なお、イベントデータの送信要求と送受信は、イベントチャネルのpullメソッドを使用します。



  1. サプライヤは、コンシューマからのイベントデータの送信要求を受け付けるため、イベントチャネルに接続します。ここで、サプライヤは、イベントデータの受信要求待ちの状態になります。

  2. コンシューマは、イベントチャネルにイベントデータの送信要求を出します。

  3. イベントチャネルは、接続しているサプライヤに送信要求を出します。

  4. 送信要求を受け取ったサプライヤは、イベントデータがあれば、イベントチャネルに送信し、次の送信要求を待ち合わせます。

  5. コンシューマは、サプライヤからのイベントデータをイベントチャネルから受信します。


Pullモデルのコンシューマがイベントデータの「引き出し」をサプライヤへ要求する(2)には、2つの形態があります。

pull

コンシューマがサプライヤに送信要求を出した際に、イベントデータがなければ、イベントデータがサプライヤで生成されるまで待ち合わせます。

try_pull

サプライヤにイベントデータがない場合は、すぐにコンシューマに制御を返します。

注意

Pullモデルでは、サプライヤ側のアプリケーションは、サーバアプリケーションである必要があります。