SlideShare a Scribd company logo
Boost your APIs
with
GraphQL
@jefrajames
A few words about me
{
name: “Jean-François James”,
company: “Worldline”,
mainSkill: “Software Architect”,
technicalFocus: “Java”,
openSourceContribution: “Eclipse MicroProfile GraphQL”
}
• GraphQL origins
• REST @ GraphQL
• MicroProfile GraphQL
• Demo: how to GraphQL with MicroProfile?
• Next steps & conclusion
Agenda
The origins
A specification
Created at Facebook in 2012
Open sourced in July 2015
Adopted by GitHub in 2016
Moved to the GraphQL Foundation eof 2018
REpresentational State Transfer
Widely adopted
Strong ecosystem
Defined in 2000
An architecture style for modern Web apps
REST & GraphQL
REST GraphQL
Core concept Resource Schema (strongly-typed)
Endpoint Multiple Single (generic & query-able)
Leverage HTTP Yes No
API Documentation OpenAPI Built-in (schema-based)
Data selection/request No Yes
Multiple queries No Yes
Partial results No Yes
Is REST that easy?
• A specification: http://spec.graphql.org
• Query language: query, mutation, subscription
• Runtime
• A reference implementation: https://github.com/graphql/graphql-js
• Multiple other implementations: http://graphql.org/code
What is
• Not about databases:
– A way to talk to Web APIs
– Intended to sit on top of your business logic
• Not about “formal Graphs”:
– Doesn’t mandate to model data in terms of nodes, edges, explicit
relationships
– Naturally interconnected data, super-clear capabilities of the API
What is not GraphQL
MicroProfile overview
GraphQL Config
Fault
Tolerance
Fallback
Retry
Timeout
Circuit breaker
Bulkhead
OpenAPI
Rest
Client
JWT
Web API
Health
Metrics
Open
Tracing
Observability
Reactive
Messaging
Reactive
Streams
Context
Propagation
Long Running
Action
Core (3.3)
JAX-RS CDI
JSON-P
JSON-B
Standalone
specs
Jakarta EE (ex Java EE) foundation
MicroProfile GraphQL
WildFly
Quarkus
Open Liberty
1.0
1.0-M1Dec
May
Feb
June
Aug
2019
KICK OFF
2018
2020
EclipseCon
Oct
Andy McCright (IBM) Adam Anderson (IBM) Phillip Kruger (Red Hat) Bojan Tomic (SPQR) JF James (Worldine) JB Roux (Worldline)
REST
GraphQL
DB
Payment
Scoring
Merchant
Contract
Demo time!

https://github.com/jefrajames/eclipsecon2020
• Client-side APIs: high level + dynamic
• Better integration with other MP specs
• Pagination made easy
• GraphQL Context injection
• GraphQL DataLoader for complex queries
• Query-cost analysis?
MicroProfile GraphQL next steps
• GraphQL use-cases:
– Rich data models, data-intensive APIs
– Aggregation of data sources and services
– Flexibility & diversity on the client-side
• Challenges for GraphQL adoption:
– A new technology to introduce
– Schema design
– Revisited API management
• MicroProfile aims at facilitating your GraphQL adoption!
Conclusion
Thank you!



Time for Q&A
• TexShow Demo: https://github.com/jefrajames/texshow
• GraphQL: Designing a Data Language by Lee Byron
• GraphQL et pour quoi faire by Octo Talk
• REST API Design - Resource Modeling by ThoughtWorks
• GraphQL best practises by Manish Jain
• A query language for your API by Bhargav Anakdat
• Architecture styles and the design of network-based architectures by Roy Fielding
• https://nordicapis.com/interview-with-graphql-co-creator-lee-byron/
• https://restfulapi.net/
• GraphQL and caching: The elephant in the room
References

More Related Content

What's hot (20)

PDF
GraphQL Search
Artem Shtatnov
 
PPTX
Introduction to GraphQL
Rodrigo Prates
 
PPTX
An intro to GraphQL
valuebound
 
PPTX
CONDG April 23 2020 - Baskar Rao - GraphQL
Matthew Groves
 
PDF
GraphQL London January 2018: Graphql tooling
Søren Bramer Schmidt
 
PDF
Boost your APIs with GraphQL 1.0
Otávio Santana
 
PDF
Intro to GraphQL
Rakuten Group, Inc.
 
PDF
Modular GraphQL with Schema Stitching
Sashko Stubailo
 
PDF
GraphQL
Joel Corrêa
 
PDF
Enterprise graph applications
David Colebatch
 
PDF
Adding GraphQL to your existing architecture
Sashko Stubailo
 
