Entwurfstipps für RESTful APIs

Webservices und Programmierschnittstellen

Ein Application Programming Interface (API) ist eine Anwendungsprogrammierschnittstelle. Sie ist ein Programmteil eines Softwaresystems, das anderen Anwendungen zur Verfügung gestellt wird. Methodennamen sowie Input- und Outputargumente sind feste Bestandteile eines API. Jeder Entwickler implementiert Webservices, die von Anwendern verwendet werden sollen. Um ihre korrekte Benutzung zu ermöglichen, ist es sinnvoll APIs anzubieten. Zu RESTful Webservices können passend RESTful APIs entwickelt werden. Eines der größten Vorteile von RESTful Webservices ist das hohe Maß an Freiheit, die sowohl Anwender als auch Entwickler genießen können. Das gilt ebenfalls für das Entwickeln der zugehörigen APIs. Zum einen sind sie vollkommen optional, zum andren sind keine Regeln bei der Entwicklung zu beachten. Doch wie können ohne feste Konventionen RESTful APIs hilfreich werden?

Die Entwurftipps

APIs sollen eine Hilfestellung für Entwickler sein. Sie können als Nachschlagewerk verwendet und Online verfügbar gemacht werden. Webservicekonsumenten können sich somit über vorhandene Webservices und deren Nutzung informieren. Dabei werden die Eigenschaften eines RESTful Webservices beachtet. Jede gute API besteht aus:

  • Einem URI (Wie ist der Service erreichbar?)
  • Einer Methode (Welche HTTP-Methoden sind erlaubt? Z.B.: GET oder POST)
  • Einer Datenrepräsentation (Welchen Content-Type erwartet der Service und in welchem Format gibt er die Daten zurück?)
  • Einer informellen Beschreibung (Was bietet der Service an?)
  • Argumenten (Welche Eingabewerte erwartet der Service?)
  • Dem Rückgabewert (Welche Daten werden zurückgegeben?)

Je nach Bedarf können weitere Informationen angereichert werden. Beispielsweise ist die API von Twitter sehr gut strukturiert.Besonders aus dem Grund, dass REST bei der Webserviceentwicklung viele Freiheiten bietet, ist es sehr empfehlenswert RESTful APIs bereitzustellen, damit die korrekte Benutzung der Services sichergestellt wird.

Was ist noch zu beachten?

Bei der Entwicklung von RESTful Webservices und -APIs ist das Design der URIs ein wichtiger Aufgabenbereich. Auf welche Art und Weise ein URI aufgebaut sein soll, ist nicht vorgegeben, wodurch sich dafür viele Möglichkeiten ergeben. Grundsätzlich ist es erstrebenswert den Aufbau eines URIs an die Anwendungsdomäne und Softwarearchitektur zu koppeln. Bei diesem Ansatz ist das URI Design bereits in der Planungsphase eines Softwareprojekts von Bedeutung. In der Praxis zeigt sich, dass Webseiten, wie z.B. Twitter, Facebook oder Amazon, über verschiedene Subdomains Webservice-APIs und ihre Webservices anbieten. Websites, APIs und Webservices können so getrennt werden. Aufgrund der Interaktion mit Ressourcen, bieten sich bei RESTful Webservices URIs an, die Ressourcen repräsentieren. Hauptsächlich werden diese in resource-based URIs und collection-based URIs unterteilt.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.