Mule ESB

Mule ESBは、世界90カ国2500以上のプロジェクトで利用されている、成熟度No.1のオープンソースESB(Enterprise Service Bus)です。

Mule ESBの特徴

Mule ESBは、Javaベースの軽量なESB(Enterprise Service Bus)であり、開発者が迅速かつ容易にシステムおよびアプリケーション間の接続・データ交換を行うための統合プラットフォームです。 Mule ESBは、JMS、Webサービス、JDBC、HTTPなど、そのさまざまな技術を利用したアプリケーションおよび既存システムの容易な統合を可能にします。 ESBの主な利点は、異なるアプリケーションが企業内やインターネットを介したアプリケーション間でデータ交換を行うための輸送システムとして機能することによって、互いに通信ができることです。 Mule ESBには、次のような強力な機能が含まれています。

サービスの作成およびホスティング
軽量のサービスコンテナとしてMule ESBを使用し、ホストとして再利用可能なサービスの公開を行う
サービスメディエーション
メッセージフォーマットとプロトコルからシールドサービス、メッセージングとは別のビジネスロジック、および独立したサービスの呼び出しを可能にする
メッセージのルーティング
ルート、フィルタ、集約、およびコンテンツとルールに基づいたメッセージの再送を行う
データ変換
さまざまなフォーマットや転送プロトコル間のデータ交換を行う

esb-lg.jpg

ESBは必要ですか?

Mule ESBや他のESB製品には、少なくともいくつかの統合ポイント、または統合するために少なくとも3種類のアプリケーションが存在するシナリオで効果を発揮します。また、疎結合、拡張性と堅牢性が要求されるシナリオに適しています。

次は、ESBの導入を簡単に判断するためのチェックリストです。

  1. 3つ以上のアプリケーション/サービスを統合することはありますか?
  2. 将来のより多くのアプリケーションに機能拡張する必要がありますか?
  3. 複数のタイプの通信プロトコルを使用する必要がありますか?
  4. 分岐、集約などのメッセージルーティング機能、またはメッセージフローおよびコンテンツベースのルーティング機能が必要ですか?
  5. 他のアプリケーションによって構成されるコンシューマサービスを公開する必要がありますか?

なぜMule ESBを利用するのか?

Mule ESBは、軽量でありながら非常にスケーラブルであり、小規模の利用から可能です。また、より多くのアプリケーション間の接続を可能にする成熟したESB製品です。 Mule ESBは、同じ仮想マシン、またはインターネット上で使用される基本的なトランスポートプロトコルに関係なく、透過的にアプリケーションとコンポーネントとのすべての相互作用を管理することができます。

現状、市販されているいくつかの商用ESB製品があります。 しかし、これらの多くは限られた機能を提供したものや特定のベンダーに束縛される原因となるような既存のアプリケーションサーバーまたはメッセージングサーバの上に構築されています。

Mule ESBは、ベンダー中立なので異なったベンダー製品でも機能拡張できます。また逆にMule ESBを使用することで特定のベンダーに束縛されることはありません。

Mule ESBは、競合他社製品に比べて、次のような多くの利点を提供します。

  • Mule ESBのコンポーネントには任意の型を使用することができるため、"Plain Old Javaオブジェクト"(POJO)から別のフレームワークからのコンポーネントまで、簡単に統合することができます。
  • MuleとESBモデルは、重要なコンポーネントの再利用を可能にします。他のフレームワークとは異なり、Mule ESBは何も変更せずに既存のコンポーネントを使用することができます。コンポーネントは、Mule ESBで実行するためのMule固有のコードやAPIを必要としません。ビジネスロジックは、メッセージングのロジックから完全に分離しています。
  • メッセージは、SOAPからバイナリイメージファイルまで任意の書式で指定できます。Mule ESBは、XMLメッセージングまたはWebサービスのようなアーキテクチャによる設計上の制約を強制しません。
  • Mule ESBは、単にESBとして利用するだけに止まらず、さまざまなかたちでMule ESBを利用することができます。Mule ESBは、軽量で埋め込み可能なので、変化に順応しやすく必要に応じてスケールアップまたはスケールダウンできるため、安全でスケーラブルなアプリケーションを提供するプロジェクトの生産性を向上させて市場投入までの時間を劇的に減少させることができます。
  • Muleのステージイベント駆動型アーキテクチャ(SEDA)は、高度にスケーラブルです。米H&Rブロック社のケースでは、毎秒10,000を超える商取引上の主要なプロセスを実現する高度な分散環境を、13,000のMule ESBサーバで実現/稼働しています。

Community版とEnterprise版のデュアルライセンス

