GraphQL
eBook - ePub

GraphQL

Eine Einführung in APIs mit GraphQL

  1. 202 Seiten
  2. German
  3. ePUB (handyfreundlich)
  4. Über iOS und Android verfügbar
eBook - ePub

GraphQL

Eine Einführung in APIs mit GraphQL

Angaben zum Buch
Buchvorschau
Inhaltsverzeichnis
Quellenangaben

Über dieses Buch

API-Design mit GraphQL für Um- und Einsteiger- Einführung in GraphQL und die GraphQL-Spezifikation- Beispielimplementierungen in Java und JavaScript- Vorteile und Unterschiede zu REST und anderen API-DesignsIn Anwendungen, bei denen es auf komplexe aber dennoch schlanke Datenabfragen ankommt, spielt GraphQL seine Vorteile aus. Dominik Kress gibt Ihnen dafür das nötige Wissen rund um API-Design und die GraphQL-spezifischen Datenmodelle an die Hand.Entwickler*innen, die bereits Erfahrungen mit APIs und beispielsweise REST gesammelt haben, können ihr Wissen auffrischen und dann direkt mit den Details von GraphQL starten.Zwei Praxisprojekte – eins in JavaScript und eins in Java – zeigen, wie Entwickler*innen mit den Besonderheiten von GraphQL umgehen können und wie ein Datenschema und die GraphQL-Spezifikation in der Praxis umgesetzt werden. Der Code der Projekte liegt auf GitHub zum Download bereit und lässt sich als idealen Ausgangspunkt für die ersten eigenen GraphQLProjekte nutzen.

Häufig gestellte Fragen

Gehe einfach zum Kontobereich in den Einstellungen und klicke auf „Abo kündigen“ – ganz einfach. Nachdem du gekündigt hast, bleibt deine Mitgliedschaft für den verbleibenden Abozeitraum, den du bereits bezahlt hast, aktiv. Mehr Informationen hier.
Derzeit stehen all unsere auf Mobilgeräte reagierenden ePub-Bücher zum Download über die App zur Verfügung. Die meisten unserer PDFs stehen ebenfalls zum Download bereit; wir arbeiten daran, auch die übrigen PDFs zum Download anzubieten, bei denen dies aktuell noch nicht möglich ist. Weitere Informationen hier.
Mit beiden Aboplänen erhältst du vollen Zugang zur Bibliothek und allen Funktionen von Perlego. Die einzigen Unterschiede bestehen im Preis und dem Abozeitraum: Mit dem Jahresabo sparst du auf 12 Monate gerechnet im Vergleich zum Monatsabo rund 30 %.
Wir sind ein Online-Abodienst für Lehrbücher, bei dem du für weniger als den Preis eines einzelnen Buches pro Monat Zugang zu einer ganzen Online-Bibliothek erhältst. Mit über 1 Million Büchern zu über 1.000 verschiedenen Themen haben wir bestimmt alles, was du brauchst! Weitere Informationen hier.
Achte auf das Symbol zum Vorlesen in deinem nächsten Buch, um zu sehen, ob du es dir auch anhören kannst. Bei diesem Tool wird dir Text laut vorgelesen, wobei der Text beim Vorlesen auch grafisch hervorgehoben wird. Du kannst das Vorlesen jederzeit anhalten, beschleunigen und verlangsamen. Weitere Informationen hier.
Ja, du hast Zugang zu GraphQL von Dominik Kress im PDF- und/oder ePub-Format sowie zu anderen beliebten Büchern aus Informatik & Softwareentwicklung. Aus unserem Katalog stehen dir über 1 Million Bücher zur Verfügung.

Information

Jahr
2020
ISBN
9783969101223

1API-Grundlagen

