API-Design Praxishandbuch für Java- und Webservice-Entwickler

Inhalt

Das Buch ist in vier große Teile und umfasst sowohl allgemeine Konzepte als auch konkrete Techniken und Best Practices für unterschiedliche APIs und Protokolle.

Teil I: Grundlagen

Der erste Teil beginnt mit wichtigen API-Grundlagen und geht auf die Bedeutung von wohlüberlegten benutzerorientierten APIs ein:

  • Kapitel 1: “Application Programming Interfaces – eine Einführung” beschreibt die Geschichte, Zweck, Funktion und Bedeutung von APIs.
  • Kapitel 2: “Qualitätsmerkmale” beschreibt, welche Qualitätsmerkmale Sie beim API-Design berücksichtigen sollten. Dies ist die Basis für die später in diesem Buch vorgestellten Designtechniken.
  • Kapitel 3: “Allgemeines Vorgehen beim API-Design” beschreibt, wie einfach Sie mithilfe von Beispielen für verschiedenen Szenarien eine API entwerfen und überprüfen können.

Teil II: Java-APIs

Nach der allgemeinen Einführung geht es im zweiten Teil um objektorientierte Java-APIs:

  • Kapitel 4: “Ausprägungen” beschreibt die vielfältigen objektorientierten APIs, die man in Bibliotheken, Frameworks und anderen Softwarekomponenten findet.
  • Kapitel 5: “Grundlagen für Java-APIs” stellt grundlegende Techniken und Best Practices für Java-APIs vor. Hierzu zählen codenahe Themen wie Command/Query Separation, Design für Vererbung, Verwendung von Interfaces und Exception Handling.
  • Kapitel 6: “Fortgeschrittene Techniken für Java-APIs” betrachtet Techniken, die größeren Einfluss auf die Architektur der Anwendung haben, dennoch aber zum API-Design zählen.
  • Kapitel 7: “Kompatibilität von Java-APIs” führt in das Thema Kompatibilität ein. In diesem Zusammenhang werden theoretische Grundlagen und praktische Techniken vorgestellt.

Teil III: Remote-APIs

An dieser Stelle verlassen wir die Welt der Java-APIs und kommen zu den Remote-APIs, die primär zur Integration unterschiedlicher Systeme eingesetzt werden. Konkret geht es im dritten Teil um RESTful HTTP, SOAP-Webservices und Messaging-APIs:

  • Kapitel 8: “Grundlagen RESTful HTTP” führt in den Architekturstil REST ein und beschreibt dessen Grundprinzipien anhand von RESTful HTTP.
  • Kapitel 9: “Techniken für Web-APIs” geht u.a. auf Ressoucendesign, Medientypen und Fehlerbehandlung ein.
  • Kapitel 10: “SOAP-Webservices” behandelt Designtechniken und geht auf Granularität, Message Exchange Patterns, Datentypen und Versionierung ein.
  • Kapitel 11: “Messaging” stellt Messaging als wichtige Alternative zur Integration und Aufrufverarbeitung vor. Neben einem umfassenden Anwendungsbeispiel werden verschiedene Protokolle und Produkte vorgestellt.

Teil IV: Übergreifende Themen

Der abschließende vierte Teil des Buches behandelt Querschnittsthemen wie Dokumentation, Skalierbarkeit und API-Management:

  • Kapitel 12: “Dokumentation” bietet Empfehlungen und Werkzeuge zur Dokumentation von APIs.
  • Kapitel 13: “Caching” kann insbesondere für die Performance von RESTful HTTP sehr wichtig sein.
  • Kapitel 14: “Skalierbarkeit” stellt die Grundlagen skalierbarer Systeme vor. In diesem Zusammenhang werden das CAP-Theorem, statuslose Kommunikation, Load Balancing und verschiedene Architekturvarianten diskutiert.
  • Kapitel 15: “Erweiterte Architekturthemen” umfasst Consumer-Driven Contracts, „One size fits all“-APIs und andere Architekturthemen.
  • Kapitel 16: “API-Management” beschreibt zu guter Letzt das Veröffentlichen, Dokumentieren und Verwalten von APIs mit API-Management-Werkzeugen.