REST als Status Quo im Web

Wenn es um die Kommunikation in verteilten Systemen und im Web geht, kommt an Representational State Transfer (REST) aktuell kaum jemand vorbei. Das Programmierparadigma hat sich aufgrund seiner Nähe zum verwendeten HTTP-Protokoll klar durchgesetzt. Das heißt jedoch nicht, dass es nicht Bestrebungen gäbe, hier für Verbesserungen zu sorgen. GraphQL als Abfrage- und Manipulationssprache mit eigener Laufzeitumgebung wird in der Praxis immer häufiger eingesetzt und erlaubt eine flexiblere Abfrage von genau solchen Daten, die auch wirklich benötigt werden. Das zeitaufwändige manuelle Erstellen zahlloser REST-Endpunkte entfällt.

Hochperformantes Google-Framework

Das neue Framework gRPC stammt von Google und baut auf Remote Procedure Call (RPC) auf. Eine Technik, die den Aufruf von Funktionen in verteilten Systemen seit vielen Jahren ermöglicht. Von RPC existieren zahlreiche verschiedene Implementierungen. Im Gegensatz zu REST und GraphQL werden bei gRPC „Stubs“ generiert, also Programmiercode, der eine Einbindung des Frameworks in vielen Programmiersprachen erleichtert.

Vergleich mit REST und Websockets

Der Studierende Matthias Funk hat das neue Framework gRPC mit REST und Websockets verglichen. Websockets sind ein separates Protokoll, das bidirektionale Kommunikation, z.B. zur Implementierung von Chat-Anwendungen, ermöglicht. Verglichen wurden die drei Ansätze anhand der Merkmale der ISO Norm 25010, die ein Modell zur Bewertung von Qualitätskriterien für Software beschreibt. Aufgezeigt werden die Vor- und Nachteile von gRPC, REST und Websockets hinsichtlich der Kategorien Funktionalität, Kompatibilität, Zuverlässigkeit, Benutzbarkeit, Effizienz, Wartbarkeit und Sicherheit.