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

1.3.2 Pullモデルの概要

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

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



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

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

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

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

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


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

pull

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

try_pull

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

注意

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