SlideShare a Scribd company logo
Exposing GraphQLs as Managed APIs
Fazlan Nazeem, Associate Technical Lead, WSO2
Hiranya Abeyrathne, Software Engineer, WSO2
Agenda
● Introduction to GraphQL
● REST vs GraphQL
● Why API Management
● Graphql Support - WSO2 APIM 3.0.0
● Demo
● Roadmap of upcoming GraphQL features.
● Q&A
Introduction to GraphQL
GraphQL
● A query language for your API. Not a programming language.
● Ask what you need, and get exactly that.
● Developed internally by Facebook in 2012 before being publicly released
in 2015.
● Specification : https://graphql.github.io/graphql-spec/June2018/
● Reference Implementation: https://github.com/graphql/graphql-js
● Implementations of the GraphQL client, server in various languages are
available. https://graphql.org/code/
● GraphQL foundation : Airbnb, AWS, Apollo, Coursera, Facebook, GitHub,
Prisma, Shopify, IBM and Twitter
● Typically served over HTTP via a single endpoint which expresses the full
set of capabilities of the service.
Type System
● Defines the capabilities of an API
● All the types are exposed in an API, written
down in a language called (SDL) GraphQL
Schema Definition Language
● Contract between the client and the server.
Once it is defined, both sides are aware of
the data structure
● There are some special root types
(Query,Mutation,Subscription) - operations
Query
Fetching Data with Queries
Ex1: Facebook
Query (Contd)
Ex2: Github
Mutation
Writing data with Mutations (Making changes to the data stored in the
backend - create/update/delete)
● POST : <Endpoint URL> payload: { query: “mutation createPerson {name:
‘Alice, age:36’}”}
mutation {
createPerson(name: "Alice",age: 36) {
Id
}
}
{
"data": {
"createPerson": {
"id": "1234"
}
}
}
Subscription
Real time updates with Subscriptions (Have a real time connection to the
server)
subscription {
submitComment {
message
}
}
REST vs GraphQL
Rest vs GraphQL (Contd)
Ex: An app needs to display the titles of the
posts of a specific user. The same screen also
displays the names of the last 3 followers of
that user. How would that situation be solved
with REST and GraphQL?
REST : Accessing multiple Endpoints
/users/<id> - Fetch initial user data
/users/<id>/posts - Fetch all the posts for a user
/users/<id>/followers - Returns a list of
followers per user.
Rest vs GraphQL (Contd)
GraphQL : Sends a single
query
Pass the query to the
GraphQL server that includes
the concrete data
requirements. ( The client can
specify exactly the data it
needs in a query)
GraphQL Strengths and Weaknesses
• No more Over-fetching and Under-fetching
• Rapid Product Iterations on the Frontend
• Insightful Analytics on the Backend
• Benefits of a Schema & Type System
• Queries send more bytes than REST
• Caching is complicated
• Server needs to do more processing
• Extra cautions for GraphQL specific attacks
Why API Management?
API Management for GraphQL Services
• First class support for creating/publishing GraphQL APIs.
• Different levels of permissions for each operation.
• Different levels of rate limiting levels for each operation.
• Threat Protection ( Malicious/unintentional/Poor Queries )
• Operational Level Analytics.
Graphql Support
WSO2 APIM 3.0
What WSO2 APIM 3.0 Offers?
● First class support for Graphql APIs
○ Create a Graphql API by importing an SDL schema
○ Identify Graphql APIs automatically in the portals
○ Display operation list instead of resources
○ Display SDL schema instead of open API definition
○ Download option for SDL schema
○ Search option to Graphql type APIs ( type: GRAPHQL)
● Operational Level Security, Authorization and Rate limiting
Demo
Use Case - API Developer
Mike needs to expose the “Countries” API with the following rules
1. Continents operation needs to be authorized only for managers
2. Continents operation should be allowed for only one request per minute
3. Languages operation needs to be available for everyone
Jane needs to invoke Countries API which
has been published through WSO2 APIM
3.0.0 to retrieve the following.
• Code, name of all languages.
• Name of all countries,
code, name of all languages in each country
• Name of all continents,
Name of all countries in each continent,
Code, name of all languages of each
country.
Use Case - Application Developer
API Invocation
Managed Countries API
Roadmap
● Threat Protection
● Analytics support
● Websocket Subscription
● Micro-gw support
Q & A
● Download and try out: https://wso2.com/api-management/
● Slack Channel:
https://app.slack.com/client/TLVKGQN84/CLVKGR3BN
● GitHub: https://github.com/wso2/product-apim/issues
Webinars to Follow
● November 14 - API Security in a Cloud Native Era
● November 19 - Cloud Native APIs: The API Operator for Kubernetes
● November 21 - Beautifying the Beautiful: Theming WSO2 API
Manager
● December 03 - Mine Your APIs for Gold: API Monetization
● December 05 - Building a CI/CD Pipeline for APIs
THANK YOU
wso2.com

