Informationen zum benutzerdefinierten API-Design
In Oracle Mobile Hub können Sie benutzerdefinierte REST-APIs erstellen, die von Ihren Apps verwendet werden können.
Wenn Sie App-Entwickler sind, können Sie mit dem API Designer die von Ihnen definierten Endpunkte skizzieren und testen. Anschließend müssen Serviceentwickler die Details der API ausfüllen (Ressourcentypen oder -merkmale hinzufügen, ein Schema angeben und den Zugriff auf die API und ihre Endpunkte festlegen) und sie in JavaScript implementieren. Als Serviceentwickler können Sie mit API Designer explizit eine vollständige API konfigurieren, die Sie mit Mock-Daten testen können. Alternativ können Sie benutzerdefinierte APIs aus einem REST- oder Fusion Applications-Connector generieren, ohne Code zu schreiben.
Im Gegensatz zu den Oracle Mobile Hub-Plattform-APIs, die ein Kernset bekannter Services bereitstellen, können Sie mit benutzerdefinierten APIs Node.js jeden Service codieren, den Ihre App benötigt und der über eine REST-Schnittstelle veröffentlicht wird. Sie können Daten mit einem Oracle Mobile Hub-Connector an einen Backend-Service weiterleiten, der komplexe Daten in mobilfähige Payloads umwandelt. Indem Sie benutzerdefinierte APIs verwenden, um einen Katalog wiederverwendbarer Services zu erstellen, können Sie viel Zeit sparen, die sonst in regelmäßigen Abständen mit der Neuerstellung und Verwaltung von Implementierungsdetails in Ihren mobilen Anwendungen verbracht werden könnte.
Informationen zum API-Designprozess
Der API-Designer führt Sie durch den Prozess zum Erstellen einer benutzerdefinierten API.
In wenigen Schritten können Sie schnell eine Entwurfsversion der API erstellen:
-
Fügen Sie die Grundlagen hinzu (Name der API, Nachrichtenmedientyp und kurze Beschreibung).
-
Definieren Sie einen Endpunkt, indem Sie eine Ressource und mindestens eine Methode dafür festlegen.
-
Zugriffssicherheit einrichten
-
Testen Sie den Endpunkt, nachdem Sie mindestens eine Ressource definiert haben.
Sie können Mock-Daten erstellen, um einen Endpunkt schnell zu testen und zu validieren, auch wenn Sie die Konfiguration der API noch nicht abgeschlossen haben. Wenn Sie den Nachrichtentext definieren, können Sie Platzhalterwerte angeben, um zu prüfen, ob die korrekten Daten gesendet oder zurückgegeben werden.
Um die API vollständig abzuschließen, können Sie mit dem API-Designer die wichtigsten Komponenten für eine robuste API hinzufügen:
-
Geben Sie die API-Metadaten an (d.h. die grundlegenden Attribute der API, bei denen es sich um den API-Anzeigenamen, den API-Namen und die Kurzbeschreibung handelt). Wenn Sie bereits über ein RAML-Dokument verfügen, das die Konfiguration der API enthält, können Sie es in den API-Designer hochladen. Alle Informationen (Metadaten, Ressourcen, Methoden und das Schema für den Nachrichtentext) werden aus dem RAML-Dokument extrahiert und in API Designer geladen. So können Sie schnell mit dem Testen Ihrer Endpunkte oder der Bearbeitung Ihrer API-Konfiguration fortfahren.
-
Fügen Sie eine oder mehrere Root- und verschachtelte Ressourcen hinzu.
-
Fügen Sie Methoden hinzu, um auf die Ressourcen zu reagieren.
-
Erstellen Sie ein Schema, um den Text der Daten zu beschreiben.
-
Testen Sie Ihre Endpunkte während der Entwurfszeit mit Beispieldaten, und nehmen Sie bei Bedarf Änderungen vor.
-
Erlauben Sie anonymen Zugriff auf Ihre API, oder geben Sie an, welche Rollen darauf zugreifen können.
-
Dokumentation für Ihre benutzerdefinierte API hinzufügen
Wenn Sie später weitere APIs erstellen, können Sie feststellen, dass Sie immer wieder dieselben Methoden definieren und dieselben Parameter verwenden usw. Sie können die Redundanz reduzieren, indem Sie Ressourcentypen und -merkmale erstellen. Wenn sich Ihre API noch im Entwurfsstatus befindet, können Sie zu Ihrer Konfiguration zurückkehren und die von Ihnen definierten Ressourcentypen und Eigenschaften hinzufügen.
Benutzerdefinierte APIs für Connectors generieren
Oracle Mobile Hub kann benutzerdefinierten Code aus Connectors generieren, um eine Verbindung zu externen Services herzustellen. Als Serviceentwickler können Sie einen Oracle Fusion Applications-Connector oder einen REST-Connector auswählen, der mit einem gültigen Deskriptor erstellt wurde, die benutzerdefinierte API generieren und die generierte API verwenden, um den Aufruf dieser Services aus den Implementierungen Ihrer benutzerdefinierten APIs oder direkt aus einer App zu erleichtern.
Mit einem Connector kann ein mobiles Backend mit einem externen Service wie einem Unternehmenssystem oder APIs von Drittanbietern kommunizieren. Dadurch kann eine mobile Anwendung wiederum mit den Funktionen dieses Service interagieren. Eine Connector-API ist eine Konfiguration für die Kommunikation mit einem bestimmten externen Service zum Senden und Empfangen von Daten.
Als Serviceentwickler können Sie eine benutzerdefinierte API generieren, die Methoden einer Connector-API bereitstellt und eine Standardimplementierung bereitstellt, ohne Code zu schreiben.
Die benutzerdefinierte API wird mit einem Endpunkt für jede Ressource in der Connector-API generiert. Sie wird im API-Designer geöffnet, damit Sie weiterhin Details der API angeben können, wie Rollen. Die Standardimplementierung, die alle Anforderungen aus der generierten benutzerdefinierten API an die Ziel-Connector-API weiterleitet, wird ebenfalls generiert und der generierten API zugewiesen. Sobald Sie der API Rollen zugewiesen haben, die für die Sicherheit auf dem Connector erforderlich sind, können Sie die API mit der Implementierung testen. Sie können die Implementierung herunterladen und ändern und dann hochladen.
Die Möglichkeit, eine benutzerdefinierte API für einen Connector zu erstellen, bedeutet, dass es viel einfacher ist, einen Prototyp zu erstellen, mit dem Sie einen Connector testen. Wenn Sie Dinge finden, die Sie ändern möchten, können Sie schnell eine Änderung am Connector vornehmen und eine neue benutzerdefinierte API und Implementierung generieren. Wenn Sie zufrieden sind, können Sie eine endgültige Version der benutzerdefinierten API und Implementierung generieren.
- Entwickeln Sie einen REST-Connector oder Oracle Fusion Cloud Applications-Connector, der mit einem Deskriptor definiert wird.
- Generieren Sie die benutzerdefinierte API aus dem Connector. Es wird im API-Designer geöffnet, in dem Sie eine oder mehrere Rollen definieren oder die für die API erforderliche Authentifizierung angeben können.
- Sie können die generierte API sofort vom Mobilgerät aus aufrufen. Die Standardimplementierung durchläuft alle Anforderungen, die von der generierten API an die Ziel-Connector-API kommen.
- Sie sollten die Implementierung wahrscheinlich herunterladen und ändern, um die zurückgegebenen Daten zu formen.
- Sie können den Connector erneut aufrufen und Änderungen an den Connector-Ressourcen oder dem Deskriptor vornehmen. In diesem Fall müssen Sie eine neue benutzerdefinierte API und Implementierung generieren. Wenn Sie Änderungen an der generierten benutzerdefinierten API vornehmen, werden diese Änderungen nicht im Connector widergespiegelt. Nehmen Sie die entsprechenden Änderungen im Connector vor, und generieren Sie dann die benutzerdefinierte API und die Implementierung erneut.
Sie können nur eine benutzerdefinierte API für einen REST- oder Oracle Fusion Cloud Applications-Connector generieren, der mit einem Deskriptor definiert wird. Sie können keine benutzerdefinierte API für einen anderen Connector-Typ generieren oder wenn der REST- oder Oracle Fusion Cloud Applications-Connector keinen Deskriptor aufweist.
Wenn Sie mehrteilige Formulardaten senden oder das Optionsobjekt http
verwenden möchten, müssen Sie die Methode callConnector
in der Implementierung möglicherweise durch Ihren eigenen Code ersetzen.
REST-Connector-APIs
Sie können Connector-APIs erstellen, um eine Verbindung zu externen REST-Services herzustellen. Anschließend können Sie diese Connector-APIs über die Implementierungen Ihrer benutzerdefinierten APIs aufrufen.
Funktionsweise von REST-Connector-APIs
Eine REST-Connector-API ist eine Zwischen-API zum Aufrufen von REST-Endpunkten in Unternehmenssystemen oder APIs von Drittanbietern. Die Connector-API hat die Form einer Konfiguration, mit der Ihre Apps eine Standardverbindung zu diesen REST-Services herstellen und die Sicherheits-, Diagnose- und anderen Features von Oracle Mobile Hub nutzen können.
Der Connector kommuniziert und übergibt Informationen über das HTTPS-Protokoll zwischen dem Client und dem Server. Die übergebenen Informationen können in Form von XML oder JSON vorliegen (aber nur in JSON für Services, die auf Swagger-Deskriptoren basieren).
Der REST-Connector-API-Assistent führt Sie durch das Erstellen von REST-Connector-APIs, von der Angabe eines Remoteservice und dem Festlegen von Sicherheits-Policys bis zum Testen Ihrer Endpunkte.
Warum Connectors anstelle von direkten Anrufen externer Ressourcen verwenden?
Die Verwendung einer REST-Connector-API bietet Ihnen die folgenden Vorteile gegenüber direkten Aufrufen von Ihrem App-Code zu externen Ressourcen:
-
Ermöglicht eine vereinfachte deklarative Verbindung und Policy-Konfiguration.
-
Legt mit einem Swagger-Deskriptor die verfügbaren Ressourcen fest und erstellt Endpunkte für Sie.
-
Bietet Ihnen umfangreiche Diagnoseinformationen, da sie eng in das Oracle Mobile Hub-Diagnose-Framework integriert sind. Alle ausgehenden REST-Aufrufe, die über Connector-APIs ausgeführt werden, werden protokolliert, was beim Debugging erheblich hilft.
-
Ermöglicht die Verfolgung und Analyse der Remote-API-Nutzung.
-
Ermöglicht die Definition der Interaktion mit dem Service zur Entwurfszeit beim Testen der Gültigkeit Ihrer Endpunkte, sodass die Bedingungen dieser Interaktion nicht von der Benutzereingabe zur Laufzeit abhängig sind. Dies schützt sowohl das Endsystem als auch Ihr mobiles Backend vor Schäden.
-
Bietet einen konsistenten Designansatz zwischen mehreren Connector-Typen für die Interaktion mit externen Services.
-
Mit jeder Änderung der Schnittstelle für einen Service können Sie alle erforderlichen Updates, Tests und Migrationen an einem Ort verarbeiten.