Mule アプリケーション

通常は、Mule アプリケーションを作成してシステムインテグレーションを実行します。Mule アプリケーションは Mule Runtime で実行するように設定されています。Mule アプリケーションへの要求により、Mule は要求およびデータを Mule イベントでエンコードし、単一または複数のスレッドに渡します。

Mule アプリケーションの主な構成要素はコンポーネントです。コンポーネントはアプリケーションを経由するメッセージでビジネスロジックを実行します。コンポーネントには 3 つのカテゴリがあります: コアコンポーネント、connectors​ という名前のコレクションにグループ化されるコンポーネント、modules​ という名前のコレクションにグループ化されるコンポーネント。

コアコンポーネント

これは、Mule Runtime の機能のコアを構成する個別のコンポーネントです。次に、コアコンポーネントでアプリケーションに追加できる機能の例を挙げます。

  • フローまたはサブフローの一部の非同期処理

  • メッセージの一括処理

  • サブフローの初期化

  • ログ記録

  • ペイロードの設定

  • DataWeave 言語を使用したメッセージの変換

  • エラーをキャッチして対応するためのフローでの Try スコープの作成

たとえば、Choice ルータはメッセージコンテンツを評価する DataWeave 式のセットに従ってフローを経由するメッセージを動的にルーティングするコンポーネントです。各式は、異なるルーティングオプションに関連付けられます。これにより、大部分のプログラミング言語の if​/then​/else​ コードブロックのような条件付き処理がフローに追加されます。

Anypoint Studio のコアコンポーネントのリスト
Figure 1. Anypoint Studio のコアコンポーネントのリスト

コンポーネントドキュメントについては、「コアコンポーネント」​を参照してください。

コネクタ

コネクタは、サードパーティ API や標準インテグレーションプロトコルなどの外部リソースと MuleSoft アプリケーションのインテグレーションを容易にするために作成されたコンポーネントをグループにまとめたものです。コネクタにより、SaaS やオンプレミスアプリケーション、システム、サービスへの接続が可能になります。

たとえば、Salesforce コネクタには、Salesforce プラットフォーム API を使用して多数のさまざまな操作を実行できるコンポーネントが用意されています。

Anypoint Studio でリストされた Salesforce コネクタおよびその操作
Figure 2. Anypoint Studio でリストされた Salesforce コネクタおよびその操作

コネクタドキュメントについては、「コネクタおよびモジュール (Mule 4 向け)」​を参照してください。

モジュール

モジュールは、値の圧縮データの集約、Java 機能の使用、JSON を処理するための追加機能の使用などを可能にすることで、アプリケーションの柔軟性を高めるために作成されたコンポーネントをグループにまとめたものです。モジュールによって提供される機能は、従来のアプリケーションコーディングのレベルではさらに増えます。

たとえば、XML モジュールには XML ドキュメントからデータを抽出して処理できるコンポーネントが用意されています。

Anypoint Studio でリストされた XML モジュールおよびそのコンポーネント
Figure 3. Anypoint Studio でリストされた XML モジュールおよびそのコンポーネント

アプリケーション用の Mule 設定ファイル

Mule アプリケーションは Mule 設定ファイル​で定義されます。. このファイルは、アプリケーションを実行するために必要な連動関係を指定する XML ドキュメントです。この設定ファイルでは、XML を手動で記述できます。

Design Center または Anypoint Studio のグラフィカルユーザインターフェースを使用して Mule アプリケーションの動作を構造化して定義することもできます。これらの GUI のいずれかを使用したとしても、基になる XML は提供されます。
Studio では、XML を表示したり編集したりすることもできます。

モジュールドキュメントについては、「コネクタおよびモジュール (Mule 4 向け)」​を参照してください。

Was this article helpful?

💙 Thanks for your feedback!