Vordenker
GraphQL – Die Art und Weise, wie Anwendungen kommunizieren, ändern und verbessern

Es wird nicht mehr lange dauern, bis die nächste Generation Kryptowährungen kauft und ihren Unit-Trust-Bilanz in der Fortnite-Lobby zwischen den Spielen überprüft. Dies wird durch viele technologische Fortschritte ermöglicht.
Das, worüber wir heute sprechen, ist die Art und Weise, wie Daten zwischen Anwendungen und den Unternehmen, die sie besitzen, übertragen werden (gelesen, aktualisiert, hinzugefügt/entfernt). Anwendungsprogrammierschnittstellen (API) sind die Architektur, die diese Datenkommunikation definiert, und da diese Standards entwickelt wurden, sind die Verarbeitungsanforderungen und die Anforderungen an den Datenspeicher weniger arbeitsaufwändig geworden.
Der Anführer in puncto “leichter” Ressourcenverbrauch ist GraphQL, eine Open-Source-Datenabfragesprache und -Manipulationssprache. Die Grundlage ihres Ökosystems ist ihre Spezifikation und eine Sammlung von Tools, die um sie herum erstellt wurde.
Es ist nicht neu – die Zeit vergeht schnell. Facebook entwickelte es 2012 und verwendete es nur intern für die Entwicklung mobiler Anwendungen. 2015 wurde es “open source” gemacht und heute wird es von der GraphQL Foundation (https://graphql.org/foundation/) betreut, die seine weitere Entwicklung überwacht.
Warum schreibe ich darüber? Ein typischer Weg zu einer technologischen Übernahme verläuft wie folgt: 1) Hobbyisten/Persönliche Projekte, 2) Implementierung in mehreren Sprachen, 3) Implementierung in Start-ups und kleinen Unternehmen, 4) mittelständische Unternehmen und Verwendung in der Produktentwicklung, 5) große Konzerne und Technologie-Riesen.
GraphQL hat Stufe 5 erreicht. Derzeit wird es von GitHub, Pinterest, Shopify, Microsoft und zuletzt, seit März 2022, von Salesforce verwendet.
Als ich nach einer Möglichkeit suchte, Daten effizienter von Salesforce abzurufen, stieß ich auf ihre GraphQL-Dokumentation und begann, sie zu lesen und nach Möglichkeiten zu suchen, sie umzusetzen.
Wie unterscheidet es sich von einer traditionellen REST-API?
- Einer der größten Vorteile ist, dass GraphQL es ermöglicht, Daten abzufragen und nur die spezifischen Daten zurückzugeben. Wenn Sie nur zwei Felder in Bezug auf ein bestimmtes Kundenereignis abrufen möchten, dann erhalten Sie genau diese Daten. Eine traditionelle REST-API würde alle Felder im Zusammenhang mit dem Ereignis zurückgeben. Das könnten 100 oder mehr Felder sein. Jetzt müssen Sie etwas mit all den Daten anfangen, die Sie nicht haben wollten. Dies wird als Datenüberabfrage (auch Datenunterabfrage ist ein Problem) bezeichnet.
- Das oben Genannte macht GraphQL schneller als andere API-Methoden bei der Rückgabe von Daten.
- GraphQL ist eine stark typisierte Sprache, was unter anderem bedeutet, dass Codefehler vor der Ausführung des Programms und nicht währenddessen erkannt werden.
- Ein großartiger Satz an Tools wurde um GraphQL herum entwickelt, was es sehr benutzerfreundlich macht.
- GraphQL hat einen einzigen Endpunkt im Gegensatz zu REST-API, die mehrere Endpunkte hat. Das bedeutet, dass alle Ihre Daten in einer einzigen Anfrage abgerufen werden können.
Zwei Seiten der Medaille: Anfragender (Client) und Anbieter (GraphQL-Host)
Ich habe GraphQL bisher aus der Perspektive der Datenanfrage betrachtet. Ein Unternehmen wie Salesforce oder Microsoft hat eine GraphQL-API eingerichtet, die Sie verwenden können, um Daten abzufragen und zu manipulieren (lesen, aktualisieren, hinzufügen).
Als Beispiel: Wenn wir Daten von Salesforce im Zusammenhang mit Kundenereignissen in ein Kundenportal einbinden möchten, wäre der effizienteste Weg, die exakten Daten, die wir benötigen, durch eine GraphQL-Abfrage vom Portal zum Salesforce-GraphQL-Server abzurufen. Sie erhalten genau die Daten, die Sie benötigen, ohne Unter- oder Überabfrage und als Ergebnis keine zusätzliche Verarbeitung oder Datenspeicherung.
Die andere Seite der Medaille ist das Unternehmen, das die GraphQL-Architektur einrichtet, damit Ihre Kunden eine effiziente Methode haben, auf die Daten zuzugreifen, die sie benötigen.
Bei der Erstellung der GraphQL-API erstellt ein Unternehmen ein Modell, das alle seine Systeme in ein Modell integriert. Es vereint diese Systeme und entfernt nach Abschluss der Arbeit die Komplexität des zugrunde liegenden Systems. Sobald die Arbeit abgeschlossen ist, wird das Abfragen von Daten durch die API nahtlos.
Wenn ich Anwendungen oder Anbieter vergleiche, schaue ich, welche Funktionen sie mir bieten, um meine Daten von ihnen zurückzubekommen. Ich will nicht per E-Mail anfragen oder mich auf starre, vordefinierte Berichte verlassen müssen. Ich will in der Lage sein, “in” meine Daten “einzustecken” und sie flexibel und zeitnah abzufragen. Wenn es zwischen zwei Anwendungen/Anbietern, die in anderen Vergleichspunkten gleich sind, und einer, die entweder eine REST-API oder eine GraphQL-API anbietet, kommt, werde ich mich definitiv für diejenige mit der API entscheiden.












