MobileFirst Server V8.0.0 で動作するようにするための既存のアダプターのマイグレーション

improve this page | report issue

概説

MobileFirst Server の v8.0 以降、アダプターは Maven プロジェクトになりました。 以前のバージョンの MobileFirst Server で開発されたアダプターをアップグレードする方法について説明します。

このページでは、MobileFirst Server V6.2 以降で動作するように開発されたアダプターをマイグレーションして、それらが MobileFirst Server v8.0 で動作するようにするために実行するステップについて説明します。
まず、v8.0 で非推奨となったフィーチャー、および v8.0 での API エレメントとサーバー・サイド API の変更に記載されている、アダプター API の変更について調べます。

マイグレーション・アシスト・ツールを使用したアダプターのマイグレーション

既存のアダプターのマイグレーションは、マイグレーション・アシスト・ツールを使用すると、より簡単になります。 詳しくは、こちらを参照してください。

MobileFirst Server v8.0 で古いアダプターをそのまま使用する

既存のアダプターは、以下のいずれの条件にも一致していなければ、MobileFirst Server v8.0 にそのままデプロイできます。

アダプター・タイプ 条件
Java PushAPI または SecurityAPI のインターフェースを使用している
JavaScript
  • IBM Worklight V6.2 以前を使用してビルドされた。
  • HTTP でも SQL でもない接続タイプを使用している。
  • securityTest のカスタマイズが適用されたプロシージャーが含まれている
  • ユーザー ID を使用してバックエンドに接続するプロシージャーが含まれている
  • 以下のいずれかの API を使用している
    • WL.Device.*
    • WL.Geo.\*
    • WL.Server.readSingleJMSMessage
    • WL.Server.readAllJMSMessages
    • WL.Server.writeJMSMessage
    • WL.Server.requestReplyJMSMessage
    • WL.Server.getActiveUser
    • WL.Server.setActiveUser
    • WL.Server.getCurrentUserIdentity
    • WL.Server.getCurrentDeviceIdentity
    • WL.Server.createEventSource
    • WL.Server.createDefaultNotification
    • WL.Server.getUserNotificationSubscription
    • WL.Server.notifyAllDevices
    • WL.Server.notifyDeviceToken
    • WL.Server.notifyDeviceSubscription
    • WL.Server.sendMessage
    • WL.Server.createEventHandler
    • WL.Server.setEventHandlers
    • WL.Server.setApplicationContext
    • WL.Server.fetchNWBusinessObject
    • WL.Server.createNWBusinessObject
    • WL.Server.deleteNWBusinessObject
    • WL.Server.updateNWBusinessObject
    • WL.Server.getBeaconsAndTriggers
    • WL.Server.signSoapMessage
    • WL.Server.createSQLStatement

MobileFirst Server v8.0 用の Maven プロジェクトへの Java アダプターのマイグレーション

  1. archetype として adapter-maven-archetype-java を使用して、Maven アダプター・プロジェクトを作成します。 パラメーター artifactId を設定する際に、アダプター名を使用します。パラメーター package には、既存の Java アダプター内のものと同じパッケージを使用します。 詳しくは、Java アダプターの作成を参照してください。
  2. ステップ 1 で作成した新規アダプター・プロジェクトの src/main/adapter-resources フォルダー内にあるアダプター記述子ファイル (adapter.xml) を上書きします。記述子について詳しくは、Java アダプター記述子ファイルを参照してください。
  3. 新規アダプター・プロジェクトの src/main/java フォルダーからファイルをすべて削除します。 次に、古い Java アダプター・プロジェクトの src/ フォルダーからすべての Java ファイルをコピーします。ただし、同じフォルダー構造を保持してください。 古いアダプターの src フォルダーからすべての非 Java ファイルを新規アダプターの src/main/resources フォルダーにコピーします。 デフォルトでは、src/main/resources は存在しないため、アダプターに非 Java ファイルが含まれている場合は、そのフォルダーを作成します。 Java アダプター API の変更については、V8.0 でのサーバー・サイド API の変更を参照してください。

    以下の図で、v7.1 までのアダプターおよび v8.0 からの Maven アダプターの構造を示します。

     ├── adapters
     │   └── RSSAdapter
     │       ├── RSSAdapter.xml
     │       ├── lib
     │       └── src
     │           └── com
     │               └── sample
     │                   ├── RSSAdapterApplication.java
     │                   └── RSSAdapterResource.java
    

    新しい Java アダプター構造:

     ├── pom.xml
     ├── src
     │   └── main
     │       ├── adapter-resources
     │       │   └── adapter.xml
     │       └── java
     │           └── com
     │               └── sample
     │                   ├── RSSAdapterApplication.java
     │                   └── RSSAdapterResource.java
    
  4. 以下のいずれかの方法を使用して、Maven リポジトリーにない JAR ファイルを追加します。
    • Guide to installing 3rd party JARs』の説明に従って JAR ファイルをローカル・リポジトリーに追加してから、それらのファイルを dependencies エレメントに追加する。
    • systemPath エレメントを使用して JAR ファイルを dependencies エレメントに追加する。 詳しくは、Introduction to the Dependency Mechanism を参照してください。

MobileFirst Server v8.0 用の Maven プロジェクトへの JavaScript アダプターのマイグレーション

  1. archetype として adapter-maven-archetype-http または adapter-maven-archetype-sql を使用して、Maven アダプター・プロジェクトを作成します。 パラメーター artifactId を設定する際に、アダプター名を使用します。 詳しくは、JavaScript アダプターの作成を参照してください。
  2. ステップ 1 で作成した新規アダプター・プロジェクトの src/main/adapter-resources フォルダー内にあるアダプター記述子ファイル (adapter.xml) を上書きします。記述子について詳しくは、JavaScript アダプター記述子ファイルを参照してください。
  3. 新規アダプター・プロジェクトの src/main/adapter-resources/js フォルダーにある JavaScript ファイルを上書きします。
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 June 16, 2020