パブリッシュ/サブスクライブとは、情報の提供者 (パブリッシャー) と、その情報の消費者 (サブスクライバー) とを、ブローカーを使用して切り離す、メッセージング・アプリケーションのスタイルのことです。
パブリッシュ/サブスクライブ・システムでは、パブリッシャーは、提供する情報 (パブリケーション) の使用者を知る必要はなく、サブスクライバーはサブスクリプションの結果として受け取る情報の提供者を知る必要はありません。
これを、メッセージを送信するアプリケーションが、そのメッセージの送信先を知る必要がある、point-to-point スタイルのメッセージング・アプリケーションと比較してください。
メッセージ・ブローカーは、メッセージが正しい宛先に届き、それぞれの宛先で必要なフォーマットに変換される ことを確認します。
以下の図は、最も単純なパブリッシュ/サブスクライブ・アプリケーションを示します。 1 つのパブリッシャー、1 つのブローカー、1 つのサブスクライバーがあります。 パブリケーションがパブリッシャーからブローカーに送信され、サブスクリプションがサブスクライバーからブローカーに送信されてから、そのパブリケーションがブローカーからサブスクライバーに送信されます。
しかし通常、パブリッシュ/サブスクライブ・システムには複数のパブリッシャー、サブスクライバー、ブローカーがあります。アプリケーションは、パブリッシャーにもサブスクライバーにもなることができます。
パブリッシャーは、メッセージのトピックのパブリッシュと定義を行うメッセージを生成します。ブローカーで実行するメッセージ・フローは、その入力ノードからメッセージを検索し、そのトピックに興味があることを登録したすべてのサブスクライバーに配布するためにメッセージをパブリケーション・ノードに渡します。
入力ノードは、次の組み込みノードのいずれかです。
サブスクライバーは、以下の項目のいずれかを指定することによって、パブリケーションに対する要求を登録します。
パブリッシュ/サブスクライブ・システムが作動する方法の例示については、クイック・ツアー (Quick Tour)を参照してください。