Mule アプリケーション

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

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

Core コンポーネント

これは、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 向け)」を参照してください。

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

Was this article helpful?

💙 Thanks for your feedback!

Edit on GitHub