© Liashko/Shutterstock.com
Entwickler Magazin
Herausforderungen bei Implementierung und Einsatz von Web-APIs

Eigentlich ganz einfach, aber ...

Web-APIs erfreuen sich großer Beliebtheit, bieten sie doch eine scheinbar perfekte Lösung zur Systemintegration. Jedoch gibt es beim Einsatz auch einige Fallstricke, die unbedingt bedacht werden sollten. So führen Web-APIs zu einer recht engen Kopplung, weshalb unter anderem eine Strategie für den Umgang mit vorübergehend nicht verfügbaren Kommunikationspartnern benötigt wird. Weitere Aspekte sind die Unzuverlässigkeit des Netzwerks oder auch die Tatsache, dass SSL in zahlreichen Produktivumgebungen keine ausreichende Sicherheit bietet. Dieser Artikel diskutiert die wichtigsten Herausforderungen beim Einsatz von Web-APIs und zeigt Wege auf, wie sie gemeistert werden können.

Thilo Frotscher


Web-APIs sind aus der Softwareentwicklung derzeit nicht wegzudenken. Zahlreiche Unternehmen bieten über öffentlich zugängliche, webbasierte APIs den Zugriff auf Daten und Dienste an, und Behörden stellen zunehmend große Informationsmengen zur Verfügung. Aber auch zur Systemintegration innerhalb eines Unternehmens haben sich Web-APIs inzwischen – neben alternativen Lösungsansätzen – ihren festen Platz gesichert. Und schließlich haben Web-APIs auch durch den Trend zu Microservices-Architekturen einen weiteren Schub erfahren. Hier gilt es, die Kommunikation zwischen den einzelnen Microservices zu implementieren. Dabei kommen sehr verbreitetet Web-APIs zum Einsatz.

Dabei ist der Begriff Web-API an sich gar nicht so leicht zu greifen. Wie so oft gibt es durchaus unterschiedliche Definitionen und Ansichten, was genau ein Web-API ist, wodurch es sich auszeichnet oder welche Regeln es einhalten sollte. Diese Diskussion soll hier jedoch nicht geführt werden. Im Kontext des Artikels soll der Begriff Web-API eher allgemein definiert sein: als eine Schnittstelle auf Basis von Webtechnologien, insbesondere HTTP.

Solche APIs lassen sich mit aktuellen Frameworks recht schnell implementieren. Ganz gleich, ob man Spring oder Java EE einsetzt oder eines der vielen anderen Frameworks. In aller Regel können Entwickler schon nach recht kurzer Zeit einen ersten Prototyp des neuen Web-API auf einem Testserver bereitstellen. Diese Mächtigkeit heutiger Frameworks ist nicht hoch genug zu bewerten. Im Vergleich zu früheren Zeiten müssen Entwickler nun deutlich weniger Code schreiben, um zum gleichen Ergebnis zu kommen. Dies ermöglicht nicht nur ein agileres Vorgehen, sondern bedeutet auch, dass entsprechend mehr Zeit bleibt, um sich auf die Fachlichkeit zu konzentrieren.

Es besteht jedoch gleichzeitig die Gefahr, dass die Entwicklung der Schnittstelle dadurch unterschätzt wird. Denn es scheint auf den ersten Blick eine leichte Aufgabe zu sein, ein Web-API zu erstellen. Doch dies ist ein Trugschluss! Je länger ein Projekt andauert, je mehr Anforderungen hinzukommen, je besser die Anwendung getestet und je länger sie betrieben wird, desto mehr zeigt sich, dass viele Aspekte bedacht werden müssen, und dass dabei so einige Fallen lauern. Denn auch wenn Frameworks vieles erleichtern und verbergen, mindestens eine Komplexität bleibt auf jeden Fall erhalten: die Vielzahl an Herausforderungen, die verteilte Systeme mit sich bringen. Hierzu zählen unter anderem Kopplung, Fehlerbehandlung, Zu...

