[Mule ESBへ戻る]

Muleの仕組み

メッセージがMule ESBを通過する方法を調べると、次の3つのアーキテクチャ層があることがわかります。

  • アプリケーション層
  • インテグレーション層
  • トランスポート層

How+Mule+Works.jpg

同様に、Mule ESBを配置する際、設定やカスタマイズするために実行できるタスクは、一般的には次の3つです。

サービスコンポーネントの開発
ビジネス・ロジック、またはメッセージを拡張するために、新規サービスコンポーネント、または既存のPOJO、サービス、クラウドコネクタ、Spring Beanを再利用したサービスコンポーネントの開発を行います。
サービスオーケストレーション
Muleフローを用いたメッセージプロセッサ、ルーター、トランスフォーマ、およびフィルタを備えたサービスメディエーションの提供と疎結合サービスの構成を可能にしたオーケストレーションを提供します。また新しいオーケストレーション要素も作成し、設定することができます。
インテグレーション
サービスの仲介を行う上で重要な要件は、基本的なプロトコルからサービスを分離することです。Mule ESBは、異なるプロトコルのコネクタにメッセージの送信/受信を許可するトランスポートを提供します。これらのコネクタは、Mule ESBの設定とオーケストレーション層から参照することができます。Mule ESBは、多くの既存トランスポートと一般的な通信プロトコルを全てサポートしていますが、特定のレガシーシステムや独自仕様のシステムをサポートするために、Mule ESBを拡張する必要がある場合には、カスタムトランスポートを開発することがあります。

サービスコンポーネントの作成

ビジネスロジックが含まれているクラス、Webサービス、または他のアプリケーションをサービスコンポーネントとしてMuleのサービスバスに組み込むことができます。既存のJavaクラス、Spring Bean、Groovy Script、クラウドコネクタを使用したり、新しいコンポーネントを作成して利用することができます。 サービスコンポーネントには、Mule ESB固有のコードを含める必要はありません。 サービスコンポーネントをラップしてサービスを構成することもできます。

Muleアプリケーションの開発を支援するツールとして、統合開発環境のEclipse内で動作するMule IDEを利用することができます。

Mule ESBインスタンスの設定

The Mule configuration file allows you to configure all the elements you need in your Mule instance. You use the <configuration> element to set global configuration options such as the threading profile. You then define the connectors, transformers, and endpoints you'll use in different flows. Lastly, you configure flows or service models, which act as containers for services and orchestration elements and apply settings such as the queue profile and error handling to all the services in that flow or service model. For complete information, see Configuring a Mule Instance.

フローの設定

You configure a flow using the <flow> element in the Mule configuration file. The flow creates a composition around the service component(s) that allows you to define how messaged are routed, filtered, transformed and enriched before or after processing by one or a series of service components. Flows are more flexible and robust than the traditional service model in Mule, allowing a more natural and compact means of describing service orchestration. For more information, see Flows.

Mule provides an even more compact notation for commonly used patterns called Configuration Patterns.

サービスの設定

You may also configure a service within a <model> element in the Mule configuration file. The service points to the service component, routers, filters, and transformers. It also specifies the endpoint on which this service will receive messages and the outbound endpoint where messages will go next. For more information, see Configuring the Service.

Following is more information on configuring message processors, routers, filters, and transformers for the service.

メッセージプロセッサ

メッセージプロセッサは、Muleの基本的な構成要素であり、コンポーネント、ルータ、フィルタ、およびトランスフォーマは、すべてメッセージプロセッサの一部です。 これらのカテゴリのいずれにも該当しない他の特別なメッセージプロセッサもあります。 これらはCXFとJersey Webサービスのような特殊なモジュール、BPMには<poll>、<content-enricher>、および<logger>のようないくつかの特殊な統合の要素が含まれます。 また、独自のカスタムメッセージプロセッサを簡単に作成することができます。

Message Processors are the basic building block in Mule and in fact, components, routers, filters, and transformers are all message processors. There are also other special message processors that do not fall in one of those categories. These include a number of specialized modules like CXF and Jersey Web Services, BPM, as well as a few specialized integration elements like <poll>, <content-enricher>, and <logger>. You can also easily create your own custom message processor.

ルータ

インバウンドルータは、メッセージがサービスにルーティングされる方法を指定できます。 アウトバウンドルータは、サービスの処理が終了した後にメッセージがルーティングされる方法を指定します。 ルータは、デフォルトでいくつか用意されており、使用することができます。またはルータを独自に作成することができます。

フィルタ

フィルタは、サービスにルーティングされるメッセージのために、満たさなければならない条件を指定します。 フィルタは、デフォルトでいくつか用意されており、使用することができます。またはフィルタを独自に作成することができます。

トランスフォーマ

トランスフォーマは、サービスコンポーネントで必要とされる型に設定されるペイロードデータを変換します。 サービスがメッセージ処理を完了した後に、アウトバウンドトランスポートによって、必要に応じて別の型にメッセージを変換することができます。 トランスフォーマは、デフォルトでいくつか用意されており、使用することができます。またはトランスフォーマを独自に作成することができます。

トランスポートとコネクタ

Mule ESBは、ファイル、FTP、HTTP、JMS、JDBC、Quartzなどを含む、多くの異なるチャネルをデフォルトのトランスポートとして提供します。 トランスポートは、コネクタを使用してチャネルと通信します。

クラウドコネクタ

クラウドコネクタは、既存のトランスポート上でアプリケーションのAPIと対話すために使用されるメッセージプロセッサです。実際には、大半がHTTPを利用しています。 クラウドコネクタは、代表的なSaaSアプリケーション、ソーシャルメディア、クラウドインフラストラクチャサービス、およびクラウドベースのデータサービスに接続します。

Muleの拡張

Mule ESBは、自身を拡張するための完全なAPIセットを提供しています。次の代表的な要素をカスタマイズできます。

  • クラウドコネクタ
  • トランスポート
  • カスタムメッセージプロセッサ
  • カスタムトランスフォーマ
  • コンフィグレーション・パターン

About Mule Configuration

Understanding the Mule Architecture

About SOA

Mediation - Separating Business Logic from Messaging

Orchestration - Routing Messages Between Service Components

Components - Processing the Data

Endpoints - Wiring Everything Together

Understanding the Logical Data Flow

Policy Enforcement

Understanding Enterprise Integration Patterns Using Mule

Understanding Orchestration Using Mule

Understanding Configuration Patterns Using Mule

Connecting with Transports and Cloud Connectors

Using Mule with Web Services


トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2011-08-03 (水) 11:39:43 (2664d)