»APIs sind überall.«
Martin Reddy [46]
Wie der heutige Software-Engineering-Manager bei Apple, Martin Reddy, in seinem Buch API-Design for C++ bereits passend bemerkte, umgeben uns APIs in der modernen Applikationswelt mehr denn je. Der allgemeine Trend, immer mehr Softwareprodukte als einzelne Komponenten zu verpacken und öffentlich oder intern zur Verfügung zu stellen, wird vor allem deutlich, wenn man online nach API-Verzeichnissen Ausschau hält.
Die Onlineplattform ProgrammableWeb [44] verwaltet so ein Verzeichnis bereits seit 2005 und kann seitdem ein durchschnittliches Wachstum von fast 2.000 neu registrierten APIs pro Jahr verzeichnen [49].
Doch wieso gibt es in den letzten Jahren einen derart hohen Anstieg an registrierten APIs? Um diese Frage beantworten zu können, hilft es, sich mit den Grundlagen des Konzepts Application Programming Interface vertraut zu machen.
In diesem Kapitel wird die Frage beantwortet, was ein API eigentlich ist und welche Vorteile es bietet. Neben einer klaren Definition des Begriffs, wird auch ein Einblick in drei technische Umsetzungen Teil dieses Kapitels sein. Das Kapitel ist für Entwickler bestimmt, die sich vorher noch nicht oder nur wenig mit dem Thema API beschäftigt haben oder Grundlagen auffrischen möchten.

1.1Was ist ein API?

API steht für Application Programming Interface – oder auf Deutsch: Anwendungs-Programmier-Schnittstelle. Die Idee des API ist schon relativ alt: 1952 formulierte David Wheeler, Informatikprofessor an der Universität Cambridge, einen Leitfaden zum Extrahieren einer Subroutinen-Bibliothek mit einheitlichem, dokumentiertem Zugriff [59]. Mit dieser Arbeit legte er den Grundstein für die Idee heutiger APIs.
Der Begriff selbst kam zum ersten Mal in einem Konferenzbeitrag von Ira Cotton und Frank Greatorex auf der Fall Joint Computer Conference im Jahr 1968 auf [13]. Darin erweiterten sie die Idee von David Wheeler insofern, als dass die Implementierung und Schnittstelle der Subroutinen-Bibliothek konzeptionell voneinander zu trennen sind. Somit kann die logische Komponente ohne Einfluss auf den Benutzer der Schnittstelle ausgetauscht werden.
»APIs sind wie User Interfaces – nur mit anderen Nutzern im Fokus.«
David Berlind [8]
APIs sind wie Nutzer-Schnittstellen, nur für andere Nutzer konzipiert, so Berlind. Während ein User Interface (UI) die Interaktion eines Menschen mit dem System ermöglicht, soll ein API anderen Systemen diese Interaktionen gewähren. Es ist also anders als eine UI kein »human-readable interface«, sondern ein »machine-readable interface«.
In einem abstrakten Beispiel kann man sich ein API als Steckdose vorstellen. Computer, Staubsauger, Mixer, Toaster – ganz unterschiedliche Geräte nutzen den Service »Strom« des Serviceanbieters »Steckdose« für verschiedene Zwecke. Dadurch werden diese Geräte Konsumenten eines Service über einen einheitlichen Serviceanbieter.
Damit dieser Zugriff der unterschiedlichen Systeme auf dieselbe Steckdose funktioniert, müssen bestimmte und bekannte Muster, wie die Geräte verbunden werden können, sowie genaue Spezifikationen des angebotenen Service vorliegen.
Die genaue Spezifikation des Service hinter der Schnittstelle Steckdose ist dabei, wie in Abbildung 1–1 zu sehen, bestimmt von Daten, wie etwa 230 V Spannung auf 16 A Stromstärke. Das stellt die Art des Service dar, legt also fest, was genau über das API versendet wird, und definiert seine Repräsentation – also in welcher Form der Service im System des Servicenutzers integriert werden kann.
Die Form der Steckdose legt dabei fest, wie genau ein Nutzer den Service ansprechen muss, um die entsprechende Repräsentation des Stroms integrieren zu können. Die Steckdose ist daher in diesem Beispiel die eigentliche Schnittstelle – also das API. Die Form ist seine technische Umsetzung. Wie im Beispiel von Abbildung 1–1 können dabei mehrere gleiche Steckdosenformen eine Abstraktion für unterschiedliche Servicespezifikationen sein. Repräsentation und technische Umsetzung sind also unabhängig voneinander.
Wie bei der Steckdose bietet auch das API einen Service, der von unterschiedlichen Konsumenten in genau spezifizierter Form – also Repräsentation – über eine genau definierte Schnittstelle angefordert und ausgeliefert werden kann. In der Anwendung sind das beispielsweise geografische Kartendaten bei Google Maps als Service, die in einer Webseite oder mobilen Applikation für die Anzeige eigener Karten konsumiert werden.
image
Abb. 1–1
Unterschiedliche Steckdosenspezifikationen für die Elektromobilität [52]

