Java アダプターおよび JavaScript アダプターの作成

improve this page | report issue

概説

アダプターを作成するには、Maven コマンドまたは MobileFirst CLI を使用できます (Maven がインストールされ、構成されているかどうかによって異なります)。 その後、任意の IDE (Eclipse や IntelliJ など) を使用して、アダプター・コードを編集し、ビルドすることができます。 このチュートリアルでは、Maven および MobileFirst CLI を使用して Java アダプターまたは JavaScript アダプターを作成、ビルド、およびデプロイする方法について説明します。 Eclipse IDE または IntelliJ IDE を使用してアダプターの作成およびビルドを行う方法については、Eclipse でのアダプターの開発チュートリアルを参照してください。

前提条件: 最初に必ず、アダプターの概説をお読みください。

ジャンプ先

Maven のインストール

アダプターを作成するには、まず Maven をダウンロードしてインストールする必要があります。 Apache Maven Web サイトに移動し、Maven のダウンロードおよびインストール方法の手順に従ってください。

MobileFirst CLIを使用したアダプターの作成

MobileFirst CLI のインストール

ダウンロードページのインストール手順に従って MobileFirst CLI をインストールします。
前提条件: Developer CLI を使用してアダプターを作成するには、Maven がインストールされている必要があります。

アダプターの作成

Maven アダプター・プロジェクトを作成するには、mfpdev adapter create コマンドを使用します。 コマンドを対話式で実行するか直接実行するかを選択することができます。

対話モード

  1. コマンド・ライン・ウィンドウを開いて、以下のコマンドを実行します。

    mfpdev adapter create
    
  2. アダプター名を入力してください。 以下に例を示します。

    ? Enter Adapter Name: SampleAdapter
    
  3. 矢印キーと Enter キーを使用して、アダプター・タイプを選択します。

    ? Select Adapter Type:
       HTTP
       SQL
    ❯ Java
    
         * JavaScript HTTP アダプターを作成するには、`HTTP` を選択します。
         * JavaScript SQL アダプターを作成するには、`SQL` を選択します。  
         * Java アダプターを作成するには、`Java` を選択します。
    
  4. アダプター・パッケージを入力します (このオプションは Java アダプターの場合にのみ有効です)。 以下に例を示します。

    ? Enter Package: com.mypackage
    
  5. ビルドする Maven プロジェクトのグループ ID を入力します。 以下に例を示します。

    ? Enter Group ID: com.mycompany
    

直接モード

プレースホルダーを実際の値で置き換えて、コマンドを実行します。

mfpdev adapter create <adapter_name> -t <adapter_type> -p <adapter_package_name> -g <maven_project_groupid>

Maven アーキタイプ「adapter-maven-archetype」を使用したアダプターの作成

「adapter-maven-archetype」は、Mobile Foundation 提供のアーキタイプで、Maven アーキタイプ・ツールキットに基づいていて、Maven でアダプター Maven プロジェクトを作成するために使用されます。

Maven アダプター・プロジェクトを作成するには、archetype:generate Mavenコマンドを使用します。 このコマンドを実行すると、Maven は、アダプター Maven プロジェクトを生成するために必要なファイルをダウンロードします (または前に説明したローカル・リポジトリーを使用します)。

コマンドを対話式で実行するか直接実行するかを選択することができます。

