Zum Inhalt springen

Veröffentlichen Sie eine Jitterbit App Builder-App als REST-API-Endpunkt

Übersicht

App Builder ermöglicht es Ihnen, die Daten einer Anwendung als REST-API zu veröffentlichen, damit externe Systeme diese mit einem API-Schlüssel zur Authentifizierung lesen und schreiben können, anstatt für jeden Consumer eine benutzerdefinierte Integration zu erstellen. Diese Seite führt Sie durch ein vollständiges Beispiel: Offenlegen einer customers-Tabelle aus einer Northwinds-Anwendung als REST-Ressource und anschließendes Generieren eines API-Schlüssels, den ein bestimmter Benutzer verwenden kann, um ihn aufzurufen.

Hinweis

Wenn Sie diese App in ein LP-Paket packen und in einer anderen Umgebung bereitstellen, wird die Endpunktkonfiguration in IDE > REST APIs automatisch beibehalten. Jede andere Konfiguration in dieser Anleitung muss in jeder zusätzlichen Umgebung manuell neu erstellt werden.

Die Schritte sind:

Schritt 1: Einen Sicherheitsanbieter-API-Schlüssel einrichten

Um Ihre REST-API zu sichern, benötigen Sie zunächst einen API-Schlüssel-Sicherheitsanbieter, den App Builder verwendet, um den Schlüssel zu validieren, den jeder Aufrufer präsentiert:

  1. Wählen Sie IDE > Security Providers.

  2. Klicken Sie auf + Security Provider. Die Seite Provider wird geöffnet:

    Provider-Seite

  3. Geben Sie dem Anbieter einen Name. Zum Beispiel: API Key.

  4. Wählen Sie API Key als Type-Wert.

  5. Aktivieren Sie Enabled.

  6. Klicken Sie auf Save.

Abhängig von Ihrem Anwendungsfall können Sie eine der folgenden optionalen Eigenschaften konfigurieren. Klicken Sie auf + Property im Panel Properties, um das Dialogfeld Properties zu öffnen:

Dialogfeld „Properties"

  • Um den API-Schlüssel zu Testzwecken in die Adressleiste Ihres Browsers eingeben zu können (nicht empfohlen außer zum Testen, da dies nicht sehr sicher ist), wählen Sie AllowApiKeyInQueryString als Parameter und geben Sie True als Value ein. Klicken Sie dann auf das -Häkchen, um den Datensatz zu speichern.

  • Um zu ermöglichen, dass der API-Schlüssel über eine unsichere HTTP-Verbindung übergeben wird (nicht empfohlen), wählen Sie AllowInsecureHttp als Parameter und geben Sie True als Value ein. Klicken Sie dann auf das -Häkchen, um den Datensatz zu speichern.

Schritt 2: Einen Endpunkt konfigurieren

Auf die REST-API jeder Anwendung wird über ein Basispfad-Segment zugegriffen, den Endpunkt der Anwendung. Befolgen Sie diese Schritte zum Konfigurieren eines:

  1. Wählen Sie IDE > REST APIs.

  2. Klicken Sie im Panel Services auf die Schaltfläche Manage Endpoints. Das Dialogfeld Applications wird geöffnet:

    Dialogfeld „Applications"

  3. Klicken Sie auf das -Bearbeitungssymbol für die Anwendung, die Sie konfigurieren möchten. Zum Beispiel: Northwinds Design.

  4. Geben Sie den Endpunktwert in das Feld Endpoint ein. Zum Beispiel: northwinds.

  5. Klicken Sie auf die Schaltfläche Proceed oder auf das -Häkchen. Beide speichern den Endpunktwert. Die Zeile der Anwendung zeigt nun ihre Spalten Logging, Publish API Doc und Authentication.

  6. (Ab App Builder 4.67. Wenn Sie eine frühere Version verwenden, fahren Sie mit Schritt 3 fort.) Verknüpfen Sie die Anbieter, die zur Authentifizierung der Anfragen dieses Endpunkts zulässig sind:

    1. Klicken Sie für die Anwendung auf das -Symbol Authentication. Das Dialogfeld Authentication Providers wird geöffnet:

Authentication Providers-Dialog

  1. Klicken Sie auf + Authentication. Das Dialog Provider wird geöffnet:

    Provider-Dialog

  2. Wählen Sie einen der konfigurierten API-Schlüssel-, HTTP- oder Authorization Server-Provider aus. Das Feld Scheme wird automatisch mit dem Schema dieses Providers gefüllt – einem eindeutigen Namen, der den Provider in URLs und JSON-Dokumenten identifiziert. Optional können Sie eine Description eingeben und dann auf Save klicken. Wiederholen Sie die Schritte 2 und 3 für jeden zusätzlichen Provider, der Anfragen an diesen Endpunkt authentifizieren soll.

  3. Schließen Sie das Dialog.

    Hinweis

    Diese Option ist in einer versiegelten Anwendung nicht verfügbar. Klicken Sie für eine versiegelte Anwendung stattdessen auf das Symbol in ihrer Spalte Web Service unter Applications, wodurch dieses Dialog Authentication Providers von außerhalb der App geöffnet wird.

Schritt 3: Eine Ressource veröffentlichen

Mit einem Application Endpoint können Sie jetzt ein spezifisches Business Object als Ressource veröffentlichen, die externe Systeme aufrufen können. Dabei kontrollieren Sie, wie viele Daten zurückgegeben werden, die Schemaversion und welche Events verfügbar gemacht werden. Gehen Sie wie folgt vor:

  1. Wählen Sie IDE > REST APIs.

  2. Suchen Sie im Bereich Services die Anwendung und klicken Sie auf das Chevron-Symbol auf ihrer Kachel. Die Seite REST API für diese Anwendung wird geöffnet und zeigt ihre Eigenschaften unter Service und ihre Resources in einer Ansicht.

  3. Klicken Sie im Bereich Resources auf + Resource. Das Dialog Resource wird geöffnet:

    Resource-Dialog

  4. Legen Sie die folgenden Werte fest:

    • Table: Wählen Sie die Tabelle oder das Business Object aus, das diese Ressource verfügbar macht. Nachdem die Ressource gespeichert wurde, werden die Symbole und neben diesem Feld anklickbar und führen Sie zur Seite Table Definition der Tabelle oder zur Seite Rule Builder des Business Objects (in der App Workbench). Je nach ausgewählter Tabelle oder Business Object ist jeweils nur eines der beiden verfügbar.

    • Endpoint: Geben Sie das Pfadsegment ein, über das die API auf diese Ressource zugreift.

    • GET Default Limit und/oder GET Max Limit: Steuern Sie die Anzahl der Datensätze, die bei GET-Aufrufen an Ihren API-Endpunkt zurückgegeben werden.

    • Compatibility: (Optional, seit App Builder 4.51.) Steuert das Verhalten der Ressource. Mit Compatibility kann App Builder neue Endpunkt-Funktionalität über Versionen hinweg einführen und gleichzeitig das Verhalten vorhandener Endpunkte für Rückwärtskompatibilität bewahren. Wählen Sie eine der folgenden Optionen:

      • Version 1: Verwenden Sie das ursprüngliche REST-Verhalten, bei dem Insert-Events nicht durch New-Events vorangegangen werden. (Standard für Endpunkte, die mit App Builder 4.50 und früher erstellt wurden.)

      • Version 2: Verwenden Sie verbessertes REST-Verhalten, bei dem New-Events und alle Standardregeln vor Insert-Events aufgerufen werden. (Standard für Endpunkte, die mit App Builder 4.51 erstellt wurden.)

      • Version 3: (Seit App Builder 4.52.) Wie Version 2, aber APIs geben den logischen Wert statt des Speicherwerts zurück. Zum Beispiel werden boolesche Werte als true oder false statt als 1 oder 0 zurückgegeben. (Standard für Endpunkte, die mit App Builder 4.52 und später erstellt wurden.)

    • Exclude From Documentation: (Optional, seit App Builder 4.67.) Aktivieren Sie diese Option, um diese Ressource aus dem veröffentlichten OpenAPI-Dokument der App auszuschließen, auch wenn die Dokumentationspublikation für die REST-API insgesamt aktiviert ist.

    • Description: (Optional.) Eine Beschreibung der Ressource, die im veröffentlichten OpenAPI-Dokument der App enthalten ist.

  5. Klicken Sie auf Save.

  6. Die Registerkarte Nodes des Dialogs listet den impliziten Stammknoten dieser Ressource sowie alle untergeordneten Knoten auf, die Sie hinzufügen. Klicken Sie auf das Detailsymbol eines Knotens, um seinen Node-Dialog zu öffnen: siehe Node-Parameter und Node-Felder, um zu steuern, welche seiner Felder standardmäßig in die Antwort einbezogen werden, oder Untergeordneten Knoten hinzufügen, um zusätzliche Daten unter dieser Ressource zu verschachteln.

  7. (Seit App Builder 4.67.) Erweitern Sie in den Service-Eigenschaften das Menü Mehr, und klicken Sie dann auf die Schaltfläche Authentifizierung konfigurieren. Dies öffnet denselben Authentication Providers-Dialog wie in Schritt 2, der die bereits mit diesem Endpunkt verknüpften Anbieter anzeigt und es ermöglicht, bei Bedarf neue hinzuzufügen:

    Menü „Mehr", Schaltfläche „Authentifizierung konfigurieren"

    Dialog „Authentication Providers"

