パブリケーション

パブリケーションとは、アプリケーションからパブリッシュ/サブスクライブ・エンジンに送信されるメッセージのことをいいます。パブリッシュ/サブスクライブ・エンジンは、メッセージを受信するためにサブスクライブしているアプリケーションにメッセージを送信します。

パブリッシュ/サブスクライブ・エンジンでは、受信したパブリケーションに含まれている情報のタイプに応じて、パブリケーションをさまざまな方法で処理できます。

状態情報とイベント情報

パブリケーションは、中身の情報のタイプに応じて以下のように分類できます。
状態パブリケーション
状態パブリケーションには、現在の状態 (例えば、株価や、サッカーの試合の現在のスコアなど) に関する情報が含まれています。 何かが発生すると (例えば、株価が変動したり、サッカーのスコアが変わったりすると)、以前の状態情報は新しい情報に置き換えられるので不要になります。
サブスクライバー・アプリケーションでは、始動時に現行バージョンの状態情報を受け取り、状態が変わるたびに新しい情報を送信してもらうように設定するのが望ましいといえます。
イベント・パブリケーション
イベント・パブリケーションには、発生した個々のイベント (例えば、株の取引や、特定のゴールによる得点など) に関する情報が含まれています。 各イベントは、それぞれ独立しています。
サブスクライバーの側では、イベントの発生時にイベント情報を受け取れるように設定するのが望ましいといえます。

保存パブリケーション

デフォルトでは、パブリッシュ/サブスクライブ・エンジンは、すべての対象サブスクライバーにパブリケーションを送信した時点で、そのパブリケーションを削除することになっています。この種の処理は、イベント情報には適していますが、状態情報には必ずしも適していません。パブリッシャーの側では、パブリッシュ/サブスクライブ・エンジンでパブリケーションのコピーを保持するように指定できます。そのコピーのことを保存パブリケーション といいます。そのコピーは、対象のトピックに登録する後続のサブスクライバーに送信できるようになります。 つまり、新しいサブスクライバーは、情報が再びパブリッシュされるのを待たなくても、その情報を受信できる、ということです。 例えば、株価のサブスクリプションに登録しているサブスクライバーは、株価が変化した時点で情報が再パブリッシュされるのを待たずに、現在の株価情報をすぐに受信できます。

パブリッシュ/サブスクライブ・エンジンは、各トピックごとにパブリケーションを 1 つだけ保存します。つまり、新しいパブリケーションが入ってくると、古いパブリケーションは削除されます。したがって、各トピックで 1 つのパブリッシャーだけが保存パブリケーションを送信するようにしてください。

サブスクライバーの側で、保存パブリケーションを受信しないように指定することも可能です。既存のサブスクライバーは、保存パブリケーションの重複コピーを送ってもらうように依頼できます。

保存パブリケーションを使用するかどうかを決定する方法について詳しくは、IBM® Knowledge Center 内の保存パブリケーションを参照してください。