対話モード

  1. コマンド・ライン・ウィンドウから、選択した場所にナビゲートします。
    これは、Maven プロジェクトが生成される場所でもあります。

  2. DarchetypeArtifactId プレースホルダーを実際の値で置き換えて、実行します。

    mvn archetype:generate -DarchetypeGroupId=com.ibm.mfp -DarchetypeArtifactId=replace-with-the-adapter-type-artifact-ID
    
  • アーキタイプ・グループ ID およびアーキタイプ・バージョンは、アーキタイプを識別するための必須パラメーターです。
  • アーキタイプ成果物 ID は、アダプター・タイプを識別するための必須パラメーターです。
    • Java アダプターを作成するには、adapter-maven-archetype-java を使用します。
    • JavaScript HTTP アダプターを作成するには、adapter-maven-archetype-http を使用します。
    • JavaScript SQL アダプターを作成するには、adapter-maven-archetype-sql を使用します。
  1. ビルドする Maven プロジェクトのグループ ID を入力します。 以下に例を示します。

    Define value for property 'groupId': : com.mycompany
    
  2. Maven プロジェクトの成果物 ID を入力します。この ID は、後でアダプター名としても使用されます。 以下に例を示します。

    Define value for property 'artifactId': : SampleAdapter
    
  3. Maven プロジェクトのバージョンを入力します (デフォルトは 1.0-SNAPSHOT です)。 以下に例を示します。

    Define value for property 'version':  1.0-SNAPSHOT: : 1.0
    
  4. アダプターのパッケージ名を入力します (デフォルトは groupId です)。 以下に例を示します。

    Define value for property 'package':  com.mycompany: : com.mypackage
    
  5. y を入力して確認します。

    Confirm properties configuration:
    groupId: com.mycompany
    artifactId: SampleAdapter
    version: 1.0
    package: com.mypackage
    archetypeVersion: 8.0.0
    Y: : y
    

直接モード

プレースホルダーを実際の値で置き換えて、コマンドを実行します。

mvn archetype:generate -DarchetypeGroupId=com.ibm.mfp -DarchetypeArtifactId=<adapter type artifact ID> -DgroupId=<maven_project_groupid> -DartifactId=<maven_project_artifactid>  -Dpackage=<adapter_package_name>

archetype:generate コマンドについて詳しくは、Maven の資料を参照してください。

ファイル構造

アダプターを作成すると、結果は src フォルダーおよび pom.xml ファイルが含まれた Mavenプロジェクトになります。

mvn-adapter

アダプターのビルドとデプロイ

ビルド

  • MobileFirst CLI を使用する場合 - プロジェクトのルート・フォルダーから adapter build コマンドを実行します。

    mfpdev adapter build
    
  • Maven を使用する場合 - install コマンドを実行して Maven プロジェクトをビルドするたびに、アダプターがビルドされます。

    mvn install
    

すべてビルド

ファイル・システム・フォルダー内に複数のアダプターがあり、それらをすべてビルドするには、以下を使用します。

mfpdev adapter build all

結果は .adapter アーカイブ・ファイルになります。このファイルは、各アダプターのターゲット・フォルダーに入っています。

java-adapter-result

デプロイ

  1. pom.xml ファイルには以下の properties が含まれます。

    <properties>
     	<!-- parameters for deploy mfpf adapter -->
     	<mfpfUrl>http://localhost:9080/mfpadmin</mfpfUrl>
     	<mfpfUser>admin</mfpfUser>
     	<mfpfPassword>admin</mfpfPassword>
     	<mfpfRuntime>mfp</mfpfRuntime>
    </properties>
    
    • localhost:9080 を、MobileFirst Server IP アドレスおよびポート番号で置き換えます。
    • オプションmfpfUser および mfpfPassword のデフォルト値を、管理ユーザー名およびパスワードで置き換えます。
    • オプションmfpfRuntime のデフォルト値をランタイム名で置き換えます。
  2. プロジェクトのルート・フォルダーから deploy コマンドを実行します。

    • MobileFirst CLI を使用する場合:
    mfpdev adapter deploy -x
    

    -x オプションを指定した場合、アダプターは、アダプターの pom.xml ファイルで指定された MobileFirst Server にデプロイされます。
    このオプションを使用しない場合、CLI は CLI 設定で指定されたデフォルトのサーバーを使用します。

    他の CLI デプロイメント・オプションについては、コマンド mfpdev help adapter deploy を実行してください。

  • Maven を使用する場合:

    mvn adapter:deploy
    

すべてデプロイ

ファイル・システム・フォルダー内に複数のアダプターがあり、それらをすべてデプロイするには、以下を使用します。

mfpdev adapter deploy all

ヒント: 単一コマンド mvn install adapter:deploy を使用して、アダプターを作成してデプロイすることもできます。

別のランタイムへのデプロイ

複数のランタイムを実行する場合、別のランタイムへのアプリケーションの登録とアダプターのデプロイを参照してください。

