Mule ESBとは
Mule ESB(エンタープライズサービスバス)は、米MuleSoft社が開発・提供しているオープンソースのアプリケーション統合フレームワークです。
Javaで開発されており、柔軟性と拡張性の高さが特徴です。従来の商用ESBとは異なり、開発者が自由に
コンポーネントを修正・拡張できるため、特定のシステム環境に縛られない柔軟なシステム構築が可能です。
特徴
コンポーネントベース: Mule ESBは、開発者がカスタマイズ可能な
コンポーネント集として提供されます。標準
コンポーネントだけでも多くのシステム連携が可能ですが、コミュニティによって開発された豊富な
コンポーネントも利用できます。
多様なプロトコル対応: Webサービス(SOAP)に限定されず、ファイル、FTP、HTTP(REST)、JMS、SMTPなど、幅広いプロトコルをサポートします。
柔軟な連携方式: グラフィカルエディタ「Mule Studio」や
Java、スクリプト言語を用いて連携ロジックを記述できます。
拡張性とカスタマイズ性: 提供されているクラスを修正・拡張することで、独自の機能を追加できます。これにより、開発コストと期間を削減しつつ、信頼性の高いシステムを構築できます。
ピアツーピア構成: システム構成の自由度が高く、単一サーバ構成から、信頼性と性能を重視した分散構成まで柔軟に対応できます。コミュニティ版ではサーバ数による費用は発生しません。
SOA/ROA: SOA(
サービス指向アーキテクチャ)やROA(リソース指向アーキテクチャ)の基盤として活用できるほか、データ連携ツールとしても利用可能です。
豊富なアダプタ: SAP、Salesforce、SugarCRMなどのアプリケーション連携用アダプタや、メッセージ分割・結合、データ暗号化、データ変換などの標準
コンポーネントが提供されています。
無償版と有償版: 無償のコミュニティ版と有償のエンタープライズ版が提供されています。小規模から中規模のシステムであれば、コミュニティ版で十分利用できます。
高性能・軽量: 高い性能と軽量さを両立しており、海外の大手企業や金融業界で豊富な導入実績があります。
システム構成
Mule ESBは、柔軟なシステム構成をサポートします。
ピアツーピア構成: 各アプリケーションサーバにMule ESBをセットアップし、直接連携する構成です。性能とセキュリティを重視する場合に適しています。
リポジトリ共有構成: 通信設定をリポジトリや共有サーバに配置し、管理を容易にする構成です。
集中サーバ構成: 他のESBと同様に、集中サーバにMule ESBを集約する構成も可能です。
アーキテクチャ
Mule ESBのアーキテクチャは、以下の3つの特徴を持ちます。
1.
エンタープライズ統合パターン: Gregor Hohpe著「エンタープライズ統合パターン」で定義された基本パターンに基づいています。
2.
SEDA: ステージングイベント駆動アーキテクチャ(
SEDA)を採用し、高スループットを実現しています。
3.
外部DIコンテナ: 内部
コンポーネントの生成に、外部のDI(Dependency Injection)コンテナ(例:
Spring Framework)を使用できます。
Mule ESBは、以下の
コンポーネントで構成され、それぞれの
コンポーネントが疎結合で連携することで、柔軟なシステム連携を実現します。
受信エンドポイント: アプリケーションのアドレスを特定します。
受信レシーバー: データを受け取ります。
受信コネクタ: 特定のレシーバーとトランスフォーマーを対応付けます。
受信トランスフォーマー: データ形式を変換します。
ルータ: データのルーティングを制御します。
UMOコンポーネント: ビジネスロジックを実行します。
送信トランスフォーマー: 送信先用のデータ形式に変換します。
送信コネクタ: 特定のトランスフォーマーとディスパッチャーを対応付けます。
ディスパッチャー: データを送信します。
送信エンドポイント: 送信先のアドレスを指定します。
これらの
コンポーネントはPOJO(Plain Old
Java Object)で構成されており、柔軟なカスタマイズが可能です。また、
Spring FrameworkなどのDIコンテナを利用することで、Mule ESBの設定をより効率的に行うことができます。
アダプタとプロバイダ
レシーバー、コネクタ、トランスフォーマーの集まりをプロバイダまたはアダプタと呼びます。例えば、SAPやSalesforceと接続するための専用アダプタが提供されています。一方、Oracleデータベースのように、APIとプロトコルは定義されているが、データ型が不明な場合は、開発者がトランスフォーマーを作成する必要があります。
競合製品
オープンソースのSOAソリューションとしては、wso2が主な競合相手です。両社の技術的な優位性については、業界内で議論がなされています。
歴史
2001年: Ross Masonがロンドン投資銀行向けに、データ連携の原型を開発。
2003年: Ross MasonがMuleの開発を開始。
2005年: Hozawa氏がMule ESBを日本語環境で動作できるようにローカライズ。
2006年7月: Ross MasonとDave RosenbergがMuleSourceを設立。
2008年1月: Mule Galaxyを発表。日本Mule開発者グループが日本語ページを公開。
2009年9月: MuleSourceがMuleSoftに社名変更。
2013年4月: Mule ESB 3.4.0を公開。
ツール
Mule Studio: 連携フローやデータマッピングをグラフィカルに記述するための開発ツール。
Mule Management Console: WebベースでMule ESBの運用監視を行うツール。
類似製品
wso2
Apache ServiceMix
Cape Clear
Celtix (オープンソース)
E2E Bridge (独自)
IONA Artix (独自)
OpenESB (オープンソース)
Sonic ESB (プロプライエタリ)
受賞
2007年: InfoWorld誌のオープンソースミドルウェアに選定
外部リンク
Mule コミュニティサイト
MuleSoft社のサイト