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

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

Anypoint Studio のベストプラクティス

Anypoint Studio を使用して Mule アプリケーションを作成する場合は、以下のプラクティスを考慮してください。

  • Anypoint Studio の最新バージョンに更新する。

  • 各 Studio バージョンで推奨される Java バージョン (OpenJDK) を使用する。

  • 自動環境では Mule Maven プラグインを導入する (CI/CD プロセスによって実行)。

プロジェクト構造の定義

Anypoint Studio で見やすく構造化された読みやすいプロジェクトを維持するためには、以下の推奨事項を考慮してください。

  • 設定要素などのグローバル要素に対して個別の XML ファイルを作成する。

  • ユースケースやリソース実装ごとに個別の XML ファイルを作成する。

  • 共通の構造やロジックに対して個別の XML ファイルを作成する。

  • DataWeave、WSDL、例など、リソースごとに異なるパッケージを作成する。

インデントと書式の追加

Anypoint Studio でアプリケーションプロジェクトを作成する場合は、以下の点を考慮してください。

  • すべての XML ファイル (Mule XML、​pom.xml​、​log4j2.xml​ など) をソースコードリポジトリにコミットする前に、インデントと書式設定を追加する。

  • Anypoint Studio XML エディターのプリファレンスで線の幅 (例: 140.d​) を定義する。

  • 命名規則を定義する。

環境ごとのプロパティ管理

各環境で個別の変数セットを作成しなくても済むように、Mule 4 にはデフォルト値を設定できるようにしたメカニズムが組み込まれており、Anypoint Runtime Manager を使用して管理できます。詳細は、​「個別の XML ファイルを作成する」​と​「プロパティの設定」​を参照してください。

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

Mule アプリケーションを作成する場合には、すべての環境の設定ファイルをアプリケーション内にパッケージすることは避けてください。その代わりに、​.yaml​ ファイルを使用してデフォルトのプロパティを提供し、デプロイ時に Anypoint Runtime Manager を使用してこれらのプロパティを個別に上書きします。

コンポーネントコネクタのベストプラクティス

Mule コンポーネントとコネクタを使用してアプリケーションを作成する場合は、以下の推奨事項を考慮してください。

APIkit

APIkit を使用する場合は、以下のプラクティスを考慮してください。

  • APIkit 機能を使用して、自分の API 仕様を使用してフローを自動的に生成する。

  • APIkit の例外戦略を使用して、コネクタ関連の例外をキャッチする。

DataWeave

DataWeave を使用してアプリケーションを作成する場合は、以下の推奨事項を考慮してください。

  • 開発フェーズではインラインスクリプトを使用する。

  • インラインスクリプトを外部ファイルに渡すことで、見やすい XML を再利用可能なスクリプトを実現する。

フロー

アプリケーションのフローを作成する場合は、以下のプラクティスを考慮してください。

  • ユースケースのステップを示した見やすいフロー図を用意する。

  • フローリファレンスを使用して、共通ロジックを分離して再利用する。

File Connector

ファイル用の Anypoint Connector (File Connector) を使用して大量の読み取りや他のファイル操作のパスの一部を共有する場合は、基本パスをファイル設定に抽出して再利用してください。

<file:config name="File_Config" >
   <file:connection workingDir="/Example/path" />
</file:config>

<flow>
   <file:read config-ref="File_Config" path="manual.txt" />
   <file:read config-ref="File_Config" path="readme.txt" />
</flow>

HTTP と HTTPS

オンプレミスデプロイメントの HTTP および HTTPS ポートには、CloudHub デプロイメントで予約されているプロパティプレースホルダーの名前を使用することをお勧めします。 CloudHub の共有ロードバランサーでは、これらのプロパティにデフォルトが使用されます。

  • CloudHub では ​${http.port}​ が設定 ​port=8081​、​${https.port}​ が ​port=8082​ にマップされます。

  • CloudHub デプロイメントの HTTP サービスへの内部ポートの場合、​${http.private.port}​ が設定 ​port=8091​、​${https.private.port}​ が ​port=8092​ にマップされます。

CloudHub でのこれらの設定についての詳細は、​「CloudHub の予約されたプロパティ」​および CloudHub ネットワークガイドを参照してください。

Apache Kafka Connector

Apache Kafka 用の Anypoint Connector (Apache Kafka Connector) を使用する場合は、以下のアクションを実行してください。

  • .properties​ ファイルを使用して、ブートストラップサーバー設定を追加する。

  • .yaml​ ファイルまたは ​.properties​ ファイルにプロパティのプレースホルダーを追加して、設定でこれらのファイルを使用する

config.bootstrapServers={your Kafka Server address}
config.consumerPropertiesFile=consumer.properties
config.producerPropertiesFile=producer.properties
# Consumer specific information
consumer.topic=one-replica
consumer.topic.partitions=1
  • Apache Kafka Connector は、プロデューサーとコンシューマーのプロパティのさまざまな設定を用意しています。独自の設定は、​src/main/resource​ にある ​consumer.properties​ ファイルと ​producer.properties​ ファイルに追加できます。

<configuration-properties file="mule-app.properties"/>