PPT
Graphql presentation
Vibhor Grover
 
PDF
The Apollo and GraphQL Stack
Sashko Stubailo
 
PDF
GraphQL + relay
Cédric GILLET
 
PDF
GraphQL across the stack: How everything fits together
Sashko Stubailo
 
PPTX
GraphQL Introduction
Serge Huber
 
PDF
GraphQL: Enabling a new generation of API developer tools
Sashko Stubailo
 
PDF
GraphQL & Relay
Viacheslav Slinko
 
PDF
GraphConnect 2014 SF: How eBay and Shutl Deliver Even Faster Using Neo4j
Neo4j
 
PPTX
Taking Control of your Data with GraphQL
Vinci Rufus
 
GraphQL Search
Artem Shtatnov
 
Introduction to GraphQL
Rodrigo Prates
 
An intro to GraphQL
valuebound
 
CONDG April 23 2020 - Baskar Rao - GraphQL
Matthew Groves
 
GraphQL London January 2018: Graphql tooling
Søren Bramer Schmidt
 
Boost your APIs with GraphQL 1.0
Otávio Santana
 
Intro to GraphQL
Rakuten Group, Inc.
 
Modular GraphQL with Schema Stitching
Sashko Stubailo
 
GraphQL
Joel Corrêa
 
Enterprise graph applications
David Colebatch
 
Adding GraphQL to your existing architecture
Sashko Stubailo
 
Graphql presentation
Vibhor Grover
 
The Apollo and GraphQL Stack
Sashko Stubailo
 
GraphQL + relay
Cédric GILLET
 
GraphQL across the stack: How everything fits together
Sashko Stubailo
 
GraphQL Introduction
Serge Huber
 
GraphQL: Enabling a new generation of API developer tools
Sashko Stubailo
 
GraphQL & Relay
Viacheslav Slinko
 
GraphConnect 2014 SF: How eBay and Shutl Deliver Even Faster Using Neo4j
Neo4j
 
Taking Control of your Data with GraphQL
Vinci Rufus
 

Similar to Boost your APIs with GraphQL (20)

PDF
Boost your API with GraphQL
Jean-Francois James
 
PDF
Spring GraphQL
VMware Tanzu
 
PPTX
apidays LIVE Australia 2020 - Have your cake and eat it too: GraphQL? REST? W...
apidays
 
PPTX
gRPC, GraphQL, REST - Which API Tech to use - API Conference Berlin oct 20
Phil Wilkins
 
PPTX
GraphQL-ify your APIs - Devoxx UK 2021
Soham Dasgupta
 
PPTX
GraphQL-ify your APIs
Soham Dasgupta
 
PDF
GraphQL Europe Recap
Philipp Sporrer
 
PDF
Graphql usage
Valentin Buryakov
 
PDF
Implementing OpenAPI and GraphQL services with gRPC
Tim Burks
 
PDF
Java 23 and Beyond - A Roadmap Of Innovations
Ana-Maria Mihalceanu
 
PPTX
Create GraphQL server with apolloJS
Jonathan Jalouzot
 
PDF
Sashko Stubailo - The GraphQL and Apollo Stack: connecting everything together
React Conf Brasil
 
PDF
apidays LIVE Paris - GraphQL meshes by Jens Neuse
apidays
 
PDF
GraphQL- Presentation
Ridwan Fadjar
 
PPTX
GraphQL research summary
Objectivity
 
PDF
GraphQL and its schema as a universal layer for database access
Connected Data World
 
PPTX
GraphQL API Crafts presentation
Sudheer J
 
PDF
Google AppEngine @Open World Forum 2012 - 12 oct.2012
Paris Open Source Summit
 
PDF
OWF12/Java Moussine pouchkine Girard
Paris Open Source Summit
 
PDF
App Engine Overview @ Google Hackathon SXSW 2010
Chris Schalk
 
Boost your API with GraphQL
Jean-Francois James
 
Spring GraphQL
VMware Tanzu
 
apidays LIVE Australia 2020 - Have your cake and eat it too: GraphQL? REST? W...
apidays
 
gRPC, GraphQL, REST - Which API Tech to use - API Conference Berlin oct 20
Phil Wilkins
 
GraphQL-ify your APIs - Devoxx UK 2021
Soham Dasgupta
 
GraphQL-ify your APIs
Soham Dasgupta
 
GraphQL Europe Recap
Philipp Sporrer
 
Graphql usage
Valentin Buryakov
 
Implementing OpenAPI and GraphQL services with gRPC
Tim Burks
 
Java 23 and Beyond - A Roadmap Of Innovations
Ana-Maria Mihalceanu
 
Create GraphQL server with apolloJS
Jonathan Jalouzot
 
Sashko Stubailo - The GraphQL and Apollo Stack: connecting everything together
React Conf Brasil
 
apidays LIVE Paris - GraphQL meshes by Jens Neuse
apidays
 
GraphQL- Presentation
Ridwan Fadjar
 
GraphQL research summary
Objectivity
 
GraphQL and its schema as a universal layer for database access
Connected Data World
 
GraphQL API Crafts presentation
Sudheer J
 
Google AppEngine @Open World Forum 2012 - 12 oct.2012
Paris Open Source Summit
 
OWF12/Java Moussine pouchkine Girard
Paris Open Source Summit
 
App Engine Overview @ Google Hackathon SXSW 2010
Chris Schalk
 
Ad

More from Jean-Francois James (6)

PDF
When GenAI meets with Java with Quarkus and langchain4j
Jean-Francois James
 
PPTX
Loom promises: be there!
Jean-Francois James
 
PDF
LyonJUG-2023-v1.0.pdf
Jean-Francois James
 
PDF
ParisJUG-2022-v0.4.pdf
Jean-Francois James
 
PDF
Tnt 2020-jf-james
Jean-Francois James
 
PDF
Talk Oracle Code One 2019
Jean-Francois James
 
When GenAI meets with Java with Quarkus and langchain4j
Jean-Francois James
 
Loom promises: be there!
Jean-Francois James
 
LyonJUG-2023-v1.0.pdf
Jean-Francois James
 
ParisJUG-2022-v0.4.pdf
Jean-Francois James
 
Tnt 2020-jf-james
Jean-Francois James
 
Talk Oracle Code One 2019
Jean-Francois James
 
Ad

Recently uploaded (20)

PPTX
WYSIWYG Web Builder Crack 2025 – Free Download Full Version with License Key
HyperPc soft
 
PDF
Thread In Android-Mastering Concurrency for Responsive Apps.pdf
Nabin Dhakal
 
PPTX
An Introduction to ZAP by Checkmarx - Official Version
Simon Bennetts
 
PDF
interacting-with-ai-2023---module-2---session-3---handout.pdf
cniclsh1
 
PDF
Transform Retail with Smart Technology: Power Your Growth with Ginesys
Ginesys
 
PDF
Laboratory Workflows Digitalized and live in 90 days with Scifeon´s SAPPA P...
info969686
 
PDF
Efficient, Automated Claims Processing Software for Insurers
Insurance Tech Services
 
PPTX
Perfecting XM Cloud for Multisite Setup.pptx
Ahmed Okour
 
PPTX
Quality on Autopilot: Scaling Testing in Uyuni
Oscar Barrios Torrero
 
PDF
Dealing with JSON in the relational world
Andres Almiray
 
PPTX
ERP - FICO Presentation BY BSL BOKARO STEEL LIMITED.pptx
ravisranjan
 
PDF
Linux Certificate of Completion - LabEx Certificate
VICTOR MAESTRE RAMIREZ
 
PDF
Salesforce CRM Services.VALiNTRY360
VALiNTRY360
 
PDF
HiHelloHR – Simplify HR Operations for Modern Workplaces
HiHelloHR
 
PDF
Mobile CMMS Solutions Empowering the Frontline Workforce
CryotosCMMSSoftware
 
PDF
Continouous failure - Why do we make our lives hard?
Papp Krisztián
 
PPTX
Equipment Management Software BIS Safety UK.pptx
BIS Safety Software
 
PPTX
Feb 2021 Cohesity first pitch presentation.pptx
enginsayin1
 
PDF
Powering GIS with FME and VertiGIS - Peak of Data & AI 2025
Safe Software
 
PDF
GridView,Recycler view, API, SQLITE& NetworkRequest.pdf
Nabin Dhakal
 
WYSIWYG Web Builder Crack 2025 – Free Download Full Version with License Key
HyperPc soft
 
Thread In Android-Mastering Concurrency for Responsive Apps.pdf
Nabin Dhakal
 
An Introduction to ZAP by Checkmarx - Official Version
Simon Bennetts
 
interacting-with-ai-2023---module-2---session-3---handout.pdf
cniclsh1
 
Transform Retail with Smart Technology: Power Your Growth with Ginesys
Ginesys
 
Laboratory Workflows Digitalized and live in 90 days with Scifeon´s SAPPA P...
info969686
 
Efficient, Automated Claims Processing Software for Insurers
Insurance Tech Services
 
