Was ist eine RESTful-API?
Bei all dem Rummel um RESTful-Webserviceskönnte man denken, dass es plötzlich ein neues Konzept war, das erst vor ein oder zwei Jahren auf der Bühne auftauchte. Die Wahrheit ist, dass die Konzepte, die RESTful-APIs zugrunde liegen, so alt sind wie das Web selbst und aus dieser Perspektive wirklich am besten verstanden werden.
Bevor wir uns mit den RESTful-APIs befassen, diskutieren wir mal, warum Sie sich darum kümmern sollten. Im Laufe der Jahre sind Hunderte von Methoden entstanden, um Computer über ein Netzwerk miteinander zu verbinden, das dieselbe Sprache spricht. Die Entwicklung dieser Methoden oder „Protokolle“ hat dazu geführt, dass ein Stapel vereinbarter Standards akzeptiert wird, die sich jeweils auf eine bestimmte Weise mit der Computerkommunikation befassen. Ganz oben in diesem Stapel stehen die Anwendungs- und Präsentationsschichten, in denen Geschäftslogik und die sich daraus ergebenden Daten ausgetauscht werden.
REST befindet sich auf diesem Stapel in einer Weise, die es leichter macht zu verstehen, was ausgetauscht wird. Gleichzeitig können Computer dadurch effizient miteinander kommunizieren. Möglicherweise haben Sie auch von einigen anderen Technologien gehört, die sich hier befinden können, wie SOAP (das eine angemessene Menge an Daten und Rechenleistung erfordert und nicht wirklich für die eingeschränkten Ressourcen mobiler Anwendungen geeignet ist), JMS (das spezifisch für Java-Anwendungen entworfen) und XML-RPC (das viele der gleichen Probleme wie SOAP ohne den Nutzen der Standardisierung aufweist).

REST ermöglicht die Weitergabe einer minimalen Datenmenge unter Verwendung der gleichen etablierten Mechanismen, die das Web ohne viele der durch fettere Protokolle eingeführten Belastungen definieren. Auf diese Weise können Programmierer auch in Umgebungen mit unzuverlässigen Netzwerkgeschwindigkeiten und begrenzter Rechenleistung schneller Programme erstellen, die über APIs bereitgestellt werden, schneller auf Daten zugreifen und darauf reagieren.
REST funktioniert fast genauso wie eine Website in einem Browser. Eine Ressource wird einem Programm über eine URL offengelegt. Das Programm kann auf diese URL zugreifen und Daten über die Ressource empfangen. Das ist nicht anders als wenn Sie eine URL in Ihrem Browser eingeben und eine Webseite aufrufen. Gut entworfene RESTful-APIs enthalten zusätzliche Links, denen das Programm folgen kann, um zugehörige Informationen anzufordern. So ähnlich, als ob Sie auf einen Link klicken würden, um eine neue Seite zu besuchen - oder um Daten zur Aktualisierung der angegebenen Ressource zu übermitteln - so ähnlich, als ob Sie ein Webformular ausfüllen würden, um ein neues Konto für eine Website zu erstellen.
Der Kompromiss für diese ganze Flexibilität ist der Mangel an stark festgelegter Standards. REST beschreibt wirklich die Methode, mit der die Daten übertragen werden, aber die Umsetzer waren größtenteils auf sich allein gestellt, um herauszufinden, wie diese Daten aussehen sollen. Das ändert sich rasant, zumal die Anzahl der mobilen Geräte zunimmt, die über das Netzwerk auf Daten zugreifen, aber es wird eine Weile dauern, bis diese Formate zu etwas zusammenkommen, das echten Standards ähnelt.