Unterprozesse in APIs verwenden
Mit Unterprozessen können Sie einen Teil der Integrationslogik in wiederverwendbare Komponenten verschieben. Diese Unterprozesse können von mehreren Prozessen verwendet werden. Dies gilt auch für Prozesse, die mit API-Endpunkten verknüpft sind. Mithilfe von Unterprozessen können Sie allgemeine Funktionen aus dem verknüpften Prozess verschieben und nur Teile der Funktionalität in den verknüpften Prozess implementieren, der für diesen bestimmten Endpunkt eindeutig ist.
Ein weiterer nützlicher Fall für Unterprozesse ist die Verschiebung der Prozessausführung in eine andere Agentengruppe. Dieser Unterprozessaufruf wird als Remote-Unterprozess bezeichnet. Auf diese Weise können Sie Ihre API in einer Agentengruppe hosten, während Sie einige der Funktionen in einer anderen Agentengruppe ausführen.
Als Nächstes werden wir uns einige Anwendungsfälle für beide Szenarien ansehen.
Ähnliche Logik mit unterschiedlichen Endpunkten
Angenommen, Sie haben zwei verschiedene API-Endpunkte zum Abrufen von Kunden aus einer Datenbank. Vom ersten API-Endpunkt aus können Sie alle Kunden abrufen. Vom zweiten API-Endpunkt aus können Sie einen Kunden mit einer bestimmten ID abrufen. Beide API-Endpunkte rufen dieselben Daten ab, aber der zweite gibt nur einen Kunden zurück. Wir können die gesamte Logik in beide Prozesse implementieren, die mit den API-Endpunkten verknüpft werden, aber es wäre besser, einen Unterprozess zu implementieren, in dem Sie das eigentliche Abrufen der Daten implementieren können. Sie können den Unterprozess so parametrisieren, dass Sie die Kunden-ID an den Unterprozess übergeben können oder nichts an den Unterprozess übergeben. Auf diese Weise können Sie Logik implementieren, um verschiedene Abfragen zu unterstützen: eine zum Abrufen aller Kunden und eine zum Abrufen nur eines Kunden anhand der Kunden-ID. Sie können diesen Unterprozess dann an beide verknüpften Prozesse anhängen. Auf diese Weise müssen Sie dieselbe Funktionalität nicht zweimal implementieren.
Paralleles Hosten mehrerer API-Versionen
Nachdem Sie eine API veröffentlicht haben, sollten Sie sie nicht mehr ändern, sondern eine neue Version der API mit Änderungen oder neuen Funktionen erstellen. Auf diese Weise können Benutzer die alte Version der API weiter verwenden und nach der Veröffentlichung auf die neue Version umsteigen. In Frends bedeutet dies, dass Sie die vorhandene OpenAPI-Spezifikation in eine neue OpenAPI-Spezifikation mit einer anderen Version kopieren müssen. Dies ist für die Spezifikation einfach, aber Sie können vorhandene verknüpfte Prozesse nicht an die neue Spezifikation anhängen, da ein API-Trigger nur mit einer OpenAPI-Spezifikation verknüpft werden kann. Um der neuen Version der Spezifikation Funktionen hinzuzufügen, müssen wir neue verknüpfte Prozesse erstellen. Unterprozesse sind in dieser Situation ein nützliches Werkzeug. Sie können die Logik des verknüpften Prozesses der älteren Version in einen Unterprozess umwandeln, den Sie dann im alten verknüpften Prozess aufrufen können. Dann können Sie im neuen verknüpften Prozess denselben Unterprozess aufrufen und im verknüpften Prozess selbst darauf aufbauen. Auf diese Weise müssen Sie nicht zwei verknüpfte Prozesse mit derselben Funktionalität implementieren und pflegen, sondern können einen Unterprozess verwenden, um dieselbe Funktionalität in mehreren API-Versionen zu implementieren.
Endpunkte für den Zugriff auf Ressourcen
Angenommen, Sie möchten eine API erstellen, über die Benutzer Daten aus Ihrer Datenbank abrufen können. Die Datenbank ist durch eine Firewall geschützt und nur ein bestimmter Agent kann auf die Datenbank zugreifen. Normalerweise bedeutet dies, dass Sie die API in diesem bestimmten Agenten hosten müssen, damit verknüpfte Prozesse Abfragen an die Datenbank ausführen können. Dies ist jedoch häufig keine Option, da dies den Zugriff vom öffentlichen Web auf den Agenten erfordern würde. Um dieses Problem zu lösen, können wir die API in einem anderen Agenten hosten und Datenbankabfragen mit dem Agenten ausführen, der Zugriff auf die Datenbank hat. Zur Implementierung können Remote-Subprozesse verwendet werden, da sie die Aufteilung der Ausführung eines Prozesses auf mehrere verschiedene Agenten ermöglichen. Voraussetzung für diese Lösung ist, dass sich die Agentengruppe, in der die API gehostet wird, und die Agentengruppe, die den Agenten enthält, der Zugriff auf die Datenbank hat, in derselben Umgebung befinden müssen, da Sie die Ausführung von Prozessschritten nicht zwischen verschiedenen Umgebungen aufteilen können, sondern nur zwischen Agentengruppen, die in derselben Umgebung vorhanden sind.
Der nächste Artikel istEinführung in das Schreiben von API-Spezifikationen.
Verwandte ArtikelEinführung in den Call-SubprozessEinführung in Teilprozesse und ProzesshierarchieEinführung in die Verwendung von Unterprozessen in anderen ProzessenBewährte Methoden zum Zugriff auf Ressourcen mit Remote-SubprozessenEinführung in die Funktionsweise von Frends-APIs