Perfecting XM Cloud for Multisite Setup.pptx
Ahmed Okour
 
Quality on Autopilot: Scaling Testing in Uyuni
Oscar Barrios Torrero
 
Dealing with JSON in the relational world
Andres Almiray
 
ERP - FICO Presentation BY BSL BOKARO STEEL LIMITED.pptx
ravisranjan
 
Linux Certificate of Completion - LabEx Certificate
VICTOR MAESTRE RAMIREZ
 
Salesforce CRM Services.VALiNTRY360
VALiNTRY360
 
HiHelloHR – Simplify HR Operations for Modern Workplaces
HiHelloHR
 
Mobile CMMS Solutions Empowering the Frontline Workforce
CryotosCMMSSoftware
 
Continouous failure - Why do we make our lives hard?
Papp Krisztián
 
Equipment Management Software BIS Safety UK.pptx
BIS Safety Software
 
Feb 2021 Cohesity first pitch presentation.pptx
enginsayin1
 
Powering GIS with FME and VertiGIS - Peak of Data & AI 2025
Safe Software
 
GridView,Recycler view, API, SQLITE& NetworkRequest.pdf
Nabin Dhakal
 

Boost your APIs with GraphQL

  • 2. A few words about me { name: “Jean-François James”, company: “Worldline”, mainSkill: “Software Architect”, technicalFocus: “Java”, openSourceContribution: “Eclipse MicroProfile GraphQL” }
  • 3. • GraphQL origins • REST @ GraphQL • MicroProfile GraphQL • Demo: how to GraphQL with MicroProfile? • Next steps & conclusion Agenda
  • 4. The origins A specification Created at Facebook in 2012 Open sourced in July 2015 Adopted by GitHub in 2016 Moved to the GraphQL Foundation eof 2018 REpresentational State Transfer Widely adopted Strong ecosystem Defined in 2000 An architecture style for modern Web apps
  • 5. REST & GraphQL REST GraphQL Core concept Resource Schema (strongly-typed) Endpoint Multiple Single (generic & query-able) Leverage HTTP Yes No API Documentation OpenAPI Built-in (schema-based) Data selection/request No Yes Multiple queries No Yes Partial results No Yes
  • 6. Is REST that easy?
  • 7. • A specification: http://spec.graphql.org • Query language: query, mutation, subscription • Runtime • A reference implementation: https://github.com/graphql/graphql-js • Multiple other implementations: http://graphql.org/code What is
  • 8. • Not about databases: – A way to talk to Web APIs – Intended to sit on top of your business logic • Not about “formal Graphs”: – Doesn’t mandate to model data in terms of nodes, edges, explicit relationships – Naturally interconnected data, super-clear capabilities of the API What is not GraphQL
  • 9. MicroProfile overview GraphQL Config Fault Tolerance Fallback Retry Timeout Circuit breaker Bulkhead OpenAPI Rest Client JWT Web API Health Metrics Open Tracing Observability Reactive Messaging Reactive Streams Context Propagation Long Running Action Core (3.3) JAX-RS CDI JSON-P JSON-B Standalone specs Jakarta EE (ex Java EE) foundation
  • 10. MicroProfile GraphQL WildFly Quarkus Open Liberty 1.0 1.0-M1Dec May Feb June Aug 2019 KICK OFF 2018 2020 EclipseCon Oct Andy McCright (IBM) Adam Anderson (IBM) Phillip Kruger (Red Hat) Bojan Tomic (SPQR) JF James (Worldine) JB Roux (Worldline)
  • 12. • Client-side APIs: high level + dynamic • Better integration with other MP specs • Pagination made easy • GraphQL Context injection • GraphQL DataLoader for complex queries • Query-cost analysis? MicroProfile GraphQL next steps
  • 13. • GraphQL use-cases: – Rich data models, data-intensive APIs – Aggregation of data sources and services – Flexibility & diversity on the client-side • Challenges for GraphQL adoption: – A new technology to introduce – Schema design – Revisited API management • MicroProfile aims at facilitating your GraphQL adoption! Conclusion
  • 15. • TexShow Demo: https://github.com/jefrajames/texshow • GraphQL: Designing a Data Language by Lee Byron • GraphQL et pour quoi faire by Octo Talk • REST API Design - Resource Modeling by ThoughtWorks • GraphQL best practises by Manish Jain • A query language for your API by Bhargav Anakdat • Architecture styles and the design of network-based architectures by Roy Fielding • https://nordicapis.com/interview-with-graphql-co-creator-lee-byron/ • https://restfulapi.net/ • GraphQL and caching: The elephant in the room References