GraphQL - Componenti dell'applicazione

Questo capitolo discute i diversi componenti GraphQL e il modo in cui comunicano tra loro. Gli interi componenti dell'applicazione possono essere distinti come di seguito:

  • Componenti lato server
  • Componenti lato client

Componenti lato server

Il server GraphQL costituisce il componente principale sul lato server e consente di analizzare le query provenienti dalle applicazioni client GraphQL. Apollo Server è l'implementazione più comunemente utilizzata della specifica GraphQL. Altri componenti di programmazione del server includono quanto segue:

Sr.No. Elementi essenziali e descrizione del server
1

Schema

Uno schema GraphQL è al centro di qualsiasi implementazione del server GraphQL e descrive le funzionalità disponibili per i client che si connettono ad esso.

2

Query

Una query GraphQL è la richiesta dell'applicazione client per recuperare i dati dal database o dalle API legacy.

3

Resolver

I resolver forniscono le istruzioni per trasformare un'operazione GraphQL in dati. Risolvono la query sui dati definendo le funzioni del resolver.

Componenti lato client

Di seguito sono riportati i componenti lato client:

Sr.No. Strumento e descrizione
1

GraphiQL

Interfaccia basata su browser per la modifica e il test di query e mutazioni GraphQL.

2

ApolloClient

Il miglior strumento per creare applicazioni client GraphQL. Si integra bene con tutto il front-end javascript.

Il diagramma seguente mostra un file Client-Server architecture. Il server web è costruito su NodeJs e framework Express. Viene effettuata una richiesta al server Apollo GraphQL dall'applicazione ReactJS (creata utilizzando la libreria client Apollo) o dall'applicazione browser GraphiQL. La query verrà analizzata e convalidata rispetto a uno schema definito nel server. Se lo schema della richiesta supera la convalida, verranno eseguite le funzioni di risoluzione associate. Il resolver conterrà il codice per recuperare i dati da un'API o da un database.