Adapter als Apache-Maven-Projekte

Wenn Sie Maven-Projekte verwenden, um Adapter zu erstellen, zu implementieren, zu testen und zu konfigurieren, profitieren Sie von der einfachen Einrichtung von Maven-Projekten, vom effizienten Abhängigkeitsmanagement sowie von unterstützten IDEs wie IntelliJ und Eclipse.

Maven-Repositorys

Aktuelle Maven-Artefakte, die MobileFirst-Adapter unterstützen, sind im Central Repository unter der Gruppen-ID (GroupId) com.ibm.mfp verfügbar. Wenn Sie ein Maven-Projekt erstellen, überprüft Maven Ihre Datei pom.xml, um festzustellen, welche Abhängigkeiten heruntergeladen werden müssen.

Wenn Ihre Organisation keinen Onlinezugriff auf das zentrale Maven-Repository gestattet, muss Ihr Administrator ein lokales Repository für die gemeinsame Nutzung von MobileFirst-Artefakten einrichten. Weitere Informationen finden Sie unter Internes Maven-Repository für die Offlineentwicklung einrichten.

Maven-Projekte für Java-Adapter

Wenn Sie einen neuen Java™-Adapter erstellen, wird ein Maven-Projekt mit folgender Struktur erzeugt:

Abbildung 1. Maven-Projekt für Java-Adapter
Struktur eines regulären Java-Adapters
  • pom.xml: Die POM-Datei (Project Object Model) des Maven-Projekts befindet sich im Stammordner. Sie enthält Verweise auf die Adapterartefakte adapter-maven-api, adapter-maven-plugin und mfp-security-checks-base, die von MobileFirst implementiert wurden. Einzelheiten hierzu finden Sie unter Maven-Adapterartefakte.
  • adapter.xml: Die Adapterdeskriptordatei befindet sich unter src/main/adapter-resources. Weitere Details finden Sie unter Deskriptordatei von Java-Adaptern.
  • <package>: Das Java-Paket mit der JAX-RS-Anwendung und allen erforderlichen Quellendateien für die Anwendung befindet sich unter src/main/java/. Weitere Details finden Sie unter JAX-RS-Service des Adapters implementieren.

Maven-Projekte für JavaScript-Adapter

Wenn Sie einen neuen JavaScript-Adapter erstellen, wird ein Maven-Projekt mit folgender Struktur erzeugt:

Abbildung 2. Maven-Projekt für JavaScript-Adapter
Struktur eines regulären JavaScript-Adapters
  • pom.xml: Die POM-Datei (Project Object Model) des Maven-Projekts befindet sich im Stammordner. Sie enthält Verweise auf die Adapterartefakte adapter-maven-api, adapter-maven-plugin und mfp-security-checks-base, die von MobileFirst implementiert wurden. Einzelheiten hierzu finden Sie unter Maven-Adapterartefakte.
  • adapter.xml: Die Adapterdeskriptordatei befindet sich unter src/main/adapter-resources. Weitere Details finden Sie unter Deskriptordatei von JavaScript-Adaptern.
  • <Adaptername>-impl.js: Enthält die JavaScript-Quellendateien.

Maven-Adapterartefakte

MobileFirst-Adapter enthalten drei Hauptartefakte, auf die in der Datei pom.xml verwiesen wird:

Maven-Adapter-API

adapter-maven-api enthält den MobileFirst-Code und Abhängigkeiten von anderen Anbietern, die für eine ordnungsgemäße Kompilierung des Adapters erforderlich sind.

Maven-Adapter-Plug-in

adapter-maven-plugin ist ein Maven-Plug-in für die Adaptererstellung und -implementierung. Das Plug-in wird auch zum Übertragen der Adapterkonfiguration mit Pull oder Push verwendet. Das Plug-in ist wie folgt in der Datei pom.xml definiert:

<plugin>
    <groupId>com.ibm.mfp</groupId>
    <artifactId>adapter-maven-plugin</artifactId>
    <version>8.0.0</version>
    <extensions>true</extensions>
