Apache Maven プロジェクトとしてのアダプター
Maven プロジェクトを使用してアダプターの作成、デプロイ、テスト、および構成を行った場合、Maven のシンプルなプロジェクトのセットアップ、効率的な依存関係管理、および IntelliJ や Eclipse などのサポートされる IDE のメリットを享受できます。
Maven リポジトリー
MobileFirst アダプターをサポートする最新の Maven 成果物は、The Central Repository の GroupId com.ibm.mfp で入手可能です。 Maven プロジェクトを作成すると、 Maven は pom.xml ファイルをチェックして、どの依存関係をダウンロードするのかを特定します。
The Central Maven Repository へのオンライン・アクセスが組織で許可されていない場合は、MobileFirst 成果物を保持して共有するためのローカル・リポジトリーを管理者がセットアップする必要があります。 詳しくは、オフライン開発用の内部 Maven リポジトリーのセットアップを参照してください。
Java アダプター Maven プロジェクト
新規 Java™ アダプターを作成すると、以下の構造の Maven プロジェクトが生成されます。
- pom.xml: Maven Project Object Model (POM) ファイルはルート・フォルダー内にあります。 これには、MobileFirst によって開発されたアダプター成果物 adapter-maven-api、adapter-maven-plugin、および mfp-security-checks-base が含まれています。詳しくは、Maven アダプター成果物を参照してください。
- adapter.xml: アダプター・ディスクリプター・ファイルは src/main/adapter-resources の下にあります。詳しくは、Java アダプター・ディスクリプター・ファイルを参照してください。
- <package>: JAX-RS アプリケーションとそれによって必要とされるすべてのソース・ファイルを含む Java パッケージ。これらは src/main/java/ の下に置かれます。詳しくは、アダプターの JAX-RS サービスの実装を参照してください。
JavaScript アダプター Maven プロジェクト
新規 JavaScript アダプターを作成すると、以下の構造の Maven プロジェクトが生成されます。
- pom.xml: Maven Project Object Model (POM) ファイルはルート・フォルダー内にあります。 これには、MobileFirst によって開発されたアダプター成果物 adapter-maven-api、adapter-maven-plugin、および mfp-security-checks-base が含まれています。詳しくは、Maven アダプター成果物を参照してください。
- adapter.xml: アダプター・ディスクリプター・ファイルは src/main/adapter-resources の下にあります。詳しくは、JavaScript アダプター・ディスクリプター・ファイルを参照してください。
- <adapter-name>-impl.js: JavaScript ソース・ファイルを含みます。
Maven アダプター成果物
MobileFirst アダプターには以下の 3 つの主な成果物が含まれており、それらは pom.xml ファイル内で参照されます。
- Maven アダプター API
-
adapter-maven-api は、アダプターの正しいコンパイルに必要な、MobileFirst コードとサード・パーティー依存関係を含みます。
- Maven アダプター・プラグイン
adapter-maven-plugin は、アダプターをビルドしてデプロイするために使用される Maven プラグインです。アダプター構成のプルとプッシュにも使用されます。このプラグインは、pom.xml 内に次のように定義されます。
プラグインには、build、deploy、configpull、および configpush という 4 つのゴールがあります。<plugin> <groupId>com.ibm.mfp</groupId> <artifactId>adapter-maven-plugin</artifactId> <version>8.0.0</version> <extensions>true</extensions> </plugin>-
build ゴールは、関連ファイルをプロジェクトから zip し、依存関係をアダプター・ファイルに追加することによって、 アダプター・ファイルを作成します。このゴールは、アダプター・ファイルを <adapter-name>.adapter という名前でターゲット・ディレクトリー内に作成します。 build ゴールは、Maven ライフサイクルのパッケージ化フェーズの一部として自動的に実行されます。
-
deploy ゴールは、アダプター・ファイルをサーバーにデプロイします。このゴールを使用する場合、pom.xml ファイル内の以下の値が正しいことを確認します。
<properties> <!-- MobileFirst adapter deployment properties --> <mfpfUrl>http://localhost:9080/mfpadmin</mfpfUrl> <mfpfUser>admin</mfpfUser> <mfpfPassword>admin</mfpfPassword> <mfpfRuntime>mfp</mfpfRuntime> </properties>パラメーター mfpfUrl は、アダプターがデプロイされるサーバーの URL です。プロトコルとして HTTPS を使用している場合、サーバーへの接続は暗号化されます。パラメーター mfpfUser と mfpfPassword は、管理サービスのユーザー名とパスワードです。パラメーター mfpfRuntime では、デプロイ先のターゲット・ランタイムを定義します。
注: adapter-maven-plugin の deploy ゴールは、サーバー証明書チェックおよびホスト名チェックをサポートしていません。これは開発環境でのみ使用してください。実動目的の場合、代わりに Ant デプロイヤーを使用してください。詳しくは、Ant を通じた MobileFirst アプリケーションの管理を参照してください。Maven を使用したアダプターのデプロイについて詳しくは、『JavaScript アダプターのデプロイ』および『Java アダプターのデプロイ』を参照してください。
- configpull ゴールは、アダプターの構成を MobileFirst Server からプルし、
mfpfConfigFile パラメーターで指定されたファイルに書き込みます。MobileFirst Server でのアダプターの構成について詳しくは、アダプターの構成を参照してください。このゴールを実行するには、以下のいずれかを実行します。
- pom.xml ファイル内に mfpfConfigFile パラメーターを設定して、出力ファイル名をポイントします。
- コマンドで DmfpfConfigFile オプションを使用して、出力ファイル名を渡します。
例えば、以下のようになります。
mvn adapter:configpull [-DmfpfConfigFile =<path to file>]
- configpush ゴールは、mfpfConfigFile パラメーターに定義された名前のファイルからアダプター構成を MobileFirst Server にプッシュします。MobileFirst Server でのアダプターの構成について詳しくは、アダプターの構成を参照してください。このゴールを実行するには、以下のいずれかを実行します。
- pom.xml ファイル内に mfpfConfigFile パラメーターを設定して、出力ファイル名をポイントします。
- コマンドで DmfpfConfigFile オプションを使用して、出力ファイル名を渡します。
例えば、以下のようになります。
mvn adapter:configpush [-DmfpfConfigFile=<path to file>]
-
- カスタム・セキュリティー・ベース・クラス
- mfp-security-checks-base 依存関係は、アダプターにカスタム・セキュリティー検査を実装することを可能にするベース・クラスを提供します。アダプターがカスタム・セキュリティー検査を使用しない場合、この依存関係を削除またはコメント化できます。
<dependency> <groupId>com.ibm.mfp</groupId> <artifactId>mfp-security-checks-base</artifactId> <version>8.0.0</version> </dependency>カスタム・セキュリティーの実装について詳しくは、セキュリティー検査の実装を参照してください。
サード・パーティー Maven 依存関係
- 成果物が Maven 成果物でない場合は、systemPath エレメントを使用して、それを依存関係として追加することができます。詳しくは、Introduction to the Dependency Mechanism を参照してください。
- 依存関係をアダプターにパッケージせずに使用する場合は、provided スコープを使用します。