Entwickler Magazin
Herausforderungen bei Implementierung und Einsatz von Web-APIs

Eigentlich ganz einfach, aber ...

Web-APIs erfreuen sich großer Beliebtheit, bieten sie doch eine scheinbar perfekte Lösung zur Systemintegration. Jedoch gibt es beim Einsatz auch einige Fallstricke, die unbedingt bedacht werden sollten. So führen Web-APIs zu einer recht engen Kopplung, weshalb unter anderem eine Strategie für den Umgang mit vorübergehend nicht verfügbaren Kommunikationspartnern benötigt wird. Weitere Aspekte sind die Unzuverlässigkeit des Netzwerks oder auch die Tatsache, dass SSL in zahlreichen Produktivumgebungen keine ausreichende Sicherheit bietet. Dieser Artikel diskutiert die wichtigsten Herausforderungen beim Einsatz von Web-APIs und zeigt Wege auf, wie sie gemeistert werden können.

Thilo Frotscher


Web-APIs sind aus der Softwareentwicklung derzeit nicht wegzudenken. Zahlreiche Unternehmen bieten über öffentlich zugängliche, webbasierte APIs den Zugriff auf Daten und Dienste an, und Behörden stellen zunehmend große Informationsmengen zur Verfügung. Aber auch zur Systemintegration innerhalb eines Unternehmens haben sich Web-APIs inzwischen – neben alternativen Lösungsansätzen – ihren festen Platz gesichert. Und schließlich haben Web-APIs auch durch den Trend zu Microservices-Architekturen einen weiteren Schub erfahren. Hier gilt es, die Kommunikation zwischen den einzelnen Microservices zu implementieren. Dabei kommen sehr verbreitetet Web-APIs zum Einsatz.

Dabei ist der Begriff Web-API an sich gar nicht so leicht zu greifen. Wie so oft gibt es durchaus unterschiedliche Definitionen und Ansichten, was genau ein Web-API ist, wodurch es sich auszeichnet oder welche Regeln es einhalten sollte. Diese Diskussion soll hier jedoch nicht geführt werden. Im Kontext des Artikels soll der Begriff Web-API eher allgemein definiert sein: als eine Schnittstelle auf Basis von Webtechnologien, insbesondere HTTP.

Solche APIs lassen sich mit aktuellen Frameworks recht schnell implementieren. Ganz gleich, ob man Spring oder Java EE einsetzt oder eines der vielen anderen Frameworks. In aller Regel können Entwickler schon nach recht kurzer Zeit einen ersten Prototyp des neuen Web-API auf einem Testserver bereitstellen. Diese Mächtigkeit heutiger Frameworks ist nicht hoch genug zu bewerten. Im Vergleich zu früheren Zeiten müssen Entwickler nun deutlich weniger Code schreiben, um zum gleichen Ergebnis zu kommen. Dies ermöglicht nicht nur ein agileres Vorgehen, sondern bedeutet auch, dass entsprechend mehr Zeit bleibt, um sich auf die Fachlichkeit zu konzentrieren.

Es besteht jedoch gleichzeitig die Gefahr, dass die Entwicklung der Schnittstelle dadurch unterschätzt wird. Denn es scheint auf den ersten Blick eine leichte Aufgabe zu sein, ein Web-API zu erstellen. Doch dies ist ein Trugschluss! Je länger ein Projekt andauert, je mehr Anforderungen hinzukommen, je besser die Anwendung getestet und je länger sie betrieben wird, desto mehr zeigt sich, dass viele Aspekte bedacht werden müssen, und dass dabei so einige Fallen lauern. Denn auch wenn Frameworks vieles erleichtern und verbergen, mindestens eine Komplexität bleibt auf jeden Fall erhalten: die Vielzahl an Herausforderungen, die verteilte Systeme mit sich bringen. Hierzu zählen unter anderem Kopplung, Fehlerbehandlung, Zu...

Neugierig geworden?


   
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang