Interview zur API Conference mit Thilo Frotscher

So gelingt die API-Integration

Thomas Petzinna

Thilo Frotscher

Web-APIs haben sich durch ihre Leichtgewichtigkeit und einfache Umsetzbarkeit als Mittel zur Systemintegration durchgesetzt. Doch geht es wirklich so einfach? Anlässlich der API Conference sprachen wir mit dem erfahrenen Softwarearchitekten Thilo Frotscher über dieses spannende Thema.

Eine Web-API im ersten größeren Projekteinsatz zu bauen bietet einige Herausforderungen. Die Unzuverlässigkeit des Netzwerkes, Sicherheitsfragen (Stichwort „SSL“), ungültig werdende Zertifikate – überall lauern Fallstricke. Bei seinem Vortrag auf der API Conference in Berlin wird Thilo Frotscher das Thema genau unter die Lupe nehmen und gibt hilfreiche Archtitekturtipps für eine erfolgreiche API-Integration. In unserem Interview gibt er schon einmal einen spannenden Einblick in das Thema.

JAXenter: APIs sind mit aktuellen Frameworks und den vielfältigen Entwicklerwerkzeugen im Handumdrehen erstellt. Ist die API erstmal im Betrieb, treten dann aber doch oftmals Schwierigkeiten auf. Ist die Technik nicht ausgereift oder werden konzeptionelle Fehler gemacht?

Im Management vieler Unternehmen herrscht leider oft die Einstellung vor, neue APIs müssten extrem schnell fertig sein.

Thilo Frotscher: Die Technik ist überwiegend schon ausgereift. Natürlich gibt es einzelne Werkzeuge, die noch verbessert werden müssten. Hierzu zählen beispielsweise die diversen Generatoren im Umfeld von Swagger bzw. OpenAPI. Im Großen und Ganzen kann man aber mit den vorhandenen Technologien qualitativ hochwertige APIs entwickeln. Die auftretenden Schwierigkeiten sind eher im Entwicklungsprozess begründet. Es ist zwar richtig, dass sich APIs im Handumdrehen erstellen lassen. Leider verführt dieser Umstand aber auch dazu, sich im Vorfeld keine ausreichenden Gedanken darüber zu machen, wie eine gut verständliche und benutzbare API aussehen sollte.

Auch im Management vieler Unternehmen herrscht leider oft die Einstellung vor, neue APIs müssten extrem schnell fertig sein. Unter entsprechendem Zeitdruck wird dann gearbeitet. Stattdessen ist es jedoch wichtig sich ausreichend Zeit zu nehmen, um über so wichtige Themen wie API Design, Widerstandsfähigkeit und vor allem auch Sicherheit nachzudenken. Für Unternehmen oder Teams, die noch recht wenig Erfahrung mit der Entwicklung und Bereitstellung von APIs haben, empfiehlt es sich daher einen Experten zu Rate zu ziehen, der wichtige Hinweise geben und vor den gängigen Fallen warnen kann.

Lesen Sie auch: RESTful-API-Design: Eine Einführung

JAXenter: Die Wartung und Weiterentwicklung einer API ist ein weiteres großes Thema. Auch hier beginnen schon die Fehler bei einer unausgereiften Konzeption – oder?

Thilo Frotscher: Richtig, auch diese Aspekte sollten bereits während der Entwicklung bedacht werden. Denn ist eine API erst einmal in Betrieb und wird sie von einer Vielzahl von Clients angesprochen, dann lassen sich tiefgreifende nachträgliche Änderungen nur noch mit hohem Aufwand umsetzen. Dieser Aufwand könnte mit einem etwas höheren Intialaufwand vermieden werden, beispielsweise indem man seine API von Beginn an so entwirft, dass sie eben leicht erweiterbar ist.

Auch die Erstellung eines unternehmensweiten API Styleguides erweist sich als sehr sinnvoll. Das kann man mit etwas Erfahrung in relativ kurzer Zeit schaffen. Die sich hierbei stellenden Fragen sind nämlich im Grunde immer die gleichen. Ein solcher Styleguide wird sich kurz- bis mittelfristig auf jeden Fall bezahlt machen. Er stellt eine Konsistenz über alle APIs sicher, die nicht nur den Clients hilfreich sein wird, sondern auch die Aufwände für Wartung und Weiterentwicklung reduzieren. Nachträglich lässt sich eine solche Konsistenz jedoch in der Regel nur durch nicht rückwärtskompatible Änderungen erreichen.

 

JAXenter: Was muss ich bei der Implementierung einer API beachten?

Neben dem Thema Sicherheit sollte aus meiner Sicht vor allem die Widerstandsfähigkeit im Auge behalten werden.

Thilo Frotscher: Auch hier gibt es diverse Aspekte zu bedenken. Neben dem Thema Sicherheit sollte aus meiner Sicht vor allem die Widerstandsfähigkeit im Auge behalten werden. Beim Einsatz von APIs entstehen sehr häufig Verkettungen von HTTP-Anfragen. Es muss daher sichergestellt werden, dass Fehler, Blockaden oder Timeouts keinen Dominoeffekt erzeugen. Stattdessen werden Strategien benötigt, wie mit Retrys, Fail-Fast-Verhalten oder Default-Werten solchen Herausforderungen begegnet werden kann.

JAXenter: Wer richtig testet, kann sich eine Menge Ärger sparen. Doch Probleme, z. B. bei der Widerstandsfähigkeit und bei den Antwortzeiten unter Last, treten meist erst im praktischen Einsatz auf. Gibt es einen „Königsweg“ um seine API vorab auf Herz und Nieren zu testen?

Thilo Frotscher: Ich denke nicht, dass es hier einen Königsweg gibt, da die Einsatzbereiche von APIs einfach zu vielfältig sind. Meine Empfehlung lautet jedoch, immer so produktionsnah wie möglich zu testen und damit zum frühestmöglichen Zeitpunkt zu beginnen. Gegebenenfalls können auch Kunden oder Clients bereits während der Entwicklungszeit eingebunden werden, so dass diese realitätsnahe Last und Datenvolumen für die Testumgebungen der API produzieren. Dies hilft im Übrigen auch dabei Schwächen im API Design frühzeitig aufzuspüren. Wenn Kunden nachfragen, wie die neue API eigentlich funktionieren soll, dann ist sie offensichtlich nicht verständlich genau entworfen oder dokumentiert. Ebenso fällt so frühzeitig auf, wenn einer API noch bestimmte Funktionalität fehlt, die für Clients sehr sinnvoll wäre.

Vielen Dank für dieses Interview!

Thilo Frotscher arbeitet als freiberuflicher Softwarearchitekt und Trainer. Als Experte für Enterprise Java, APIs und Systemintegration unterstützt er seine Kunden überwiegend durch Projektarbeit, Reviews oder die Durchführung von Schulungen. Thilo ist (Co-)Autor mehrerer Bücher in den Bereichen Java EE, (Web) Services und Systemintegration, hat zahlreiche Fachartikel verfasst und spricht regelmäßig auf Fachkonferenzen und Schulungsveranstaltungen oder bei Java User Groups.

Geschrieben von
Thomas Petzinna
Thomas Petzinna
Thomas Petzinna studierte Wirtschaftskommunikation an der FHTW Berlin. Als Spezialist für strategisches Content Marketing, SEO und Social Media liegt sein Fokus darüber hinaus auf das Thema Digitalisierung. Bei Software & Support Media ist er als Redakteur für entwickler.de und das PHP Magazin zuständig.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: