GraphQL API Workshop
Efficient data exchange and easy development at the same time – all this is promised by the GraphQL query language! A core idea of GraphQL is that clients can select themselves, depending on the use case, which data they request from a server and thus hopefully never read too little or too much data in a request. This should also keep the development of the backend simple and flexible, as the server does not have to pay attention to the concrete requirements of a concrete client, as each client simply requests the data relevant to it individually. GraphQL breaks with many learned and familiar concepts from the REST architecture and is therefore regarded as the devil’s work by some and as a saviour by others for this very reason… After this workshop you’ll be able to deceide yourself who is right.
In this workshop we will look at the basic principles and concepts of GraphQL, which are independent of programming languages. Using an example application, we will look at what you need to do to develop and publish a GraphQL API for your Java backend or your data. We will look at how the queried data can be loaded from different sources (e.g. from microservices via HTTP or databases via JPA) and discuss possible usage scenarios and architectures for GraphQL-based applications.
Content & Process
- Introduction to GraphQL, what is it all about?
- Potential use-cases for GraphQL
- Limitations of GraphQL
- Syntax of the query language
- GraphQL server with Java
- Definition of a GraphQL schema
- Integration data from REST endpoints
- Accessing database resources
- Caching, performance optimisation
- To get a better understanding we practice some exercises (please see the technical requirements below for further informations)
- And of course you can bring your own questions!
Audience & Requirements
This workshop is intended for software developers and architects who deal with APIs and are open to new concepts and ideas outside beaten tracks.
To participate successfully in the workshop, you should be familiar with state-of-the-art development of Java-based backend applications (esp. Dependency Injection, JPA, REST).
The sample application and the exercises are implemented with Spring Boot. The specific Spring Boot features we use should also be understandable to you when you normally build JEE applications and are also transferable to JEE environments. The GraphQL frameworks we look at run on Spring Boot as well as JEE (and other server frameworks).
You will receive further information regarding the technical requirements and setup for the practical exercises before the workshop.