Mule ESB 3のアーキテクチャについて
Mule の日本語情報が少しでも増やそうと思ったので、少しずつ書いていきたいと思います。
Mule ESB は、EIPのリファレンス実装を用意したインテグレーションフレームワークとして使えるESBです。
EIPのリファレンス実装なのは、Camel と同様ですね。
- 作者: Gregor Woolf, Bobby Hohpe
- 出版社/メーカー: Addison-Wesley Professional
- 発売日: 2003/10/10
- メディア: ハードカバー
- 購入: 2人 クリック: 19回
- この商品を含むブログ (8件) を見る
したがって、Mule のようなインテグレーションフレームワークを理解するには、EIPの3章くらいまでの内容を知っておく必要があります。
でないと、どんな問題を解決しようとしているか、ピンとこないと思います。
あるいは、Mule In Action の第1章を読んでもよいかもしれません。こちらは眠くなるのでおすすめできませんが。
本題に入ります。
Mule 3 がどう進化したのかが、MuleSoft社のブログで紹介されています。
以下の記事で、メッセージフローというのは、結局パイプラインの一形態だという説明をしています。
結局、メッセージフローというのは、POSAやEIPにある、Pipes and Filter Patten で実現されるべきものだったと。
http://blogs.mulesoft.org/mule-3-architecture-part-1-back-to-basics/
http://blogs.mulesoft.org/mule-3-architecture-part-2-introducing-the-message-processor/
内部では、各オブジェクトがメソッドチェインされています。
こういうインタフェースの大きな変更はありましたが、後方互換性も考慮されています。
Mule 2系の設定ファイルは、ほとんど修正しなくても動くようになっているので。
(synchronous 属性とCXF周りは、互換性がありませんので注意)
ちなみに、Mule 2系のアーキテクチャについては、説明がややこしいので省略します。
アーキテクチャの思想を理解するだけで、相当時間がかかるし、理解してもうまく説明できないアーキテクチャだったりします。
また、アーキテクチャがわかったとしても、設定ファイルの書き方があまり直感的でないかもしれません。
なれるまで1ヶ月とかかかっちゃうかもしれませんね。