3 bewährte Methoden zur Validierung von APIs

IFTTT-Plattformen, TDD-Methoden und Integrationsplattformen machen Entwicklern das Leben leichter, wenn sie ihre eigenen APIs prototypisieren und testen oder die APIs von Drittanbietern verstehen wollen. [...]

Hier sind drei verschiedene Ansätze zur API-Validierung (c) pixabay.com

Hier ist eine Situation, mit der sicher schon viele Softwareentwickler konfrontiert waren, wenn sie eine neue Anwendung erstellen oder verbessern mussten.

Der Product Owner definiert ein Epos und mehrere Features, die eine Integration mit einer neuen SaaS-Anwendung erfordern. Sie hat mehrere Annahmen darüber getroffen, welche Funktionen die SaaS-Plattform in ihren APIs bereitstellt, und hat diese in die Anforderungen an den Workflow und die Front-End-Anwendung eingebettet. Sie erwartet, dass das agile Entwicklungsteam einen Spike durchführt, idealerweise in einem Sprint, um diese Annahmen zu validieren.

Die Frage ist, wie einfach ist es für das Entwicklungsteam, diese Untersuchung durchzuführen und idealerweise Proofs of Concept zu implementieren, die die Annahmen validieren?

Denken Sie daran, dass diese Validierungen über die Überprüfung der Endpunkte hinausgehen müssen, welche Transaktionen und Ansichten sie offenlegen. Sie sollten auch die Datenqualität prüfen, die Leistung berücksichtigen und letztendlich bestimmen, welche Entwicklungsarbeit erforderlich ist, um die Anforderungen mit den verfügbaren APIs zu erfüllen. Die Entwickler sollten auch die erforderlichen Berechtigungen und andere Sicherheitsüberlegungen als Teil dieser Bewertung überprüfen. 

Können Sie diese Herausforderung in einem Sprint bewältigen, idealerweise ohne zu viel Code zu schreiben?

Da die Integration mit APIs eine häufige Anwendungs- und Datenintegrationsanforderung ist, sollten Entwicklungsteams den Einsatz von Tools in Betracht ziehen, die bei der Überprüfung von Fähigkeiten und dem Testen von Annahmen helfen. Organisationen, die mit vielen SaaS-, Unternehmens- und anderen Tools von Drittanbietern integrieren, sollten auch Integrationsplattformen in Betracht ziehen, die die Entwicklung beschleunigen, robuste Integrationsfunktionen bieten und auch operative Funktionen rund um die Integrationen ausführen können.

Hier sind drei verschiedene Ansätze zur API-Validierung.

Welche Integrationen ermöglichen die IFTTT-Plattformen?

Nehmen wir an, die Anforderung ist die Integration mit einer häufig genutzten SaaS-Plattform. In diesem Fall besteht ein einfacher Ansatz darin, zu prüfen, welche Aktionen und Auslöser If This Then That (IFTTT)-Plattformen ermöglichen, welche Daten erforderlich sind, um die API auszulösen, und welche Datentypen, Formate und Qualität sie zurückgibt.

Zapier bietet die Integration mit mehr als 3.000 Apps, in denen Auslöser und Aktionen überprüft und getestet werden können. Integrationen können einfach sein und dazu dienen, neue Datensätze von einer App zu einer anderen zu schieben, oder sie können komplexer sein und Filter, Pfade, Formatierungen und andere Funktionen nutzen. Letztere Schritte sind oft notwendig, wenn ein Trigger in einer App die Suche nach dem richtigen Datensatz und dessen Aktualisierung in einer zweiten App erfordert. Die Formatierungsfunktion ermöglicht auch Datenbereinigung und andere Datenmanipulationen.

Zapier bietet auch Tools zum Testen und Überwachen von Integrationen. Diese operativen Funktionen sind sehr nützlich bei der Validierung komplexerer Integrationen und APIs, bei denen unterschiedliche Szenarien verschiedene Arten von Aktionen auslösen.

Andere IFTTTAutomatisierungstools sind Automate.io, IFTTT, Integrately, Tray.io und Workato. Diese Tools können beim Testen und Entwickeln eines API-Proof-of-Concept als schnellem Startpunkt helfen. Entwicklungsteams sollten jedoch auch den Einsatz dieser Tools in der Produktion in Betracht ziehen, wenn Entwickler die erforderlichen Integrationen damit erstellen, testen und operationalisieren können.

Verwenden Sie einen testgetriebenen Entwicklungsansatz zur Validierung von APIs

Was passiert, wenn es sich bei der erforderlichen Integration um eine nicht kommerzielle Drittanbieter-API handelt oder um eine branchenspezifische Plattform, die nicht mit IFTTT-Plattformen verdrahtet ist? Oder was, wenn komplexere Integrationen, Workflow-Orchestrationen, Datenmanipulationen oder Datenmengen die Verwendung von IFTTT-Plattformen weniger attraktiv machen?

Entwicklungsteams könnten die Methodik der testgetriebenen Entwicklung (TDD) in Betracht ziehen, um APIs zu validieren und Prototypen zu erstellen. Bei diesem Ansatz müssen Entwicklungsteams Unit-Tests und höhere Stufen orchestrierter, automatisierter und kontinuierlicher Tests durchführen, bevor sie die Funktionen der API direkt in zusammengesetzten Diensten oder Anwendungen nutzen.

