Das Wissensportal für IT-Professionals. Entdecke die Tiefe und Breite unseres IT-Contents in exklusiven Themenchannels und Magazinmarken.

SIGS DATACOM GmbH

Lindlaustraße 2c, 53842 Troisdorf

Tel: +49 (0)2241/2341-100

kundenservice@sigs-datacom.de

"Mastering API Architecture" von James Gough et al.

APIs sind für die Entwicklung und das Design von Diensten wichtig. Da immer mehr Kooperations- und Geschäftsmodelle darauf basieren, gibt es dabei einiges zu beachten.
Author Image
Frank Pientka

Principal Software Architect


  • 30.11.2023
  • Lesezeit: 3 Minuten
  • 41 Views

APIs Zweck und Nutzen

Das Buch "Mastering API Architecture" der beiden Java-Champions James Gough und Daniel Bryant sowie von Matthew Auburn behandelt in drei Haupt- und zehn Unterkapiteln, wie APIs entwickelt, getestet, betrieben und angepasst werden können. Als Leser werden dabei vor allem Tecleads und Architekten angesprochen. Für die Bilder werden die Diagrammarten Context, Container und Componenten der C4-Methode verwendet. Sowohl das Design von Schnittstellen als auch die Auswahl von API-Standards oder Produkten werden durch ADRs (Architecture Decisions Records) dokumentiert.

Als durchgängiges Fallbeispiel wird ein Konferenzsystem schrittweise von einer monolithischen Webanwendung mit einer Altanwendung hin zu einer serviceorientierten mobilen Anwendung mit API-Gateway in der Cloud weiterentwickelt. Bei den verwendeten Produkten API-Gateway und Service Mesh wird kurz auf deren historische Entwicklung eingegangen und es werden Kriterien für ihre Auswahl oder Verwendung gegeben. Neben REST mit OpenAPI wird auch auf GraphQL und gRPC eingegangen. Dabei geht das Buch auf die wichtigen Themen Testen, Absichern, Authentifizierung und Autorisierung ein.

APIs ermöglichen Architekturevolution

Die ersten beiden Kapitel bieten die Grundlagen. Die Folgekapitel im zweiten Hauptkapitel behandeln das Thema API Traffic Management mit API-Gateways (Nord-Süd) und Service Mesh (West-Ost). Die Fallstudie wird dann um ein API-Gateway auf Kubernetes erweitert, um einen Dienst aus dem Altsystem anbieten zu können. Das dritte Hauptkapitel behandelt das wichtige Thema API-Betrieb und Absicherung. Kleinere Änderungen kann man mit Feature Flags und anderen Release-Strategien separat deployen. Auch das Thema Überwachbarkeit, Logging, Debugging und Caching spielt eine wichtige Rolle.

APIs sind wichtige Komponenten, um ein System an die geänderten Anforderungen anpassen zu können. Sie fördern eine hohe Kohäsion und geringe Kopplung. Kohäsion kann viele Aspekte haben, wie Abhängigkeiten zur Umgebung und ausgewogener Einsatz von Abstraktionen.

Die Kapitel 8 und 9 in dem letzten Hauptkapitel sind für mich die interessantesten, da hier noch mal wichtige Muster zum Zerlegen und Weiterentwickeln eines Systems vorgestellt werden und wie die Fallstudie in die Cloud migriert werden kann. Hier wird auf die Rolle von Service Mesh in einer Zero Trust Architecture eingegangen. Im Abschlusskapitel 10 wird die Fallstudie noch mal zusammengefasst und einen Ausblick auf zukünftige Themen, wie AsyncAPI und HTTP/3, gegeben.

Fazit

APIs spielen im Design und der Weiterentwicklung von Systemen eine wichtige Rolle. Deswegen passt auch der Untertitel des Buchs "Design, Operate, and Evolve API-Based Systems" gut. Eine Ablösung von Altsystemen kann auch durch eine schrittweise Migration in die Cloud erfolgen. Hier gilt es, die neuen Möglichkeiten von API-Gateway und Service Mesh zu nutzen. Das Buch gibt dazu einige anregende Tipps.

Zum Titel:

Buchcover zu Mastering API Architecture

Titel: Mastering API Architecture. Design, Operate, and Evolve API-Bases Systems
Autoren: James Gough, Daniel Bryant, Matthew Auburn
Seiten: 248
Verlag: O'Reilly Media
Jahr: 2023
ISBN: 978-1492090632

. . .

Author Image

Frank Pientka

Principal Software Architect
Zu Inhalten

Frank Pientka arbeitet als Principal Software Architect bei der MATERNA SE. Dort sorgt er für mehr Qualität in der Software und kümmert sich als Gründungsmitglied des iSAQB um eine verbesserte Ausbildung und Zertifizierung von Architekten. Seit mehr als drei Jahrzehnten unterstützt er Firmen bei der Umsetzung effizienter und innovativer Software.


Artikel teilen

Nächster Artikel
Attacke der Cloud-Natives