Hinweis

Benutzerdefinierte Ereignisse werden nicht mehr automatisch verfügbar gemacht. Verwenden Sie die Registerkarte Events des Dialogs Resource, um auszuwählen, welche Ereignisse über die API verfügbar sind. Siehe Benutzerdefinierte Ereignisse aufrufen für Details.

Schritt 4: API-Schlüssel für Benutzer konfigurieren

Abschließend ein API-Schlüssel generieren, der an einen bestimmten Benutzer gebunden ist, damit die Identität und die Berechtigungen dieses Benutzers für jede mit diesem Schlüssel gestellte Anforderung gelten:

  1. Wählen Sie IDE > User Management aus.

  2. Wählen Sie einen vorhandenen Benutzer aus oder erstellen Sie einen neuen Benutzer für den API-Aufruf.

    • Der Benutzer muss mit dem Anmeldetyp Interactive konfiguriert werden.

    • Der Benutzer benötigt keine Local Authentication.

  3. Klicken Sie auf dem Datensatz des ausgewählten oder erstellten Benutzers auf das Symbol Keys.

  4. Klicken Sie auf Create. Der Dialog Generate Key wird geöffnet:

    Dialog „Generate Key"

  5. Wählen Sie den in Schritt 1 erstellten API-Schlüssel-Provider als Provider aus, und klicken Sie dann auf Save. App Builder generiert einen Schlüsselwert.

    Wichtig

    Kopieren Sie den generierten Schlüssel jetzt. Er kann nicht erneut angezeigt werden, wenn Sie diesen Bildschirm verlassen.

Tipp

Optional können Sie Rollen oder Sicherheitsgruppen für die als Endpunkte zugegriffenen Objekte einrichten.

Um die neuen API-Endpunkte zu testen oder ihre Verwendung einzurichten, verwenden Sie den API Key aus dem vorherigen Schritt, die Informationen zu Base URL und Endpoint aus dem API-Dokument sowie den Name aus den Ressourcendetails.

Hinweis

Sie können auch ein OpenAPI (Swagger)-Dokument veröffentlichen, das diesen Endpunkt beschreibt, damit andere Anwendungen der Harmony-Plattform (wie API Manager) sowie externe Tools von Drittanbietern ihn automatisch ermitteln können.