1.2Vorteile eines API

Doch wieso hat sich die Steckdose in unseren Haushalten so etabliert? Wieso ist das API eine immer wiederkehrende Erscheinung, die sich langsam aber stetig als ein Standard in unserer Applikationswelt etabliert? Wieso sollte man als Stromanbieter seinen Nutzern Steckdosen zur Verfügung stellen?

1.2.1Flexibilität für Anbieter und Konsument

Eine Steckdose ist bequem. Mit ihr kann sich ein Hersteller von Toastern auf die Entwicklung des Toasters konzentrieren, ohne sich dabei Gedanken über die Herkunft des Stroms machen zu müssen. Solange er die standardisierte Schnittstelle der Steckdose benutzt, wird dieser ihm vom Anbieter auf vereinbarte Weise geliefert.
Für den Anbieter des Stromes heißt das auch, dass er sich ebenso keine Gedanken über die Integration seines Services in die Systeme der Nutzer machen muss. Er stellt ihn lediglich in bekannter Form, direkt an der Schnittstelle zur Verfügung und kann dahinter wesentliche Teile des Stromnetzes – wie die Quelle des Stroms oder die Farbe der Stromkabel – verändern, ohne dabei die Konsumenten funktionsuntüchtig zu machen. Zwischen Stromanbieter und -abnehmer findet also eine Entkopplung statt.

1.2.2Einheitliches Design und Funktionen

Durch die große Beliebtheit mobiler Endgeräte bieten die meisten Unternehmen ihre Daten und Funktionen nicht nur auf ihrer Webseite an. Eine Kundenbindung über unterschiedliche Kanäle ist ein gängiges Geschäftsmodell für moderne Unternehmen.
Den eigenen Service über ein API zur Verfügung zu stellen, kann dabei helfen, diesen auf diverse Kanäle zu transportieren. Die lose Kopplung der Schnittstellen ermöglicht, die gleichen Daten und Funktionen an verschiedene Abnehmer zu verteilen und dadurch sowohl auf mobilen Endgeräten, der Webseite, bis hin zu Smarthome-Geräten den Endnutzern ein ein...

Inhaltsverzeichnis

  1. Cover
  2. Über den Autor
  3. Titel
  4. Impressum
  5. Vorwort
  6. Inhaltsverzeichnis
  7. 1 API-Grundlagen
  8. 2 Von der Idee zur Umsetzung
  9. 3 Grundlagen der GraphQL-API
  10. 4 API-Design I: Rund ums Schema des API
  11. 5 API-Design II: Die Landschaft um das API
  12. 6 Implementierung mit Node I: Das erste Schema
  13. 7 Implementierung mit Node II: Erweitertes Schema und Mutationen
  14. 8 Implementierung mit Java I: Das erste Schema
  15. 9 Implementierung mit Java II: Erweitertes Schema und Mutationen
  16. Literaturverzeichnis
  17. Index