TDD ist ein leistungsfähiger Ansatz bei der Entwicklung von APIs und Microservices, weil er die erwarteten Verwendungen und Grenzfälle definiert und dokumentiert. Die Testautomatisierung hilft dabei, alle Änderungen am Service zu erkennen, die Auswirkungen auf nachgelagerte Bereiche haben könnten.

Der Ansatz funktioniert ebenso gut, wenn APIs von Drittanbietern genutzt werden. Entwickler können Tools wie Postman verwenden, um API-Spezifikationen zu importieren, die API zu verstehen, Testsuiten zu erstellen und die Tests dann in Continuous Integration/Continuous Delivery (CI/CD)-Pipelines und andere Devops-Tools zu integrieren. Weitere zu prüfende Tools sind Katalon, RapidAPI, Parasoft und SmartBear ReadyAPI.

Diese Tests helfen nicht nur bei der Validierung der APIs, sondern Entwickler können sie später auch für automatisierte und kontinuierliche Tests verwenden. In der Produktion können sie helfen, zu validieren, ob und wann API-Änderungen von Drittanbietern die Tests brechen und eine Überprüfung und Korrektur aller Dienste und Anwendungen erfordern, die sie verwenden.

Verwenden Sie Low-Code-Integrationsplattformen, um wiederverwendbare Gateways zu erstellen

Was passiert, wenn Sie eine Integration mit mehreren Plattformen planen und die Integrationen in zahlreichen Diensten und Anwendungen wiederverwendbar sein müssen? Vielleicht passt Ihr Unternehmen Anwendungen für das Onboarding von Mitarbeitern, Marketing-Tools und Workflows für den Außendienst an, die eine Integration mit HubSpot, Workday, SAP oder anderen Plattformen erfordern.

Ich habe mit Ed Macosky, Head of Products bei Boomi, über die Möglichkeiten gesprochen, die sich aus dem Versuch ergeben, Daten gemeinsam zu nutzen und Workflows und Kollaborationen mit allen in mittleren und großen Organisationen zu ermöglichen. Diese Unternehmen brauchen mehr als die Validierung von APIs; sie brauchen einen skalierbaren Integrationsprozess. Er drückt die Problematik folgendermaßen aus: „Wie können Entwickler dieses End-to-End-Bild der Verbindung von allem und jedem realisieren, wie z. B. die Verbindung aller Datenquellen, das Verstehen aller Daten innerhalb einer Organisation, die Integration dieser Daten, die Entwicklung von Diensten, die Erstellung von benutzergesteuerten Workflows und die Offenlegung für Front-End-Anwendungen, die die Benutzer einbinden?“

Integrationsplattformen wie Boomi verfügen über Konnektoren zu gängigen SaaS– und Unternehmensplattformen sowie über Low-Code-Tools, die eine schnelle Entwicklung, Prüfung und Bereitstellung ermöglichen. Anstatt Punkt-zu-Punkt-Integrationen zu erstellen, kann eine Integration mehrere nachgelagerte Anwendungen und zusammengesetzte Dienste bedienen.

Weitere Integrationsplattformen sind Jitterbit, MuleSoft, PMG und SnapLogic. Plattformen für Anwendungsintegration oder Integrationsplattformen als Service (iPaaS) unterscheiden sich durch eine Vielzahl von Funktionen, darunter Benutzerfreundlichkeit, Datenverwaltungsfunktionen, Betriebsfunktionen und Self-Service-Optionen.

Der Einsatz einer Integrationsplattform ist für Unternehmen, die ihre Erfahrungen an unterschiedliche Geschäftsanforderungen und Abteilungsabläufe anpassen wollen, von großer strategischer Bedeutung. Beispielsweise kann die Onboarding-Anwendung so angepasst werden, dass sie nur die grundlegenden Schritte für jemanden anzeigt, der in einer bestimmten Rolle in den Betrieb eintritt, während sie neuen technischen Mitarbeitern die Auswahl von Geräten oder Vertriebsmitarbeitern die Festlegung von Reisepräferenzen ermöglicht.

Für Entwickler ist es wichtig zu wissen, dass die Validierung einer API nur der erste Schritt auf dem Weg zur Integration ist. Anschließend müssen die Entwickler wiederverwendbare, skalierbare, robuste und unterstützbare Integrationen erstellen. Damit dies gut gelingt, müssen die Integrationen in eine Betriebsumgebung integriert werden, die für die Unterstützung von Integrationen mit den erwarteten Service-Level-Zielen des Unternehmens ausgelegt ist. Integrations- und iPaaS-Plattformen bieten diese Optionen und können für Unternehmen, die Integrationen zu einer Kernkompetenz für Entwicklung und Betrieb machen wollen, von großem Nutzen sein.

*Isaac Sacolick ist der Autor des Amazon-Bestsellers Driving Digital: The Leader’s Guide to Business Transformation through Technology, der viele Praktiken wie agile Planung, Devops und Data Science behandelt, die für erfolgreiche digitale Transformationsprogramme entscheidend sind. Sacolick ist ein anerkannter Top-Social-CIO und Influencer für digitale Transformation. Er hat mehr als 650 Artikel auf InfoWorld.com, CIO.com, seinem Blog Social, Agile, and Transformation und anderen Seiten veröffentlicht.


Mehr Artikel

Be the first to comment

Leave a Reply

Your email address will not be published.


*