導入 †
- 2章の"統合スタイル"では、アプリケーションを相互につなぐための様々な方法について議論した。
- メッセージングを使えば、アプリケーションは非同期通信で疎結合にでき、通信の信頼性も向上する。
- メッセージングではデータ転送の責務はメッセージングシステムに委ねられるので、アプリケーションはどういったデータを共有するかに集中できる。
メッセージングの基本概念 †
チャネル †
- メッセージングアプリケーションは、メッセージチャネルを通してデータを送信する。これは、送り手と受け手を結ぶパイプのようなもの。
- 新たにインストールされたメッセージングシステムは通常1つもチャネルを持たない。アプリケーションがどのようにやり取りするか決めて、それがうまくいくようにチャネルを作らなくてはいけない。
メッセージ †
- メッセージは、チャネルで送信される、最小のデータパケット。
- データを送信するためには、アプリケーションはデータをいくつかのパケットに分割し、メッセージにくるむ必要がある。
- 同様に、受け手のアプリケーションはメッセージを受信し、メッセージからデータを取り出して処理しなくてはならない。
- メッセージングシステムは、メッセージ配送が成功するまで何度もリトライし続ける。
パイプ&フィルタ †
- 単純なケースでは、メッセージングシステムは送り手のコンピュータから受けてのコンピュータに直接メッセージを届ける。
- バリデーション、メッセージ変換等、送信後・受診前に実施すべきアクションもある。
- パイプ&フィルタアーキテクチャは、チャネルを使ってどのように複数の処理ステップを連鎖させるかを示す。
ルーティング †
- 多数のアプリケーションとそれらを接続するためのチャネルを持つ大きな企業では、メッセージが最終目的地につくまでにいくつものチャネルを通過する必要がある。この経路は複雑で、送信者もどの経路が最終的な受け手に到達するかしらないことがある。こうした場合、送り手はメッセージをメッセージルータに送る。
- ルーターはチャネルトポロジをどう経過させるかを決定し、メッセージを最終的な受け手(または最低でも次のルータ)に送る。
変換 †
- 様々なアプリケーションは、同じ概念データのフォーマットに同意しないかもしれない。
- メッセージは中間に位置するフィルターを通過する必要がある。これがメッセージトランスレータ。
エンドポイント †
- ほとんどのアプリケーションはメッセージングシステムへのインタフェースを持たない。アプリケーションの動作とメッセージングシステムの動作の両方を把握したレイヤが必要。これがメッセージエンドポイント。
本書の構成 †
担当者のつぶやき †
内容がない…
みんなの突っ込み †