Universalschnittstelle für APIs: GraphQL Mesh ermöglicht flexiblen Datenzugriff
Die neue Open-Source-Library GraphQL Mesh wandelt API-Spezifikationen für die Abfragesprache GraphQL um und fungiert als Proxy.
![Das Mesh SDK: GraphQL Mesh soll Datenzugriff aus allen Schnittstellen ermöglichen](https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/2/8/6/7/9/0/6/Mesh_SDK-df541e5982cc5e99.png)
(Bild: The Guild)
- Silke Hahn
Mit der neuen Open-Source-Library GraphQL Mesh können Entwickler die Abfragesprache GraphQL zum Zugriff auf Daten über diverse APIs nutzen – unabhängig davon, ob diese APIs GraphQL ausführen oder nicht. Die Library lässt sich als Proxy, als Gateway zu anderen Diensten oder als lokales SDK verwenden, um Daten von Remote-APIs zu aggregieren. GraphQL Mesh wandelt den Zugriff über APIs um, ohne Änderungen an der zugrundeliegenden Technologie der Server vorzunehmen, auf denen der Datenzugriff erfolgt.
Hinter GraphQL Mesh steht die Open-Source-Gruppe "The Guild", die auf GitHub eine Reihe von Bibliotheken unterhält. Die Gruppe nennt als Vorteil der Library, dass Entwickler mit dem Mesh steuern können, auf welche Weise sie Daten abrufen. Probleme bei der Backend-Implementierung, mit älteren API-Diensten (Legacy) und nichttypisierten APIs seien damit einfacher zu überwinden.
Ein Mesh für beliebige APIs, auch als SDK
Laut The Guild fungiert GraphQL Mesh als Proxy für die Daten und verwendet gängige Bibliotheken, um bestehende API-Dienste zu ummanteln. Mit GraphQL Mesh sollen Entwickler API-Schemaspezifikationen von Diensten, Registrierungen oder einfachen Dateien sammeln und für jeden Dienst eine Laufzeitinstanz des vollständig typisierten SDK erstellen können. Das Mesh konvertiert die API-Spezifikationen in ein GraphQL-Schema, was den Abruf ermöglicht.
Entwickler können den Proxy als SDK einbinden, indem sie das GraphQL-Schema lokal ausführen (das geht mit GraphQL Execute), oder sie können es als Gateway-Schicht für ihren internen Dienst einsetzen. Durch das Einziehen einer weiteren Schicht sei es bei Bedarf auch möglich, Daten für den öffentlichen Zugriff zur Verfügung zu stellen.
(Bild: The Guild)
Benutzerdefinierte Anpassungen
Mit GraphQL Mesh können Entwickler Ausgabeschemata anpassen, Typen schemaübergreifend verknüpfen und Schematypen zusammenführen. Außerdem können sie benutzerdefinierte GraphQL-Typen, Resolver und Verknüpfungen hinzufügen.
Ziel der neuen Library sei es, Entwicklern einfachen Zugriff auf Dienste zu ermöglichen, die in anderen API-Spezifikationen mit GraphQL-Abfragen, -Mutationen und -Abonnements geschrieben sind – dies soll unter anderem für gRPC, OpenAPI, Swagger, oData, SOAP und GraphQL der Fall sein.
Weitere Details lassen sich der Ankündigung von "The Guild" entnehmen. Das Projekt ist zum jetzigen Zeitpunkt noch nicht abgeschlossen, im Zuge der Arbeit daran dürften weitere Releases folgen. (sih)