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.