More Related Content

PDF
Real-Time ETL in Practice with WSO2 Enterprise Integrator
PDF
What’s new in WSO2 Enterprise Integrator 6.6
PDF
[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...
PDF
[Workshop] API-driven Integration
PDF
Continuous Integration and Continuous Deployment (CI/CD) with WSO2 Enterprise...
PDF
[APIdays Paris 2019] From Microservices to APIs: The API operator in Kubernetes
PDF
Deploying GraphQL Services as Managed APIs
PDF
Digital Transformation for Karnataka Bank Through API-led Integration
Real-Time ETL in Practice with WSO2 Enterprise Integrator
What’s new in WSO2 Enterprise Integrator 6.6
[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...
[Workshop] API-driven Integration
Continuous Integration and Continuous Deployment (CI/CD) with WSO2 Enterprise...
[APIdays Paris 2019] From Microservices to APIs: The API operator in Kubernetes
Deploying GraphQL Services as Managed APIs
Digital Transformation for Karnataka Bank Through API-led Integration

What's hot (20)

PDF
Beautifying the Beautiful: Theming WSO2 API Manager
PDF
Exposing Lambda Functions as Managed APIs
PDF
Explore the Latest on WSO2 Identity Server 5.11
PDF
How to Build a Scalable, Distributed, Multi-Cloud API Architecture on Kubernetes
PPTX
Aliaksei Bahachuk - JavaScript and Solution Architecture
PDF
Building and Deploying Complex Streaming Data Processing Pipelines with WSO2 ...
PDF
API Management for GraphQL
PDF
WSO2 API microgateway introduction
PPTX
How to move from Monolith to Microservice
PDF
MuleSoft Surat Virtual Meetup#19 - Identity and Client Management With MuleSoft
PDF
[WSO2Con EU 2018] Up-Leveling Brownfield Integration
PDF
[WSO2Con EU 2018] Enabling Agile Integration Teams
PDF
[WSO2 API Manager Community Call] Expose Services as Managed APIs
PPTX
apidays LIVE Australia 2020 - Productising your Microservices as API Products...
PDF
[Open Source Summit 2019] Microservices with Ballerina
PDF
[APIdays INTERFACE 2021] Now that we have K8s, can we stop re-inventing API p...
PDF
Botvinnik webinar
PDF
Adaptive Scaling of Microgateways on Kubernetes
PDF
The Fn Project: A Quick Introduction (December 2017)
PDF
Online Meetup - MuleSoft - June 2020
Beautifying the Beautiful: Theming WSO2 API Manager
Exposing Lambda Functions as Managed APIs
Explore the Latest on WSO2 Identity Server 5.11
How to Build a Scalable, Distributed, Multi-Cloud API Architecture on Kubernetes
Aliaksei Bahachuk - JavaScript and Solution Architecture
Building and Deploying Complex Streaming Data Processing Pipelines with WSO2 ...
API Management for GraphQL
WSO2 API microgateway introduction
How to move from Monolith to Microservice
MuleSoft Surat Virtual Meetup#19 - Identity and Client Management With MuleSoft
[WSO2Con EU 2018] Up-Leveling Brownfield Integration
[WSO2Con EU 2018] Enabling Agile Integration Teams
[WSO2 API Manager Community Call] Expose Services as Managed APIs
apidays LIVE Australia 2020 - Productising your Microservices as API Products...
[Open Source Summit 2019] Microservices with Ballerina
[APIdays INTERFACE 2021] Now that we have K8s, can we stop re-inventing API p...
Botvinnik webinar
Adaptive Scaling of Microgateways on Kubernetes
The Fn Project: A Quick Introduction (December 2017)
Online Meetup - MuleSoft - June 2020
Ad

Similar to Exposing GraphQLs as Managed APIs (20)

PPTX
Introduction to GraphQL
PDF
Tutorial: Building a GraphQL API in PHP
PDF
GraphQL across the stack: How everything fits together
PDF
Modern APIs with GraphQL
PDF
Getting Started with Spring for GraphQL
PDF
Rate Limiting GQLs Using Depth and Complexity Analysis
PDF
Implementing OpenAPI and GraphQL services with gRPC
PDF
apidays LIVE Helsinki - Implementing OpenAPI and GraphQL Services with gRPC b...
PDF
GraphQL in an Age of REST
PPTX
Kochi Mulesoft Meetup #6
PDF
Graphql usage
PDF
GraphQL and its schema as a universal layer for database access
PDF
GraphQL - A query language to empower your API consumers (NDC Sydney 2017)
PPTX
apidays LIVE Australia 2020 - Have your cake and eat it too: GraphQL? REST? W...
PPTX
GraphQL @ Manc.JS (March 2018)
PPTX
Attacking GraphQL
PDF
Simplify Access to Data from Pivotal GemFire Using the GraphQL (G2QL) Extension
PPT
Graphql presentation
PPTX
Anypoint Data Graphs
PDF
How easy (or hard) it is to monitor your graph ql service performance
Introduction to GraphQL
Tutorial: Building a GraphQL API in PHP
GraphQL across the stack: How everything fits together
Modern APIs with GraphQL
Getting Started with Spring for GraphQL
Rate Limiting GQLs Using Depth and Complexity Analysis
Implementing OpenAPI and GraphQL services with gRPC
apidays LIVE Helsinki - Implementing OpenAPI and GraphQL Services with gRPC b...
GraphQL in an Age of REST
Kochi Mulesoft Meetup #6
Graphql usage
GraphQL and its schema as a universal layer for database access
GraphQL - A query language to empower your API consumers (NDC Sydney 2017)
apidays LIVE Australia 2020 - Have your cake and eat it too: GraphQL? REST? W...
GraphQL @ Manc.JS (March 2018)
Attacking GraphQL
Simplify Access to Data from Pivotal GemFire Using the GraphQL (G2QL) Extension
Graphql presentation
Anypoint Data Graphs
How easy (or hard) it is to monitor your graph ql service performance
Ad

More from WSO2 (20)

PDF
Demystifying CMS-0057-F - Compliance Made Seamless with WSO2
PDF
Quantum Threats Are Closer Than You Think – Act Now to Stay Secure
PDF
Modern Platform Engineering with Choreo - The AI-Native Internal Developer Pl...
PDF
Application Modernization with Choreo - The AI-Native Internal Developer Plat...
PDF
Build Smarter, Deliver Faster with Choreo - An AI Native Internal Developer P...
PDF
Platformless Modernization with Choreo.pdf
PDF
Application Modernization with Choreo for the BFSI Sector
PDF
Choreo - The AI-Native Internal Developer Platform as a Service: Overview
PDF
[Roundtable] Choreo - The AI-Native Internal Developer Platform as a Service
PPTX
WSO2Con 2025 - Building AI Applications in the Enterprise (Part 1)
PPTX
WSO2Con 2025 - Building Secure Business Customer and Partner Experience (B2B)...
PPTX
WSO2Con 2025 - Building Secure Customer Experience Apps
PPTX
WSO2Con 2025 - AI-Driven API Design, Development, and Consumption with Enhanc...
PPTX
WSO2Con 2025 - AI-Driven API Design, Development, and Consumption with Enhanc...
PPTX
WSO2Con 2025 - Unified Management of Ingress and Egress Across Multiple API G...
PPTX
WSO2Con 2025 - How an Internal Developer Platform Lets Developers Focus on Code
PPTX
WSO2Con 2025 - Architecting Cloud-Native Applications
PDF
Mastering Intelligent Digital Experiences with Platformless Modernization
PDF
Accelerate Enterprise Software Engineering with Platformless
PDF
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
Demystifying CMS-0057-F - Compliance Made Seamless with WSO2
Quantum Threats Are Closer Than You Think – Act Now to Stay Secure
Modern Platform Engineering with Choreo - The AI-Native Internal Developer Pl...
Application Modernization with Choreo - The AI-Native Internal Developer Plat...
Build Smarter, Deliver Faster with Choreo - An AI Native Internal Developer P...
Platformless Modernization with Choreo.pdf
Application Modernization with Choreo for the BFSI Sector
Choreo - The AI-Native Internal Developer Platform as a Service: Overview
[Roundtable] Choreo - The AI-Native Internal Developer Platform as a Service
WSO2Con 2025 - Building AI Applications in the Enterprise (Part 1)
WSO2Con 2025 - Building Secure Business Customer and Partner Experience (B2B)...
WSO2Con 2025 - Building Secure Customer Experience Apps
WSO2Con 2025 - AI-Driven API Design, Development, and Consumption with Enhanc...
WSO2Con 2025 - AI-Driven API Design, Development, and Consumption with Enhanc...
WSO2Con 2025 - Unified Management of Ingress and Egress Across Multiple API G...
WSO2Con 2025 - How an Internal Developer Platform Lets Developers Focus on Code
WSO2Con 2025 - Architecting Cloud-Native Applications
Mastering Intelligent Digital Experiences with Platformless Modernization
Accelerate Enterprise Software Engineering with Platformless
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation

Recently uploaded (20)

PDF
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
PDF
KodekX | Application Modernization Development
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
Big Data Technologies - Introduction.pptx
PPTX
Cloud computing and distributed systems.
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
GamePlan Trading System Review: Professional Trader's Honest Take
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Electronic commerce courselecture one. Pdf
PDF
NewMind AI Monthly Chronicles - July 2025
PPT
Teaching material agriculture food technology
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
GDG Cloud Iasi [PUBLIC] Florian Blaga - Unveiling the Evolution of Cybersecur...
PDF
Machine learning based COVID-19 study performance prediction
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
KodekX | Application Modernization Development
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
MYSQL Presentation for SQL database connectivity
Big Data Technologies - Introduction.pptx
Cloud computing and distributed systems.
Diabetes mellitus diagnosis method based random forest with bat algorithm
Reach Out and Touch Someone: Haptics and Empathic Computing
GamePlan Trading System Review: Professional Trader's Honest Take
Mobile App Security Testing_ A Comprehensive Guide.pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?
Electronic commerce courselecture one. Pdf
NewMind AI Monthly Chronicles - July 2025
Teaching material agriculture food technology
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Unlocking AI with Model Context Protocol (MCP)
GDG Cloud Iasi [PUBLIC] Florian Blaga - Unveiling the Evolution of Cybersecur...
Machine learning based COVID-19 study performance prediction

Exposing GraphQLs as Managed APIs

  • 1. Exposing GraphQLs as Managed APIs Fazlan Nazeem, Associate Technical Lead, WSO2 Hiranya Abeyrathne, Software Engineer, WSO2
  • 2. Agenda ● Introduction to GraphQL ● REST vs GraphQL ● Why API Management ● Graphql Support - WSO2 APIM 3.0.0 ● Demo ● Roadmap of upcoming GraphQL features. ● Q&A
  • 4. GraphQL ● A query language for your API. Not a programming language. ● Ask what you need, and get exactly that. ● Developed internally by Facebook in 2012 before being publicly released in 2015. ● Specification : https://graphql.github.io/graphql-spec/June2018/ ● Reference Implementation: https://github.com/graphql/graphql-js ● Implementations of the GraphQL client, server in various languages are available. https://graphql.org/code/ ● GraphQL foundation : Airbnb, AWS, Apollo, Coursera, Facebook, GitHub, Prisma, Shopify, IBM and Twitter ● Typically served over HTTP via a single endpoint which expresses the full set of capabilities of the service.
  • 5. Type System ● Defines the capabilities of an API ● All the types are exposed in an API, written down in a language called (SDL) GraphQL Schema Definition Language ● Contract between the client and the server. Once it is defined, both sides are aware of the data structure ● There are some special root types (Query,Mutation,Subscription) - operations
  • 6. Query Fetching Data with Queries Ex1: Facebook
  • 8. Mutation Writing data with Mutations (Making changes to the data stored in the backend - create/update/delete) ● POST : <Endpoint URL> payload: { query: “mutation createPerson {name: ‘Alice, age:36’}”} mutation { createPerson(name: "Alice",age: 36) { Id } } { "data": { "createPerson": { "id": "1234" } } }
  • 9. Subscription Real time updates with Subscriptions (Have a real time connection to the server) subscription { submitComment { message } }
  • 11. Rest vs GraphQL (Contd) Ex: An app needs to display the titles of the posts of a specific user. The same screen also displays the names of the last 3 followers of that user. How would that situation be solved with REST and GraphQL? REST : Accessing multiple Endpoints /users/<id> - Fetch initial user data /users/<id>/posts - Fetch all the posts for a user /users/<id>/followers - Returns a list of followers per user.
  • 12. Rest vs GraphQL (Contd) GraphQL : Sends a single query Pass the query to the GraphQL server that includes the concrete data requirements. ( The client can specify exactly the data it needs in a query)
  • 13. GraphQL Strengths and Weaknesses • No more Over-fetching and Under-fetching • Rapid Product Iterations on the Frontend • Insightful Analytics on the Backend • Benefits of a Schema & Type System • Queries send more bytes than REST • Caching is complicated • Server needs to do more processing • Extra cautions for GraphQL specific attacks
  • 15. API Management for GraphQL Services • First class support for creating/publishing GraphQL APIs. • Different levels of permissions for each operation. • Different levels of rate limiting levels for each operation. • Threat Protection ( Malicious/unintentional/Poor Queries ) • Operational Level Analytics.
  • 17. What WSO2 APIM 3.0 Offers? ● First class support for Graphql APIs ○ Create a Graphql API by importing an SDL schema ○ Identify Graphql APIs automatically in the portals ○ Display operation list instead of resources ○ Display SDL schema instead of open API definition ○ Download option for SDL schema ○ Search option to Graphql type APIs ( type: GRAPHQL) ● Operational Level Security, Authorization and Rate limiting
  • 18. Demo
  • 19. Use Case - API Developer Mike needs to expose the “Countries” API with the following rules 1. Continents operation needs to be authorized only for managers 2. Continents operation should be allowed for only one request per minute 3. Languages operation needs to be available for everyone
  • 20. Jane needs to invoke Countries API which has been published through WSO2 APIM 3.0.0 to retrieve the following. • Code, name of all languages. • Name of all countries, code, name of all languages in each country • Name of all continents, Name of all countries in each continent, Code, name of all languages of each country. Use Case - Application Developer
  • 23. Roadmap ● Threat Protection ● Analytics support ● Websocket Subscription ● Micro-gw support
  • 24. Q & A
  • 25. ● Download and try out: https://wso2.com/api-management/ ● Slack Channel: https://app.slack.com/client/TLVKGQN84/CLVKGR3BN ● GitHub: https://github.com/wso2/product-apim/issues
  • 26. Webinars to Follow ● November 14 - API Security in a Cloud Native Era ● November 19 - Cloud Native APIs: The API Operator for Kubernetes ● November 21 - Beautifying the Beautiful: Theming WSO2 API Manager ● December 03 - Mine Your APIs for Gold: API Monetization ● December 05 - Building a CI/CD Pipeline for APIs