© Excellent backgrounds/Shutterstock.com
Nachhaltige Webarchitekturen

REST und SPAs sind nicht immer die Lösung


Heutzutage gewinnt man leicht den Eindruck, dass es für moderne Webanwendungen nur einen einzig wahren Architekturansatz gibt: REST und Single-Page-Anwendungen (SPAs). Doch ist alles, was REST genannt wird, wirklich REST? Sind REST und SPAs immer die beste Lösung? Um diese Fragen beantworten zu können, sollte man sich anschauen, was REST eigentlich ist, wofür es gedacht ist und ob es möglicherweise Alternativen zu SPAs gibt; insbesondere mit dem Blick auf Nachhaltigkeit, im Sinne von Wartbarkeit und Erweiterbarkeit.

REST [1] wurde von Roy Fielding in seiner Dissertation [2] im Jahr 2000 als Architekturstil für verteilte Hypermediasysteme definiert. Dabei ist ein Architekturstil eine Sammlung an Entwurfsrichtlinien, durch die eine Architektur bestimmte Eigenschaften erhält, wie Skalierbarkeit oder lose Kopplung. Doch warum sollten solch akademische Details in der Praxis relevant sein? In der Regel wählen wir Architekturen, weil wir damit gewisse Anforderungen erfüllen wollen. Das heißt, wir sollten sie nicht wählen, weil diese Lösung gerade in aller Munde ist – wie gerade bei Microservices, Single-Page-Anwendungen oder auch REST der Fall –, sondern weil sie unser Problem, so gut es eben geht, lösen. Wenn wir nicht wissen, welche Eigenschaften – sowohl positive als auch negative – ein Architekturstil mit sich bringt, ist es auch wenig sinnvoll, ihn einzusetzen. Als hätte Roy Fielding in die Zukunft blicken können, schreibt er in seiner Dissertation: „Some architectural styles are often portrayed as ‚silver bullet‘ solutions for all forms of software. However, a good designer should select a style that matches the needs of the particular problem being solved.“ [2, Kapitel 1.5]

Wenn man nun also versteht, welche Richtlinien welche Eigenschaften mit sich bringen, hat man die Möglichkeit, den Architekturstil den eigenen Bedürfnissen anzupassen und kann Vor- und Nachteile bewusst gegeneinander abwägen. Denn es ist in Ordnung, bewusst gegen REST-Prinzipien zu verstoßen, solange dann nicht von einer REST-konformen Architektur gesprochen wird. Beim Entwurf einer webbasierten Architektur sollte berücksichtigt werden, welche Eigenschaften REST durch welche Entwurfsrichtlinien bietet und wie diese ineinander greifen.

Die Konsequenzen von Client-Server-Architekturen

Bei der Entwicklung einer Webanwendung bleibt einem gar nichts anderes übrig, als eine Client-Server-Architektur zu wählen. Jedoch werden beim Erfassen der Anforderungen oft die Konsequenzen einer solchen...

Exklusives Abo-Special

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