依存関係

外部ライブラリーをアダプターで使用するには、次のいずれかの推奨手順に従ってください。

ローカル依存関係の追加

  1. ルートの Maven プロジェクト・フォルダーの下に lib フォルダーを追加し、その中に外部ライブラリーを入れます。
  2. Maven プロジェクトの pom.xml ファイル内の dependencies エレメントの下に、ライブラリー・パスを追加します。

以下に例を示します。

<dependency>
<groupId>sample</groupId>
<artifactId>com.sample</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/</systemPath>
</dependency>

外部依存関係の追加

  1. 中央リポジトリーなどのオンライン・リポジトリーで依存関係を検索します。
  2. POM 依存関係情報をコピーし、Maven プロジェクトの pom.xml ファイルの dependencies エレメントの下に貼り付けます。

以下の例では、cloudant-client artifactId を使用しています。

<dependency>
  <groupId>com.cloudant</groupId>
  <artifactId>cloudant-client</artifactId>
  <version>1.2.3</version>
</dependency>

依存関係について詳しくは、Maven の資料を参照してください。

単一の Maven プロジェクトへのアダプターのグループ化

プロジェクト内に複数のアダプターがある場合、それらを単一の Maven プロジェクトの下に配置できます。 アダプターをグループ化すると、すべてビルドしたり、すべてデプロイしたり、依存関係を共有したりできるという利点が得られます。 アダプターが単一の Maven プロジェクトにグループ化されていない場合でも、mfpdev adapter build all CLI コマンドおよび mfpdev adapter deploy all CLI コマンドを使用して、すべてのアダプターのビルドやデプロイを行うこともできます。

アダプターをグループ化するには、以下のことを行う必要があります。

  1. ルート・フォルダーを作成し、それに、例えば「GroupAdapters」などの名前を付けます。
  2. Maven アダプター・プロジェクトをその中に入れます。
  3. pom.xml ファイルを作成します。

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    
     	<modelVersion>4.0.0</modelVersion>
     	<groupId>com.sample</groupId>
     	<artifactId>GroupAdapters</artifactId>
     	<version>1.0-SNAPSHOT</version>
     	<packaging>pom</packaging>
    
     	<modules>
                 <module>Adapter1</module>
                 <module>Adapter2</module>
     	</modules>
    
     	<properties>
     		<!-- parameters for deploy mfpf adapter -->
     		<mfpfUrl>http://localhost:9080/mfpadmin</mfpfUrl>
     		<mfpfUser>admin</mfpfUser>
     		<mfpfPassword>admin</mfpfPassword>
         <mfpfRuntime>mfp</mfpfRuntime>
     	</properties>
    
    <build>
         <plugins>
             <plugin>
                 <groupId>com.ibm.mfp</groupId>
                 <artifactId>adapter-maven-plugin</artifactId>
                 <extensions>true</extensions>
             </plugin>
         </plugins>
    </build>
    
    </project>
    
  4. 任意の groupId エレメントを定義します。
  5. artifactId エレメント (ルート・フォルダーの名前) を追加します。
  6. 各アダプターの module エレメントを追加します。
  7. build エレメントを追加します。
  8. オプションlocalhost:9080 を特定の MobileFirst Server IP アドレスおよびポート番号で置き換えます。
  9. オプションmfpfUser および mfpfPassword のデフォルト値を、管理ユーザー名およびパスワードで置き換えます。
  10. オプションmfpfRuntime のデフォルト値をランタイム名で置き換えます。

  11. すべてのアダプターをビルドまたはデプロイするには、ルートの「GroupAdapters」プロジェクトから Maven コマンドを実行します。

MobileFirst Operations Consoleを使用したアダプターのダウンロードまたはデプロイ

  1. 任意のブラウザーを開き、アドレス http://<IP>:<PORT>/mfpconsole/ を使用して MobileFirst Operations Console をロードします。
  2. 「アダプター」の横にある「新規」ボタンをクリックします。 アダプターを作成するには以下の 2 つのオプションがあります。
    • 前に説明したように、Maven または MobileFirst CLI を使用する。
    • テンプレート・アダプター・プロジェクトをダウンロードする (ステップ 2)。
  3. Maven または MobileFirst CLI を使用してアダプターをビルドします。
  4. 以下のいずれかの方法を選択して、生成された .adapter ファイルをアップロードします。このファイルはアダプター・プロジェクトのターゲット・フォルダーに入っています。
    • 「アダプターのデプロイ」ボタンをクリックします (ステップ 5)。
    • ファイルを「新規作成」アダプターの画面にドラッグ・アンド・ドロップします。

    コンソールを使用したアダプターの作成

  5. アダプターが正常にデプロイされたら、以下のタブが含まれた詳細ページが表示されます。
    • 「構成」 - アダプター XML ファイルで定義されたプロパティー。 ここで、構成を変更できます。再度デプロイする必要はありません。
    • 「リソース」 - アダプター・リソースのリスト。
    • 「構成ファイル」 - DevOps 環境で使用するためのアダプター構成データ。

アダプター Maven プロジェクトの更新

アダプター Maven プロジェクトを最新リリースで更新するには、Maven の中央リポジトリー で「IBM MobileFirst Platform」を検索して API およびプラグイン成果物のバージョン番号を見付け、アダプター Maven プロジェクトの pom.xml ファイル内で以下のプロパティーを更新します。

  1. adapter-maven-api バージョンの場合:

    <dependency>
       <groupId>com.ibm.mfp</groupId>
       <artifactId>adapter-maven-api</artifactId>
       <scope>provided</scope>
       <version>8.0.2016061011</version>
    </dependency>
    
  2. adapter-maven-plugin バージョンの場合:

    <plugin>
       <groupId>com.ibm.mfp</groupId>
       <artifactId>adapter-maven-plugin</artifactId>
       <version>8.0.2016061011</version>
       <extensions>true</extensions>
    </plugin>
    

オフライン作業

Maven 中央リポジトリーにオンラインでアクセスできない場合、組織の内部リポジトリーで Mobile Foundation Maven 成果物を共有できます。

  1. ダウンロード・ページにアクセスし、IBM MobileFirst Foundation Developer Kit インストーラーをダウンロードします。
  2. MobileFirst Server を始動し、ブラウザーで、URL: http://<your-server-host:server-port>/mfpconsole から MobileFirst Operations Console をロードします。
  3. 「ダウンロード・センター」をクリックします。 「ツール」→「アダプターのアーキタイプ」「ダウンロード」をクリックします。 mfp-maven-central-artifacts-adapter.zip アーカイブがダウンロードされます。
  4. install.sh スクリプト (Linux および Mac の場合) または install.bat スクリプト (Windows の場合) を実行して、アダプター・アーキタイプおよびセキュリティー検査を内部 Maven リポジトリーに追加します。
  5. adapter-maven-api には、以下の JAR ファイルが必要です。 これらが、開発者のローカル .m2 フォルダーまたは組織の Maven リポジトリーのいずれかに配置されていることを確認してください。 これらは、中央リポジトリーからダウンロードできます。
    • javax.ws.rs:javax.ws.rs-api:2.0
    • javax:javaee-web-api:6.0
    • org.apache.httpcomponents:httpclient:4.3.4
    • org.apache.httpcomponents:httpcore:4.3.2
    • commons-logging:commons-logging:1.1.3
    • javax.xml:jaxp-api:1.4.2
    • org.mozilla:rhino:1.7.7
    • io.swagger:swagger-annotations:1.5.6
    • com.ibm.websphere.appserver.api:com.ibm.websphere.appserver.api.json:1.0
    • javax.servlet:javax.servlet-api:3.0.1

次に使用するチュートリアル

Inclusive terminology note: The Mobile First Platform team is making changes to support the IBM® initiative to replace racially biased and other discriminatory language in our code and content with more inclusive language. While IBM values the use of inclusive language, terms that are outside of IBM's direct influence are sometimes required for the sake of maintaining user understanding. As other industry leaders join IBM in embracing the use of inclusive language, IBM will continue to update the documentation to reflect those changes.
Last modified on February 28, 2020