一般的な開発戦略

Mule アプリケーションの開発を容易にするには、一般的な開発戦略と方法を考慮します。たとえば、再現可能なビルドを作成したり、設定ファイルをモジュール化したりします。また、信頼性パターン、トランザクションの管理、継続的インテグレーション、Mule のオーケストレーション、およびエンタープライズインテグレーションパターンを実装します。

再現可能なビルドの作成

再現可能なビルドを作成し、特定のバージョンの Mule プロジェクトを任意のタイミングで実行することで、アプリケーションのメンテナンスを容易にします。この目標は次により達成することができます。

  • Mule プロジェクトのソース制御を使用する

  • Apache Maven と社内マネージャーを使用して連動関係を管理する。

詳細は、​「再現可能なビルド」​のドキュメントを参照してください。

信頼性パターンの実装

アプリケーション設計に信頼性パターンを実装し、非トランザクションコネクタからメッセージを受信した場合でも、アプリケーションで信頼性の高いメッセージングができるようにします。信頼性パターン設計では、信頼性の高い取得フローがアプリケーションロジックフローに結合されます。

詳細は、​「信頼性パターン」​のドキュメントを参照してください。

トランザクションの管理の実装

Mule アプリケーションの結果を不確定のままにしておくことができない場合、その Mule アプリケーションにトランザクション操作を実装します。フローの一連のステップが 1 つの単位として成功または失敗する必要がある場合、Mule はトランザクションを使用して、それらのステップを単位として区分します。
さまざまなトランザクション種別およびトランザクションアクション操作の詳細や、メッセージソースまたは Try スコープでトランザクションを設定する方法については、​「トランザクションの管理」​のドキュメントを参照してください。
また、​単一リソーストランザクション​、​XA トランザクション​、​Bitronix を使用したトランザクションの管理​を実装することもできます。

設定ファイルのモジュール化

単体の設定を複数のファイルに分割することで設定ファイルをモジュール化し、Mule の容量を利用してアプリケーションの起動時に複数の設定ファイルを読み込みます。Mule 設定を 1 つのファイルにまとめるのは便利そうに思えるかもしれませんが、XML ファイルが大きすぎると急激に管理しにくくなります。複数のチームが同じプロジェクトで作業を行っているか、再利用に重点が置かれている異なる複数のプロジェクトで作業を行っているかにかかわらず、Mule 設定をモジュール化すると、それらのチームに作業を分割できます。複数の設定ファイルを読み込むオプションは 2 つあります。

  • サイドバイサイド: 読み込む個別の設定ファイルのリストを提供します。

  • インポート: 1 つの設定ファイルで複数のファイルをインポートし、次にインポートされたファイルで他のファイルをインポートします。

詳細は、​「設定ファイルのモジュール化」​のドキュメントを参照してください。

継続的インテグレーションの実装

Maven をビルドツールとして使用して、プロジェクトの継続的インテグレーション (CI) を実装します。プロジェクトの変更ごとにトリガーされるビルドを作成し、その単体テストと機能テストをすべて自動的に実行します。これにより、次のことができます。

  • ソフトウェア開発ライフサイクルの問題の早期通知を取得する。

  • リリース前にコードを完全にテストする。

  • メイン分岐へのマージ時に正常にテストされた分岐が成功しやすくなることを確認する。

詳細は、​「継続的インテグレーション」​のドキュメントを参照してください。

Mule のオーケストレーションの実装

Mule のオーケストレーションを実装し、フローに基づいて Mule 実装内でデータを移動するプロセスを容易にします。オーケストレーションでは、さまざまなアプリケーションや情報システムのビジネス固有のサービスを組み合わせたビジネスレベルのプロセスが実装されます。 オーケストレーションを行うフローのユースケースを次に示します。

  • シンプルなインテグレーション。

  • データ処理のスケジューリング。

  • クラウドアプリケーションとオンプレミスアプリケーションの接続。

  • 複数のサービスを構成して同時に動作させる必要があるイベント処理。

詳細は、​「Mule を使用したオーケストレーション」​のドキュメントを参照してください。

エンタープライズインテグレーションパターンの実装

エンタープライズインテグレーションパターンをメッセージングシステムやインテグレーションシステムの設計とビルドのソリューションとして実装するだけでなく、エンタープライズインテグレーションパターンを実装して、ソリューションの設計時にチームが使用する共通言語を提供します。
詳細は、​「Mule を使用したエンタープライズインテグレーションパターン」​のドキュメントを参照してください。

ビジネスイベント追跡の設定

Mule アプリケーションは、ビジネストランザクションを処理するフローおよびメッセージプロセッサーに関するビジネスイベント情報を収集できます。サポートされるコンポーネントやフロー全体に対してデフォルトイベント追跡を設定できます。また、Custom Business Events コンポーネントを使用してカスタムイベント追跡を設定することもできます。

詳細は、​「ビジネスイベント」​のドキュメントを参照してください。

アプリケーションの共有

複数のチームが同じプロジェクトで作業を行っているか、再利用が意図されている異なる複数のプロジェクトで作業を行っているかにかかわらず、Mule アプリケーションを共有して、それらのチームに作業を分割します。

詳細は、​「アプリケーションの共有」​のドキュメントを参照してください。

Mule アプリケーション作成のベストプラクティス

アプリケーションを作成する場合は、見やすく整理された持続性の高いプロジェクトを作成するために、以下のベストプラクティスを考慮してください。これらのプラクティスには、Anypoint Studio の使用、アプリケーション作成時の問題の回避、Mule Runtime Engine (Mule) のコンポーネントやコネクタを使用するための設定に関するガイドラインが含まれています。

詳細は、​「Mule アプリケーション作成のベストプラクティス」​ドキュメントを参照してください。