ESB Mule

ESB Muleは、米MuleSoft社が開発・サポートしている、Javaで開発されたオープンソースのアプリケーション統合/連携用のフレームワークである。
IBM WebSphereのような多くの商用ESB（エンタープライズ・サービス・バス）と以下の点が異なる：
SOA（Service Oriented Architecture）やROA（Resource Oriented Architecture）の基盤として使う他に、Hulftのようなシステム間のデータ連携ツールの簡易版として使うこともできる。アプリケーション連携用としてSAP、Salesforce、SugarCRM、SWIFT、SMTP、POP3等のアダプタも提供されている他に、メッセージの分割・結合、データ暗号・解読、データ構造変換などの標準コンポーネントも提供されている。ファイル転送の起動も、ディレクトリのポーリング、トリガー、スケジューリングなどで行うように設定できる。
MuleSoft社からは無償とコミュニティ版と有償のエンタープライズ版が提供されている。コミュニティ版としてESB Muleとサービス・構成リポジトリ／レジストリMule Galaxyが公開されている。エンタープライズ版にはMuleを一括管理するための管理コンソールMule Management Consoleが同梱されているが、一般の小中規模システムであればコミュニティ版で十分利用することができる。
高性能・軽量であり、豊富なプロトコル・アダプタを提供しているために、海外ではWalmart.com,Leap Frogや金融業界での豊富な実績がある。
システム構成.
ESB Muleは特にシステム構成の制限を設けていないため、以下のようなシステム構成が可能である：
アーキテクチャ.
ESB Muleのアーキテクチャは以下の3項目を特徴としている：
開発者のRoss Masonはイギリスの証券システム用の開発を行っていて、システム連携に類似したプログラムを開発していることに気が付いた。Gregor Hohpe著「エンタープライズ統合パターン」を参照して、繰り返して開発を行って来た、プログラムを整理して、ESB Muleのアーキテクチャを考えた。
アプリケーション連携を行うプログラムは以下の部品に分別できる：
このように通信処理を分裂することにより、各部品の入れ替えを疎結合に行えるようにする。例えば、ローカル・ファイル・システムからファイルを読み込み、ファイルに書き出す処理を、メールを送信するように設定を変換することができる。
なお、レシーバー、コネクタ、トランスフォーマー及びディスパッチャー、コネクタ、トランスフォーマーの集まりをプロバイダ又はアダプタと言う。例えばSAPやSalesforceと接続するためにはアプリケーションのAPI、データ形式、通信プロトコルが決められているために、SAPアダプタ及びSalesforceアダプタが提供されている。しかし、Oracleデータベースに接続する場合は、JDBCでAPIとプロトコルが定められているが、データ型は不明なために汎用的なOracle用アダプタはなく、開発者がトランスフォーマーを作成する必要がある。
これらのESB MuleのコンポーネントはPOJOである。ESB MuleはPOJOの管理を行うが、生成はSpring Frameworkのような外部DIコンテナを使うこともできる。この場合は、Spring Frameworkの設定でESB Muleの設定も行うことができる。
競合製品.
オープンソースSOAソリューションとしては、元米IBM研究所で多くのWS-*仕様を作成したメンバーが設立したwso2が主な競合相手である。相互の社長のブログにも言い争いが書き込まれている。
受賞.
2007年：米InfoWorld誌のオープンソース・ミドルウエアに選定