Suche
API Design Guide

APIs bauen wie Google

Melanie Feldmann

© Shutterstock / Mooshny

Beim Design von APIs muss man heute schon an später denken. Von den Methodennamen, über die Versionierung bis zur Dokumentation muss das Design konsistent aber auch flexibel sein. Um Entwicklern Designentscheidungen zu erleichtern, hat Google einen API Design Guide veröffentlicht. Nicht nur für Google-API-Nutzer lohnt sich ein Blick.

Der API Design Guide von Google ist ein genereller Guide für vernetzte APIs. Er ist intern seit 2014 bei Google im Einsatz, vor allem für die Cloud APIs. Der Guide macht keine Einschränkungen, was die Programmiersprache, das Betriebssystem oder das Netzwerkprotokoll betrifft.

Google bricht in seinem Guide eine Lanze für klassische RPC-basierte APIs. Nach Angaben des Konzerns besteht die Hälfte des US-amerikanischen Internetverkehrs aus Videos. Diese würden hauptsächlich über RPC APIs ausgeliefert. Innerhalb von Datenzentren nutzen viele Unternehmen Socket-basierte RCP APIs für den Datenverkehr im Netzwerk. Über RCP APIs laufe demnach signifikant mehr Traffic als über REST APIs – trotz ihrer Popularität.

Insgesamt deckt der Guide sowohl REST als auch RPC APIs ab. Entwickler finden im Guide Unterstützung beim Design von gRPC APIs für die Zusammenarbeit mit Google-Cloud-Endpunkten. Google empfiehlt, sich dabei stark am Design Guide zu orientieren. Es ist aber nicht obligatorisch.

Lesen Sie auch: RESTful APIs dokumentieren

Ressourcen-orientiertes Design für APIs

Google rät zu Ressourcen-orientiertem Design (Ressource Oriented Design) für APIs. Beim Ressourcen-orientierten Design liegt der Schwerpunkt auf den Ressourcen (dem Datenmodell) und weniger auf den Methoden, die auf die Ressourcen angewendet werden. Ein Ressourcen-orientiertes API ist generell als eine Hierarchie von Ressourcen aufgebaut.  Dabei ist jeder Knoten entweder eine einfache Ressource oder eine Sammlung von Ressourcen. Beispielsweise hat das Gmail API eine Sammlung von Nutzern, jeder Nutzer hat eine Sammlung von Nachrichten, Threads und Labels sowie eine Profil-Ressource und mehrere Ressourcen zu den Einstellungen.

Um Ressourcen-orientierte APIs zu designen, empfiehlt der Guide fünf Schritte. Als ersten Schritt sollten Entwickler sich genau überlegen, welche Ressourcentypen das API anbieten soll. Dabei sollten sie auch auf die Beziehungen zwischen den Ressourcen achten. Darauf aufbauend sollen sie im nächsten Schritt ein Namensschema für die Ressourcen entwickeln. Dann erst folgt das Schema für die Ressourcen selbst. Zu guter letzt definiert man die Methoden, und zwar so wenige wie möglich.

Neben Ratschlägen zum übergeordneten Ressourcen-orientiertem Design geht der Guide ebenso auf Details wie Namenskonventionen, Methodenstrukturen und Inline-Dokumentation ein. Auch für Entwickler, die nicht mit Google APIs arbeiten, lohnt sich also ein Blick auf die Best Practices des Konzerns.

Java-Magazin-4-17_Cover_595x842

Geschrieben von
Melanie Feldmann
Melanie Feldmann
Melanie Feldmann ist seit 2015 Redakteurin beim Java Magazin und JAXenter. Sie hat Technikjournalismus an der Hochschule Bonn-Rhein-Sieg studiert. Ihre Themenschwerpunkte sind IoT und Industrie 4.0.
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.