GraphQL als Webservice Alternative zu REST, SOAP und Co.

GraphQL als Webservice Alternative zu REST, SOAP und Co.

Durch die Weiterentwicklung des Internets und die immer schneller voranschreitende Vernetzung von Servern, Programmen und Geräten steigt auch die Anzahl an Schnittstellen, um Daten zu transferieren. Anwendungen im Internet nutzen APIs (Application Programming Interfaces) zum Datenaustausch und zur Weiterverarbeitung von Daten. Um solche Schnittstellen zu entwickeln und zu implementieren, existieren auf dem Markt etablierte Standards wie beispielsweise REST (Representational State Transfer) oder SOAP, die Webservices eine Grundstruktur vorgeben.

Eine interessante Alternative bei tendenziell wachsenden Web-Applikationen und komplexeren Datenabfragen bietet GraphQL – eine flexible Abfragesprache und Laufzeitumgebung, die seit 2015 als Open-Source-Lösung für die Industrie verfügbar ist.

Was ist GraphQL?

GraphQL steht für „Graph Query Language“ und ist eine ursprünglich von Facebook zur internen Nutzung entwickelte Abfragesprache für APIs. Hintergrund waren wachsende Anforderungen an die Facebook-App. Um benötigte Daten abzufragen, wurde zunächst die schon bekannte und beliebte REST API genutzt. Die stetig wachsende Anzahl an Abfragen in der App und die dadurch ständig größer werdenden Datenmengen brachten den Server jedoch an seine Grenzen. Insbesondere bei den Newsfeed-Daten passte das Verhältnis von Abfragemenge und erhaltenen Informationen nicht mehr. Dies sorgte für eine schwächere Performance, worauf Facebook mit der Entwicklung von GraphQL als Webservice Alternative reagierte.

Open-Source Austauschformat

2015 wurde GraphQL schließlich als Open-Source-Lösung für die Industrie zur Verfügung gestellt. Mittlerweile haben viele Open-Source- und Unternehmensentwickler das Konzept des Austauschformats übernommen. Auch große Unternehmen wie PayPal oder Netflix nutzen GraphQL. Im eCommerce ist es bereits eine gesetzte Größe. Gegenüber der bisherigen Standard REST API etabliert GraphQL sich immer mehr als Standard der Industrie für den Datenaustausch. 

Was zeichnet GraphQL aus?

Flexibler Zugriff

GraphQL wurde entwickelt, um Programmen unkomplizierten Zugriff zu ermöglichen. Viele Schnittstellen-Architekturen gewähren oft nur Zugriff auf einzelne Ressourcen. GraphQL hingegen bietet in diesem Bereich ein wesentlich höheres Maß an Flexibilität. So gibt es beispielsweise kein Limit für die Zahl der abgefragten Ressourcen, und die Datenfelder zur Abfrage können exakt definiert werden. Dadurch werden APIs schneller, flexibler und auch entwicklerfreundlicher. 

Einfache Abfragesprache

Einer der größten Vorteile von GraphQL liegt in der Einfachheit und Effizienz der Abfragesprache. Sie kann Daten über HTTP senden und nutzt lediglich eine einzige URL für alle Abfragen. Damit unterscheidet sie sich von REST. Das bedeutet für Entwickler, dass für eine GraphQL Struktur nur ein striktes Schema mit abfragbaren Typen entworfen werden muss. In diesem Schema wird festgelegt, welche Daten der Server kennt und in welcher Beziehung diese Daten zueinander stehen. Deshalb ist GraphQL auch weitgehend selbstdokumentierend.

GraphQL ist dabei unabhängig von einer bestimmten Programmiersprache. Stattdessen wird es von vorhandenen Codes und Daten unterstützt. Es gibt umfangreiche Bibliotheken für Clients und Server in allen geläufigen Programmiersprachen. Auch wird keine spezielle Anwendungsarchitektur benötigt. GraphQL kann problemlos auf einer schon vorhandenen REST API installiert und mit aktuellen API Management-Tools genutzt werden.

Effiziente Datenabfrage

Im Vergleich zur bereits erwähnten REST API arbeitet GraphQL bei größeren Datenmengen effizienter. Bei einer Abfrage werden vom Server nur die Daten geliefert, die der Client im Vorfeld angefordert hat. Auf diese Weise werden keine unnötigen Daten übertragen und gleichzeitig wird das Risiko einer Fehlkommunikation zwischen Client und Server verringert. Zudem gibt es für GraphQL zahlreiche Erweiterungen mit Features, die bei REST APIs nicht verfügbar sind. Dazu gehören unter anderem Tools, mit denen eine GraphQL API dokumentiert, optimiert oder überwacht werden kann. Andere Tools wiederum können eine beliebige GraphQL API als interaktives Diagramm darstellen oder die Migration von REST zu GraphQL erleichtern. 

GraphQL und Pimcore 

Die Open-Source-Plattform Pimcore ist weltweit eine der meistgenutzten Softwares zur einheitlichen Verwaltung digitaler Daten und Kundenerlebnisse über alle Vertriebskanäle und Geräte hinweg.

GraphQL ist in Pimcore über das Modul Datahub standardmäßig integriert. Während Pimcore in der kostenlosen Open-Source Community Edition bereits mächtige Funktionen im Datahub bereitstellt, wird der Umfang der Software in der Pimcore Enterprise Edition noch einmal wesentlich erweitert. 

GraphQL – Flexibilität und Effizienz für Unternehmen

GraphQL lohnt sich für jedes Unternehmen, das große Datenmengen verwaltet sowie verteilt und diesen Prozess möglichst effizient für alle Zielpunkte gestalten möchte. Auch wenn Schnittstellen besonders flexibel sein müssen, ist GraphQL eine wertvolle Unterstützung. Durch die große Akzeptanz ist es außerdem möglich, in allen gängigen Programmiersprachen entsprechende Schnittstellen zu programmieren. GraphQL liefert genau die Informationen, die benötigt und abgefragt werden – nicht mehr und nicht weniger.

GraphQL wird Standard APIs wie REST und SOAP durch unterschiedliche Anforderungen an Daten und Programmen wahrscheinlich nicht vollständig ersetzen. Es bietet jedoch eine spannende und leicht bedienbare Alternative zu anderen Abfragesprachen und Austauschformaten.

Die Integration von GraphQL über den Datahub in Pimcore ermöglicht eine besonders einfache und effiziente Bereitstellung von Produktinformationen und Marketinginhalten und sorgt so für ein personalisiertes und rundum perfekt abgestimmtes Kundenerlebnis. 

Nehmen Sie jetzt Kontakt zu unseren Experten auf und lassen Sie sich unverbindlich beraten!

Beitrag von Philip Wiemer
Philip Wiemer führt die mds. Agenturgruppe in die digitale Zukunft. Er betreut Kunden bei allen strategischen und operativen Themen der digitalen Transformation.

Empfohlene Artikel

Kontakt
Kontakt
Wir sind sofort für sie da
+49 89 74 73 44 0
info@mds.eu