Mule ESBは、Community版とEnterprise版の2つのライセンスが用意されています。どちらもベースとなるMule ESBの開発は米Mule Soft社を中心に、全世界の技術者が参加する活発なオープンソースコミュニティによって進められています。Enterprise版は、企業システムでの利用を想定しており、企業システムに求められる製品の信頼性・品質の確保、技術サポートや企業システムの運用に不可欠な運用監視機能を有償で提供します。

Getting Started with Mule ESB

ダウンロード

Community版

こちらからダウンロードできます。

Enterprise版

こちらから30日間のトライアル版がダウンロードできます。

インストール

ダウンロードしたファイルを解凍し、次の環境設定を行います。

UNIX, Macの場合(~/localに解凍)

export MULE_HOME=~/local/mule-standalone-3.1.2
export PATH=$PATH:$MULE_HOME/bin

Windowsの場合(c:\home\localに解凍)

set MULE_HOME=c:\home\local\mule-standalone-3.1.2
set PATH=%PATH%;%MULE_HOME%\bin

Mule ESBの開始と停止

ターミナルから、次のコマンドを実行します。

$ mule

停止は CTRL + C で行います。

また、muleコマンドは次の引数を指定して実行することもできます。

start
Muleインスタンスを開始します
stop
Muleインスタンスの停止します
restart
Muleインスタンスの停止後、開始します
status
Muleインスタンスを状態を表示します

Muleアプリケーションのデプロイ/アンデプロイ

デプロイ

Mule ESBが開始されている状態で、MuleアプリケーションのZIPファイルを$MULE_HOME/appsにコピーします。

アンデプロイ

Mule ESBが開始されている状態で、$MULE_HOME/appsのアンカーファイル(*-anchor.txt)削除します。

次のブログ記事もあわせて参考にして下さい。

Muleアプリケーションの開発のための準備

Muleアプリケーションの開発には、Eclipseのプラグイン(Mule IDE)とMavenを利用することができます。最近では、Mule Studio(ベータ版)の開発が進められています。

次のブログ記事を参考にして下さい。

Hello Mule

Mule IDEを利用してMuleアプリケーションを作成します。

Muleアプリケーションの作成

  1. ファイル > 新規 > プロジェクトから、「Mule Project」を選択し、「次へ」をクリックします。
    create_MuleProj1.png
     
  2. プロジェクト名を入力します。プロジェクト名にはスペースを含まないようにして下さい。
    create_MuleProj2.png
     
  3. 「完了」をクリックするとMule IDEはMule Projectを生成します。 生成されたMule Projectは、プロジェクト・エクスプローラーに追加されます。
    Mule Projectに含まれるMuleライブラリは、Mule Project作成時に選択したMuleディストリビューションのライブラリを参照しています。
  4. Mule Projectに、confディレクトリを作成します。
  5. confディレクトリに"mule-config.xml"という名前の新しいファイルを作成します。
    edit_mule-config.png
     
  6. mule-config.xmlに次のコンフィグレーションを追加します。

conf/mule-config.xml

<?xml version="1.0" encoding="UTF-8"?>

<mule xmlns="http://www.mulesoft.org/schema/mule/core"
      xmlns:script="http://www.mulesoft.org/schema/mule/scripting"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="
      http://www.mulesoft.org/schema/mule/scripting http://www.mulesoft.org/schema/mule/scripting/3.1/mule-scripting.xsd
      http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/3.1/mule.xsd" >

    <simple-service name="hello" address="http://localhost:8080/hello">
        <script:component>
            <script:script engine="groovy">
                <script:text>return "Hello Mule"</script:text>
            </script:script>
        </script:component>
    </simple-service>
</mule>

丁度、今したことが、XML駆動でMuleアプリケーションを作成したということを覚えて下さい。Mule ESBでは、コンフィグファイルを作成することは、アプリケーションを作成しているのと同じです。

Muleアプリケーションの実行

  1. プロジェクト・エクスプローラーで、作成したconf/mule-config.xmlファイルを選択し、右クリックします。
  2. 実行 > Mule Serverを選択します。

run_MuleServer.png

 

選択するとMuleが開始され、作成したMuleアプリケーションが起動します。Muleアプリケーションが起動すると、ブラウザからhttp://localhost:8080/helloにアクセスします。
Muleアプリケーションが正しくデプロイされていれば、”Hello Mule”というテキストが返却されます。
browser.png

 

More ...

その他、関連情報


添付ファイル: filerun_MuleServer.png 779件 [詳細] fileedit_mule-config.png 791件 [詳細] filecreate_MuleProj2.png 790件 [詳細] filebrowser.png 794件 [詳細] filecreate_MuleProj1.png 807件 [詳細]

トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2011-07-31 (日) 15:01:57 (2518d)