</plugin>
Das Plug-in hat die vier Ziele build, deploy, configpull und configpush.
  • Mit dem Ziel build wird die Adapterdatei erstellt. Dazu werden die relevanten Dateien aus dem Projekt gezippt und die Abhängigkeiten zur Adapterdatei hinzugefügt. Mit diesem Ziel wird die Adapterdatei mit dem Namen <Adaptername>.adapter im Zielverzeichnis erstellt. Das Ziel build wird im Maven-Lebenszyklus automatisch in der Paketerstellungsphase verwendet.

  • Mit dem Ziel deploy wird die Adapterdatei im Server implementiert. Wenn Sie dieses Ziel verwenden, müssen die folgenden Werte in Ihrer Datei pom.xml korrekt sein:

    <properties>
        <!-- Eigenschaften für MobileFirst-Adapterimplementierung -->
        <mfpfUrl>http://localhost:9080/mfpadmin</mfpfUrl>
        <mfpfUser>admin</mfpfUser>
        <mfpfPassword>admin</mfpfPassword>
        <mfpfRuntime>mfp</mfpfRuntime>
    </properties>

    Der Parameter mfpfUrl ist die URL des Servers, in dem der Adapter implementiert wird. Wenn Sie das Protokoll HTTPS verwenden, wird die Verbindung zum Server verschlüsselt. Die Parameter mfpfUser und mfpfPassword sind der Benutzername und das Kennwort für den Verwaltungsservice. Der Parameter mfpfRuntime definiert die Ziellaufzeit für die Implementierung.

    Anmerkung: Das Ziel deploy von adapter-maven-plugin bietet keine Unterstützung für die Überprüfung von Serverzertifikaten oder Hostnamen. Verwenden Sie dieses Ziel nur in der Entwicklung. Nutzen Sie für Produktionszwecke den Deployer-Ant-Task. Weitere Informationen finden Sie unter MobileFirst-Anwendungen mit Ant verwalten.

    Weitere Informationen zum Implementieren von Adaptern mit Maven finden Sie unter JavaScript-Adapter implementieren und Java-Adapter implementieren.

  • Mit dem Ziel configpull wird die Konfiguration für einen Adapter per Pull vom MobileFirst Server übertragen und in die mit dem Parameter mfpfConfigFile angegebene Datei geschrieben. Weitere Informationen zum Konfigurieren von Adaptern in MobileFirst Server finden Sie unter Adapter konfigurieren. Wenn Sie dieses Ziel verwenden möchten, führen Sie einen der folgenden Schritte aus:
    • Setzen Sie den Parameter mfpfConfigFile in der Datei pom.xml so, dass er auf den Namen einer Ausgabedatei zeigt.
    • Übergeben Sie einen Ausgabedateinamen, indem Sie einen Befehl mit der Option DmfpfConfigFile verwenden. Beispiel:
      mvn adapter:configpull [-DmfpfConfigFile =<Pfad zur Datei>]
    Das Ergebnis ist ein JSON-Objekt.
  • Mit dem Ziel configpush wird die Adapterkonfiguration aus der mit dem Parameter mfpfConfigFile angegebenen Datei per Push zum MobileFirst Server übertragen. Weitere Informationen zum Konfigurieren von Adaptern in MobileFirst Server finden Sie unter Adapter konfigurieren. Wenn Sie dieses Ziel verwenden möchten, führen Sie einen der folgenden Schritte aus:
    • Setzen Sie den Parameter mfpfConfigFile in der Datei pom.xml so, dass er auf den Namen einer Ausgabedatei zeigt.
    • Übergeben Sie einen Ausgabedateinamen, indem Sie einen Befehl mit der Option DmfpfConfigFile verwenden. Beispiel:
      mvn adapter:configpush [-DmfpfConfigFile =<Pfad zur Datei>]
    Das Ergebnis ist ein JSON-Objekt.
Angepasste Basisklassen für Sicherheit:
Die Abhängigkeit mfp-security-checks-base stellt Basisklassen bereit, mit denen Sie angepasste Sicherheitsüberprüfungen in Adaptern implementieren können. Wenn Ihr Adapter keine angepassten Sicherheitsüberprüfungen verwendet, können Sie diese Abhängigkeit löschen oder auf Kommentar setzen.
<dependency>
    <groupId>com.ibm.mfp</groupId>
    <artifactId>mfp-security-checks-base</artifactId>
    <version>8.0.0</version>
</dependency>

Weitere Informationen zur Implementierung der angepassten Sicherheit finden Sie unter Implementierung von Sicherheitsüberprüfungen.

Maven-Abhängigkeiten von anderen Anbietern

Nutzen Sie den Abhängigkeitsmechanismus von Maven, um Aratefakte in Ihr Adapterpaket aufzunehmen. Informationen zu Einschränkungen bei der Verwendung von Abhängigkeiten finden Sie unter Adapter und Abhängigkeiten von anderen Anbietern.
Anmerkung:
  • Wenn das Artefakt kein Maven-Artefakt ist, können Sie mithilfe des Elements systemPath als Abhängigkeit hinzufügen. Weitere Informationen finden Sie unter Introduction to the Dependency Mechanism.
  • Wenn Sie die Abhängigkeit verwenden möchten, ohne sie in das Adapterpaket aufzunehmen, verwenden Sie den Bereich provided.