Representational State Transfer

Der Begriff REST steht für REpresentational State Transfer und beschreibt einen modernen (Web-) Architektur-Stil, welcher mit dem Abschluss der Dissertation von Roy Fielding im Jahr 2000, erstmalig Erwähnung fand. Die ursprünglichen Metaphern, Anfang der 90er Jahre, dass Dokumente im Web nur im Standartformat vorliegen, über eindeutige Identifikarionsnummern verfügen und sich gegenseiten referenzieren können, erwiesen sich schon bald als Fehleinschätzung. Das Web wurde um dynamische Informationen angereichert und auch die Bedeutung einzelner Komponenten im WWW war, oder wurde, unklar.

Mit der Entwicklung von REST wollte Fielding sowohl für

  • statische Inhalte
  • als auch dynamisch berechnete Informationen

ein einheitliches Konzept definieren, wie dieses gewaltige Informationssystem (das Internet) funktionieren könnte.

Aus diesem Grund wurden 5 Kernprinzipien aufgestellt, auf denen REST basiert:

  1. Ressourcen mit eindeutiger Identifikation
  2. Verknüpfungen/Hypermedia
  3. Standardmethoden
  4. Unterschiedliche Repräsentation
  5. Statuslose Kommunikation

Bei einem Kommunikationsvorgang werden Statusinformationen übertragen. Das bedeutet bei jeder Anfrage werden alle für die Anfrage benötigten Informationen (Login-Daten, die Anfrage, eventuelle Einschränkungen etc.) vom Client mitgesendet. Ein REST-konformer Dienst ist aus genau diesem Grund zustandslos; denn alle entsprechenden Zustandsinformationen sind bei jeder Anfrage zu übertragen. Das HTTP-Protokoll, welches auch von Fielding entwickelt wurde, unterstützt diese Art der zustandslosen Kommunikation.

Der offensichtlichste Vorteil liegt in der Skalierbarkeit und das keine permanente Verbindung bzw. "Sitzung" zwischen Server und Client aufgebaut sein muss (geringere Kopplung). Jede Anfrage ist für sich vollständig und Funktionstüchtig und könnte auch von einem anderer Server beantwortet werden.

Anmerkung: Ein Protokoll oder einen Dienst, der den REST-Spezifikationen gerecht wird, nennt man auch RESTful.

Quellen:

  • "Representational State Transfer", http://en.wikipedia.org/wiki/REST , 05/2011
  • Edlich et. Al.(2010): „NoSQL – Einstieg in die Welt nichtrelationaler Web 2.0 Datenbanken „ Carl Hanser Verlag, München
  • Tilkov (2011), 2.Aufl.: „REST und HTTP – Einsatz der Architektur des Web für Integrationsszenarien„ , „REST“, dpunkt.Verlag, Heidelberg, Seite 9-17

Kategorie: Neue DB-Entwicklungen, NoSQL, R,