Zum Inhalt springen

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

Übersicht

Mit App Builder können Sie die Daten einer Anwendung als REST-API veröffentlichen, damit externe Systeme diese mithilfe eines API-Schlüssels 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: Bereitstellung einer customers-Tabelle aus einer Northwinds-Anwendung als REST-Ressource und anschließende Generierung eines API-Schlüssels, den ein bestimmter Benutzer zum Aufrufen verwenden kann.

Hinweis

Wenn Sie diese App in ein LP verpacken und in einer anderen Umgebung bereitstellen, bleibt die Endpunktkonfiguration in IDE > REST APIs automatisch erhalten. Jede andere Konfiguration in diesem Leitfaden muss in jeder zusätzlichen Umgebung manuell neu erstellt werden.

Die Schritte sind:

Schritt 1: Richten Sie einen API-Schlüssel-Sicherheitsanbieter ein

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 + User Authentication im Bereich User Authentication. Das Dialogfeld Provider wird geöffnet:

    provider dialog

  3. Weisen Sie dem Anbieter einen Namen zu. Beispiel: API Key.

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

  5. Aktivieren Sie das Kontrollkästchen Enabled.

  6. Klicken Sie auf Save.

Je nach Anwendungsfall können Sie eine der folgenden optionalen Eigenschaften konfigurieren. Klicken Sie auf + Property im Bereich Properties, um das Dialogfeld Properties zu öffnen:

properties dialog

  • Um den API-Schlüssel zum Testen in die Adressleiste Ihres Browsers eingeben zu können (nicht empfohlen, 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: Konfigurieren Sie einen Endpunkt

Auf die REST-API jeder Anwendung wird über ein Basissegment des Pfads zugegriffen, ihren Anwendungsendpunkt. Führen Sie diese Schritte aus, um einen zu konfigurieren:

  1. Wählen Sie IDE > REST APIs.

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

    Applications dialog

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

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

  5. Klicken Sie auf die Schaltfläche Proceed oder auf das -Häkchen-Symbol. 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 zum Authentifizieren der Anfragen dieses Endpunkts zulässig sind:

    1. Klicken Sie auf das -Symbol Authentication für die Anwendung. 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. Geben Sie optional eine Description ein und klicken Sie auf Save. Wiederholen Sie die Schritte 2 und 3 für jeden zusätzlichen Provider, den Sie für die Authentifizierung der Anfragen dieses Endpunkts zulassen möchten.

  3. Schließen Sie das Dialog.

Schritt 3: Eine Ressource veröffentlichen

Mit einem Anwendungsendpunkt können Sie nun ein bestimmtes Geschäftsobjekt als Ressource veröffentlichen, die externe Systeme aufrufen können. Sie steuern dabei, wie viele Daten es zurückgibt, seine Schemaversion und welche Events verfügbar gemacht werden. Führen Sie diese Schritte aus:

  1. Wählen Sie IDE > REST APIs.

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

  3. Klicken Sie im Panel 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 Geschäftsobjekt 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 Geschäftsobjekts (in der App Workbench). Für eine bestimmte Ressource ist immer nur eines der beiden verfügbar, je nachdem, ob Sie eine Tabelle oder ein Geschäftsobjekt ausgewählt haben.

    • 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 bestehender 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 von New-Events vorangegangen werden. (Standard für Endpunkte, die mit App Builder 4.50 und früher erstellt wurden.)

      • Version 2: Verwenden Sie ein 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.) Identisch mit Version 2, aber APIs geben den logischen Wert statt des Speicherwerts zurück. Beispielsweise 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 Dokumentationsveröffentlichung 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 zusammen mit allen untergeordneten Knoten auf, die Sie hinzufügen. Klicken Sie auf das Detailsymbol eines Knotens, um sein Dialog Node zu öffnen: siehe Node parameters und Node fields, um zu steuern, welche seiner Felder standardmäßig in der Antwort enthalten sind, oder Add a child node, um zusätzliche Daten unter dieser Ressource zu verschachteln.

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

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

    Dialog „Authentifizierungsanbieter"

Hinweis

Benutzerdefinierte Ereignisse werden nicht mehr automatisch verfügbar gemacht. Verwenden Sie die Registerkarte Ereignisse im Dialog Ressource, um auszuwählen, welche Ereignisse über die API verfügbar sind. Weitere Informationen finden Sie unter Benutzerdefinierte Ereignisse aufrufen.

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

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

  1. Wählen Sie IDE > Benutzerverwaltung.

  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 Interaktiv konfiguriert sein.

    • Der Benutzer benötigt keine Lokale Authentifizierung.

  3. Klicken Sie in dem Datensatz des ausgewählten oder erstellten Benutzers auf das Symbol Schlüssel.

  4. Klicken Sie auf Erstellen. Der Dialog Schlüssel generieren wird geöffnet:

    Dialog „Schlüssel generieren"

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

    Wichtig

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

Tipp

Optional können Sie Rollen oder Sicherheitsgruppen für die Objekte einrichten, auf die als Endpunkte zugegriffen wird.

Um die neuen API-Endpunkte zu testen oder zu verwenden, nutzen Sie den API-Schlüssel aus dem vorherigen Schritt, die Informationen zu Basis-URL und Endpunkt aus dem API-Dokument sowie den Namen 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 erkennen können.