
This workshop will cover
Background
- A brief history of API development, where the industry
is heading and how GraphQL fits in this space - SOAP/XML RPC
- JSON/REST resources
- GRPC
- GraphQL query and mutations
Use cases and context
- Compare the benefits and tradeoffs of different data fetching techniques to understand why GraphQL might provide value
- Look at different architectural patterns to understand what GraphQL offers. REST vs CQRS
- Understand some of the different ways that you might incorporate GraphQL into a system (high level use cases) and why the flexibility of GraphQL can make it hard to have a common understanding of “what it is”
Use cases, language syntax and semantics
- Understand how and where GraphQL affects your system (API and consumer)
- Guided explanation of GraphQL language features
Exploring a GraphQL server
- Hands on exploration of a sample GraphQL store
- Walk though example use cases to simulate what it would be like as a consumer to use the GraphQL ecosystem’s tools to understand an API you haven’t seen before
Creating a GraphQL server
- Hands-on GraphQL language exploration
- Hands-on work to build a working GraphQL API using NodeJS
- Integration testing for the working GraphQL API
Future proofing APIs
- Designing GraphQL APIs for versioning
- Additive API enhancement and phased deprecation of functionality
- Maintaining backwards compatibility
Performance
- Hands-on work to add visibility data (metrics, tracing) to the API using Prometheus and Grafana
- Hands-on work to identify bottlenecks and scalability edge-cases
- Hands-on work to simulate worst case, high-latency, low bandwidth networks
- Hands-on work to optimise over-the-wire resources
Techniques
- Managing authorisation schemes and integration with existing AuthN/AuthZ
- Schema stitching and federation
- Pagination of nested resources
- Operational visibility and generating business metrics
Interested?
Get in touch below and our team will get back to you.