GraphQL Training

Leer een GraphQL applicatie bouwen op basis van Kotlin of Java

GraphQL, de door Facebook ontwikkelde querytaal die het mogelijk maakt flexibele API’s te ontwikkelen wint snel aan populariteit. Tegenwoordig treft men bij veel organisaties architecturen aan die gebaseerd zijn op (micro)services, een populaire aanpak om verandering in een hoger tempo mogelijk te maken. Deze architectuur kent echter direct ook wee zijn uitdagingen, want de applicaties die gebruik maken van de services en hun data, dienen allen op de hoogte te zijn van waar deze data zich bevindt en hoe deze samenhangt met andere data uit andere systemen. Daarnaast kan de databehoefte van de individuele afnemers ook nog eens flink verschillen, zoals bijvoorbeeld tussen een webapplicatie en een mobile app die zuinig moet zijn met de databehoefte.

Bij Facebook speelden deze problemen ook en is er een oplossing voor bedacht: GraphQL. Facebook was voor haar mobile API opzoek naar een oplossing voor meer flexibiliteit en bedacht hiervoor deze oplossing. GraphQL stelt gebruikers onder andere in staat een model te definiëren over services heen, waarbij clients zich alleen maar bewust hoeven te zijn van het model dat de GraphQL applicatie ontsluit. Een ander  principe van GraphQL is dat de afnemer bepaalt hoeveel data er wordt opgehaald, wat betekent dat er bij een verzoek om een beperkt model daadwerkelijk ook minder services aangeroepen hoeven te worden. Een concept dat in een service geörienteerde architectuur ook bestaat, maar veelal extra handwerk vereist.

In deze training wordt een GraphQL applicatie op basis van de GraphQL-Java implementatie gebouwd. Desgewenst kan de uitwerking worden gemaakt in Java of Kotlin. Het framework wordt op zijn beurt gekoppeld aan een Spring Boot applicatie. Vervolgens wordt er aandacht besteed aan het uitwerken van een GraphQL schema, de manieren waarop data geconsumeerd kan worden, omgaan met foutscenario’s en nog veel meer.

Overzicht

Niveau
Gevorderd
Deelnemers
Tot 12 personen
Duur
Twee dagdelen – 8 uur
Kosten
Op aanvraag
Aanvangsdatum
Op aanvraag
Locatie
Op aanvraag
Taal
Engels, Nederlands
Lesmethode
Klassikaal
Voorkennis
Git
Java/Kotlin
Spring Boot
Benodigdheden
Laptop
IDE (Intellij, Eclipse)

Inhoud

Dagdeel 1
  • Introduction to GraphQL
  • Core concepts
    • When to use GraphQL?
    • GraphQL schema definition
    • GraphQL query language
    • GraphQL queries
    • GraphQL mutations
    • GraphQL subscriptions
  • Setting up
    • Implement Spring boot application
    • Add GraphQL dependencies
    • Configure the GraphQL endpoint
    • Configure the GraphiQL User Interface
    • Define a basic schema
    • Write query resolvers
    • Testing queries using GraphiQL
Dagdeel 2
  • Adding Features
    • Define a mutation
    • Implement resolver for the mutation
    • Test mutation using GraphiQL
    • Define a subscription
    • Implement subscription
    • Test subscription using GraphiQL
  • Writing clients
    • Implement a client
    • Testing the client
  • Testing
    • Writing application tests
    • Stubbing external dependencies
  • Advanced Topics
    • Security
    • Circuit Breaking
    • Dataloaders (bulk fetching)

Waarom Sourcelabs?

Sourcelabs heeft voor diverse klanten GraphQL implementaties ontworpen en gerealiseerd. De ervaring die daar is opgedaan is opgenomen in deze training, die als primaire doel heeft de cursisten te laten zien wat de kracht is van GraphQL en wanneer deze oplossing het best tot zijn recht komt.

Interesse?

Neem contact met ons op om deze training in te plannen, op locatie of bij ons op kantoor te Utrecht. Interesse in een specifiek onderdeel van deze training? Wij maken deze training op verzoek ook op maat.