© best_vector/Shutterstock.com
Windows Developer
Teil 3: HATEOAS mit .NET in der Praxis

REST-Dienste umsetzen

Das HATEOAS-Prinzip ist ein Entwurfsprinzip für REST-Dienste. Dabei navigiert ein Client ausschließlich basierend auf den Links, die von einem Server bereitgestellt werden. Die Links werden dabei unter Verwendung von Hypermedia in die Antworten von REST-Diensten eingebettet. Ziel des Prinzips ist ein Client, der keine bzw. nur sehr wenige Informationen über die REST-Dienste seiner Serveranwendung hat. Wie man solche REST-Dienste in der Praxis auf Basis von ASP.NET Core umsetzen kann, zeigt der vorliegende dritte und letzte Teil der Artikelserie zu REST anhand eines praktischen Beispiels.

Daniel Murrmann


ArtikelserieTeil 1: Grundlagen von REST und HTTPTeil 2: REST-Reifegradmodell, Hypermedia und HATEOASTeil 3: HATEOAS mit .NET in der Praxis

Wer sich in seiner täglichen Arbeit auch nur ansatzweise mit Webtechnologien oder verteilten Anwendungen beschäftigt, wird heutzutage kaum umher kommen, auch mit REST-Diensten zu arbeiten. Dabei begegnen uns REST-Dienste in verschiedensten Formen: Von solchen, die aussehen wie Remote Procedure Calls, bei denen der aufgerufene URL den Namen einer Funktion darstellt, bis hin zu klar konzipierten und durchdachten REST-Diensten, die alle Facetten der aktuellen Webtechnologien bestmöglich zu nutzen versuchen. Das HATEOAS-Prinzip für REST-Dienste gehört dabei sicherlich zum zweiten der beiden genannten Extreme. Das bescheinigt auch das REST-Reifegradmodell, das von Leonard Richardson aufgestellt wurde. In seiner höchstmöglichen Stufe fordert es genau diejenigen Eigenschaften, die durch HATEOAS realisiert werden.

HATEOAS, die Basics

HATEOAS ist ein Akronym und steht für Hypermedia as the Engine of Application State. Wie der Name schon andeutet, ist es unter anderem das Ziel, den aktuellen Anwendungszustand durch eine HATEOAS-konforme Antwort eines REST-Diensts darzustellen. Als Anwendungszustand sind dabei die aktuell anzuzeigenden Daten sowie die hiervon ausgehenden nächstmöglichen Aktionen zu verstehen. Eine Aktion kann dabei das einfache Navigieren zu anderen Daten sein, die mit den aktuell angezeigten Daten in einer Beziehung stehen. Eine Aktion kann aber auch eine Veränderung von Daten wie das Aktualisieren, Löschen oder Hinzufügen von neuen Daten sein. Um die Informationen zu den möglichen Aktionen mit den anzuzeigenden Daten zu verbinden, nutzt HATE­OAS Hypermedia, eine Möglichkeit verschiedene Informationen miteinander zu verknüpfen. Hypermedia kann in verschiedenen technischen Formaten transportiert werden, allen voran natürlich HTML. Die Abbildung von Hypermedia beispielsweise in XML oder JSON ist aber genauso möglich. Die Vorteile der Verwendung von Hypermedia und HATEOAS wurden in Teil 2 dieser Artikelserie genauer beleuchtet. Interessierte Leser, die mehr Hintergrundwissen dazu erhalten möchten, verweise ich daher auf den vorherigen Teil der Artikelserie.

Das Beispiel: Posts und Kommentare

Wie einleitend beschrieben, soll der Artikel ein möglichst praxisnahes Beispiel vorstellen, anhand dessen das HATEOAS-Prinzip einfach verstanden werden kann. Als Anwendungsfall soll uns dabei ein gewöhnliches Weblog dienen. Es b...

Windows Developer
Teil 3: HATEOAS mit .NET in der Praxis

REST-Dienste umsetzen

Das HATEOAS-Prinzip ist ein Entwurfsprinzip für REST-Dienste. Dabei navigiert ein Client ausschließlich basierend auf den Links, die von einem Server bereitgestellt werden. Die Links werden dabei unter Verwendung von Hypermedia in die Antworten von REST-Diensten eingebettet. Ziel des Prinzips ist ein Client, der keine bzw. nur sehr wenige Informationen über die REST-Dienste seiner Serveranwendung hat. Wie man solche REST-Dienste in der Praxis auf Basis von ASP.NET Core umsetzen kann, zeigt der vorliegende dritte und letzte Teil der Artikelserie zu REST anhand eines praktischen Beispiels.

Daniel Murrmann


ArtikelserieTeil 1: Grundlagen von REST und HTTPTeil 2: REST-Reifegradmodell, Hypermedia und HATEOASTeil 3: HATEOAS mit .NET in der Praxis

Wer sich in seiner täglichen Arbeit auch nur ansatzweise mit Webtechnologien oder verteilten Anwendungen beschäftigt, wird heutzutage kaum umher kommen, auch mit REST-Diensten zu arbeiten. Dabei begegnen uns REST-Dienste in verschiedensten Formen: Von solchen, die aussehen wie Remote Procedure Calls, bei denen der aufgerufene URL den Namen einer Funktion darstellt, bis hin zu klar konzipierten und durchdachten REST-Diensten, die alle Facetten der aktuellen Webtechnologien bestmöglich zu nutzen versuchen. Das HATEOAS-Prinzip für REST-Dienste gehört dabei sicherlich zum zweiten der beiden genannten Extreme. Das bescheinigt auch das REST-Reifegradmodell, das von Leonard Richardson aufgestellt wurde. In seiner höchstmöglichen Stufe fordert es genau diejenigen Eigenschaften, die durch HATEOAS realisiert werden.

HATEOAS, die Basics

HATEOAS ist ein Akronym und steht für Hypermedia as the Engine of Application State. Wie der Name schon andeutet, ist es unter anderem das Ziel, den aktuellen Anwendungszustand durch eine HATEOAS-konforme Antwort eines REST-Diensts darzustellen. Als Anwendungszustand sind dabei die aktuell anzuzeigenden Daten sowie die hiervon ausgehenden nächstmöglichen Aktionen zu verstehen. Eine Aktion kann dabei das einfache Navigieren zu anderen Daten sein, die mit den aktuell angezeigten Daten in einer Beziehung stehen. Eine Aktion kann aber auch eine Veränderung von Daten wie das Aktualisieren, Löschen oder Hinzufügen von neuen Daten sein. Um die Informationen zu den möglichen Aktionen mit den anzuzeigenden Daten zu verbinden, nutzt HATE­OAS Hypermedia, eine Möglichkeit verschiedene Informationen miteinander zu verknüpfen. Hypermedia kann in verschiedenen technischen Formaten transportiert werden, allen voran natürlich HTML. Die Abbildung von Hypermedia beispielsweise in XML oder JSON ist aber genauso möglich. Die Vorteile der Verwendung von Hypermedia und HATEOAS wurden in Teil 2 dieser Artikelserie genauer beleuchtet. Interessierte Leser, die mehr Hintergrundwissen dazu erhalten möchten, verweise ich daher auf den vorherigen Teil der Artikelserie.

Das Beispiel: Posts und Kommentare

Wie einleitend beschrieben, soll der Artikel ein möglichst praxisnahes Beispiel vorstellen, anhand dessen das HATEOAS-Prinzip einfach verstanden werden kann. Als Anwendungsfall soll uns dabei ein gewöhnliches Weblog dienen. Es b...

Neugierig geworden?


    
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang