Mule ESB いいかも。

昨日から、Mule を触っている。
http://www.mulesoft.org/display/MULE/Home

Mule ESB(以下、Mule)は、米MuleSoft社 が開発し、オープンソースで公開している Java製のESB。
よりハイエンドな機能を統合したエンタープライズ版も、同社から提供されていたりもする。

商業利用に際しては、MuleSoft社が、サポートをしてくれるので、いざというときも、(多分)安心。
MuleSoft直だと、英語のサポートだと思うけど、日本では、オージス総研がサポートを提供しているようです。*1

ともあれ、同じオープンソース系のESBであるServiceMixその他に比べて、開発している会社が、サポートを提供してくれるというのは、商業利用の際には、かなりの強みではないかと。

Mule ESB と、ServiceMixとの大きな違いは、ServiceMixはJBI仕様に準拠、Mule ESB は準拠でないという点。
これは、個人的には、Mule ESB 最大の利点といってもいいくらい。

しばらく、仕事で、ServiceMixを触ってたのだけど、このJBI仕様が、一昔前のEJBの悪夢を思い出させてくれる代物です。Muleの創設者もJBI仕様に難癖をつけています。

あなたはサービスを実装するために、とても重厚なAPIを実装しなければなりません。ssary. これはあなたのサービスを書くために、JBIに関して必要以上に理解しなければならないという意味です。

Mule創設者: JBIは目標を見失っている

JBI仕様は、ESBの内部処理や、ESB内のコンポーネントの標準化を推し進めるものと解釈しているんだけど、ESBは、システム間連携に使われるものなので、正直、外部とのコネクティビティさえ標準的であれば、内部はなんでもよいのではないかと。

標準にしたがっておけば、ほかのESBコンテナに移行できるとか、システムが特定のソフトに依存するのがイヤとか言う人がよくいるけど、
EJB全盛のころEJBコンテナを移行した例がどれほどあるのかと。JBI仕様に従ったところで、他のJBIコンテナでどれほど動作するのかと。なんかね何かというとEJBとって浮かれてた時代が思い起こされて香ばしい。

あと、ホットデプロイが、Mule ESB には無いというのが欠点とか言われているのもありますが、次期バージョンの3.0系でサポートされるとのこと。

なんか、JBI仕様の悪口になってしまったけど、ServiceMix使った後に、Mule ESB 使うと、わかると思うこの気持ち。
Mule ESBは、必要なことだけにフォーカスしている感じがする。

*1:オージスと言えば、勝手に OO界の雄 と思い込んでいるので、そのサポートにはかなり期待できるのではないかと。