SlideShare a Scribd company logo
1 of 33
Support unlimited and ever
changing customer
experiences with GraphQL
GraphQL Day Toronto
Feb 28, 2019
1
Please stand up if
you build (or are involved in building) web, mobile,
commerce, smart device… applications or products
2
Stay standing if
You build or support multiple types of customer
experiences (web, mobile, iot, home, vr, ar, etc…)
3
Stay standing if
You find that you are tasked with supporting more
and more different types of products & applications
4
Stay standing if
The products / applications that you support change
a few times / year
5
Stay standing if
The products / applications that you support change
more than 10x per year
6
Stay standing if
The products / applications that you support change
more than 100x per year
7
Stay standing if
The products / applications that you support change
more than 1000x per year
8
Stay standing if
The products / applications that you support change
more than 10,000x per year
9
Unlimited, and ever changing
10
Support unlimited and ever
changing customer
experiences with GraphQL
GraphQL Day Toronto
Feb 28, 2019
11
Andrew Kumar
Head of Product Development,
Digital Platform @ TELUS
Distinguished Instructor, Product
Management @ General Assembly
Twitter: @kumar
12
Bill Li
13
API Developer, Digital Platforms
@ TELUS
Collector of LEGO bricks and
Islay single malts. And write
code sometimes.
Twitter: @billxinli
Websites, web apps, mobile apps, tablets,
watches, cars, home, fridge, chatbots, social
media, smart sock, smart everything...
14
The number of customer
interfaces is growing yearly.
15
Personalization, availability, reliability, security,
accessibility, curation, tailored experiences...
16
Customer expectations /
demands are high.
17
Developers.
Developers.
Developers. (And Designers)
18
Talent experience is high.
19
Speed to market.
Team member effort reduction.
Re-use.
20
Business demands are high.
21
GraphQL enables capabilities,
prototypes, developer experience,
speed to market.
22
Adding new functionalities to existing RESTful APIs
REST API RESTful Endpoint
GET /products/:id
{
"common_1": "...",
"common_2": "...",
"common_3": "...",
"web_1": "...",
"web_2": "...",
"web_3": "...",
"mobile_1": "...",
"mobile_2": "...",
"mobile_3": "...",
"voice_1": "...",
"voice_2": "...",
"voice_3": "..."
}
- Just add it to the existing API?
- Web app doesn’t need all the attributes from the voice or
mobile experience
- API versioning?
- GET /v1/products/:id
- GET /v2/products/:id
- Start to fragment the API to expose multiple endpoints? One for each
user experience?
- GET /products/:id?view=mobile
- GET /products/:id?view=voice
Introducing GraphQL
Microservice 1 Service AdapterSchema/Resolver
type Product {
common_1: String!
common_2: String
common_3: String
web_1: String
web_2: String
web_3: String
mobile_1: String
mobile_2: String
mobile_3: String
voice_1: String
voice_2: String
voice_3: String
}
type Query {
products: [Product]
}
query Products {
products {
common_1
common_3
voice_1
}
}
Adding new functionalities to existing GraphQL API
Microservice 1 Service AdapterSchema/Resolver
type Product {
common_1: String
common_2: String
common_3: String
common_1_2_3: String
web_1: String
web_2: String
web_3: String @deprecated(reason:
"Field is deprecated!")
web_4: String
mobile_1: String
mobile_2: String
mobile_3: String
voice_1: String
voice_2: String
voice_3: String
shoe_1: String
shoe_2: String
shoe_3: String
}
query Products {
products {
common_1
common_3
voice_1
shoe_2
}
}
GraphQL Gateway With Schema Stitching
GraphQL GatewayCustomer Experiences Microservices/3rd Party APIs
Web Experience
Voice Experience
Mobile Experience
Gateway
Contentful Microservice 1
Shopify Microservice 2
GraphQL Gateway With Schema Stitching
GraphQL GatewayCustomer Experiences Microservices/3rd Party APIs
Web Experience
Voice Experience
Mobile Experience
Gateway
Content/Marketing Billing/Payment
Product/Services CSR/etc
GraphQL Gateway With Schema Stitching
GraphQL GatewayCustomer Experiences Microservices/3rd Party APIs
Web Experience
Voice Experience
Mobile Experience
Gateway
Contentful
Microservice 1
Shopify
Microservice 2
Microservice 3
Demo
Demo
GraphQL GatewayCustomer Experiences Microservices/3rd Party APIs
Web Experience Gateway
Contentful
Shopify
Demo
GraphQL GatewayCustomer Experiences Microservices/3rd Party APIs
Web Experience Gateway
Microservice (Review)
Contentful
Shopify
Conclusion
32
1. GQL allows arbitrarily selecting data that one needs from the schema, so
nothing extra is returned. This is a small, but still significant reduction in
computation and transfer cost.
a. GQL also allows for querying of arbitrary nested relationships with in any given type.
b. GQL (the spec) itself enables the above, this is not really possible out of the box with
RESTful endpoints. (Unless if you write a ton of custom code.)
2. Finally, the gateway allows for linking between separate GraphQL schema,
thus enabling loading of data in a nested manner via remote schemas.
a. And the usual properties of an API gateway for centralized discovery, orchestration,
caching, tracing, and rate limiting, etc.
Thank You
Andrew Kumar & Bill Li
GraphQL Day Toronto - Feb 28, 2019
33
@billxinli@kumar

More Related Content

What's hot

FutureLink | Strategic Tooling Decisions in ALM Engineering: Migrate or Coexi...
FutureLink | Strategic Tooling Decisions in ALM Engineering: Migrate or Coexi...FutureLink | Strategic Tooling Decisions in ALM Engineering: Migrate or Coexi...
FutureLink | Strategic Tooling Decisions in ALM Engineering: Migrate or Coexi...Intland Software GmbH
 
TURN YOUR DRUPAL INTO A DIGITAL EXPERIENCE PLATFORM (DXP)
TURN YOUR DRUPAL INTO A DIGITAL EXPERIENCE PLATFORM (DXP)TURN YOUR DRUPAL INTO A DIGITAL EXPERIENCE PLATFORM (DXP)
TURN YOUR DRUPAL INTO A DIGITAL EXPERIENCE PLATFORM (DXP)Drupal Portugal
 
Intland Software | Welcome and Opening Remarks - Intland Connect - 21 Oct 2020
Intland Software | Welcome and Opening Remarks - Intland Connect - 21 Oct 2020Intland Software | Welcome and Opening Remarks - Intland Connect - 21 Oct 2020
Intland Software | Welcome and Opening Remarks - Intland Connect - 21 Oct 2020Intland Software GmbH
 
The Path to Open Banking
The Path to Open BankingThe Path to Open Banking
The Path to Open BankingMuleSoft
 
DevOps Transformation in Microsoft – Case Study by Ognjen Bajic and Ana Roje ...
DevOps Transformation in Microsoft – Case Study by Ognjen Bajic and Ana Roje ...DevOps Transformation in Microsoft – Case Study by Ognjen Bajic and Ana Roje ...
DevOps Transformation in Microsoft – Case Study by Ognjen Bajic and Ana Roje ...Bosnia Agile
 
From Zero to A11Y: Building an Accessibility Culture
From Zero to A11Y: Building an Accessibility CultureFrom Zero to A11Y: Building an Accessibility Culture
From Zero to A11Y: Building an Accessibility CultureVMware Tanzu
 
Why you need a Developer Relations team for your API
Why you need a Developer Relations team for your APIWhy you need a Developer Relations team for your API
Why you need a Developer Relations team for your APIPronovix
 
Optimizing API Documentation: Some Guidelines and Effects
Optimizing API Documentation: Some Guidelines and EffectsOptimizing API Documentation: Some Guidelines and Effects
Optimizing API Documentation: Some Guidelines and EffectsPronovix
 
How to Prepare Your Apps for iOS 14 - Test Strategy, Coverage, & Best Practices
How to Prepare Your Apps for iOS 14 - Test Strategy, Coverage, & Best PracticesHow to Prepare Your Apps for iOS 14 - Test Strategy, Coverage, & Best Practices
How to Prepare Your Apps for iOS 14 - Test Strategy, Coverage, & Best PracticesPerfecto by Perforce
 
How Large Enterprises Use Platform Governance to Gain Agility
How Large Enterprises Use Platform Governance to Gain AgilityHow Large Enterprises Use Platform Governance to Gain Agility
How Large Enterprises Use Platform Governance to Gain AgilityOdaseva
 
App development for GlobeOne
App development for GlobeOneApp development for GlobeOne
App development for GlobeOneInfostretch
 
BA and Beyond 19 - Sponsor spotlight - OutSystems - Staying alive ... with lo...
BA and Beyond 19 - Sponsor spotlight - OutSystems - Staying alive ... with lo...BA and Beyond 19 - Sponsor spotlight - OutSystems - Staying alive ... with lo...
BA and Beyond 19 - Sponsor spotlight - OutSystems - Staying alive ... with lo...BA and Beyond
 
Guiding a Product Roadmap in a Chaotic World
Guiding a Product Roadmap in a Chaotic WorldGuiding a Product Roadmap in a Chaotic World
Guiding a Product Roadmap in a Chaotic WorldEric de Jager
 
IW14 Keynote, Dr. Wolfram Jost, CTO, Software AG
IW14 Keynote, Dr. Wolfram Jost, CTO, Software AGIW14 Keynote, Dr. Wolfram Jost, CTO, Software AG
IW14 Keynote, Dr. Wolfram Jost, CTO, Software AGSoftware AG
 
Innominds Corporate Overview June 2016 - PE Focused
Innominds Corporate Overview June 2016 - PE FocusedInnominds Corporate Overview June 2016 - PE Focused
Innominds Corporate Overview June 2016 - PE FocusedSuresh Kumar Kandipalli
 

What's hot (18)

FutureLink | Strategic Tooling Decisions in ALM Engineering: Migrate or Coexi...
FutureLink | Strategic Tooling Decisions in ALM Engineering: Migrate or Coexi...FutureLink | Strategic Tooling Decisions in ALM Engineering: Migrate or Coexi...
FutureLink | Strategic Tooling Decisions in ALM Engineering: Migrate or Coexi...
 
TURN YOUR DRUPAL INTO A DIGITAL EXPERIENCE PLATFORM (DXP)
TURN YOUR DRUPAL INTO A DIGITAL EXPERIENCE PLATFORM (DXP)TURN YOUR DRUPAL INTO A DIGITAL EXPERIENCE PLATFORM (DXP)
TURN YOUR DRUPAL INTO A DIGITAL EXPERIENCE PLATFORM (DXP)
 
Intland Software | Welcome and Opening Remarks - Intland Connect - 21 Oct 2020
Intland Software | Welcome and Opening Remarks - Intland Connect - 21 Oct 2020Intland Software | Welcome and Opening Remarks - Intland Connect - 21 Oct 2020
Intland Software | Welcome and Opening Remarks - Intland Connect - 21 Oct 2020
 
Android @ Neev
Android @ NeevAndroid @ Neev
Android @ Neev
 
The Path to Open Banking
The Path to Open BankingThe Path to Open Banking
The Path to Open Banking
 
DevOps Transformation in Microsoft – Case Study by Ognjen Bajic and Ana Roje ...
DevOps Transformation in Microsoft – Case Study by Ognjen Bajic and Ana Roje ...DevOps Transformation in Microsoft – Case Study by Ognjen Bajic and Ana Roje ...
DevOps Transformation in Microsoft – Case Study by Ognjen Bajic and Ana Roje ...
 
From Zero to A11Y: Building an Accessibility Culture
From Zero to A11Y: Building an Accessibility CultureFrom Zero to A11Y: Building an Accessibility Culture
From Zero to A11Y: Building an Accessibility Culture
 
Why you need a Developer Relations team for your API
Why you need a Developer Relations team for your APIWhy you need a Developer Relations team for your API
Why you need a Developer Relations team for your API
 
Optimizing API Documentation: Some Guidelines and Effects
Optimizing API Documentation: Some Guidelines and EffectsOptimizing API Documentation: Some Guidelines and Effects
Optimizing API Documentation: Some Guidelines and Effects
 
How to Prepare Your Apps for iOS 14 - Test Strategy, Coverage, & Best Practices
How to Prepare Your Apps for iOS 14 - Test Strategy, Coverage, & Best PracticesHow to Prepare Your Apps for iOS 14 - Test Strategy, Coverage, & Best Practices
How to Prepare Your Apps for iOS 14 - Test Strategy, Coverage, & Best Practices
 
How Large Enterprises Use Platform Governance to Gain Agility
How Large Enterprises Use Platform Governance to Gain AgilityHow Large Enterprises Use Platform Governance to Gain Agility
How Large Enterprises Use Platform Governance to Gain Agility
 
App development for GlobeOne
App development for GlobeOneApp development for GlobeOne
App development for GlobeOne
 
BA and Beyond 19 - Sponsor spotlight - OutSystems - Staying alive ... with lo...
BA and Beyond 19 - Sponsor spotlight - OutSystems - Staying alive ... with lo...BA and Beyond 19 - Sponsor spotlight - OutSystems - Staying alive ... with lo...
BA and Beyond 19 - Sponsor spotlight - OutSystems - Staying alive ... with lo...
 
Guiding a Product Roadmap in a Chaotic World
Guiding a Product Roadmap in a Chaotic WorldGuiding a Product Roadmap in a Chaotic World
Guiding a Product Roadmap in a Chaotic World
 
IW14 Keynote, Dr. Wolfram Jost, CTO, Software AG
IW14 Keynote, Dr. Wolfram Jost, CTO, Software AGIW14 Keynote, Dr. Wolfram Jost, CTO, Software AG
IW14 Keynote, Dr. Wolfram Jost, CTO, Software AG
 
Tech Teams - Glovo
Tech Teams - GlovoTech Teams - Glovo
Tech Teams - Glovo
 
Innominds Corporate Overview June 2016 - PE Focused
Innominds Corporate Overview June 2016 - PE FocusedInnominds Corporate Overview June 2016 - PE Focused
Innominds Corporate Overview June 2016 - PE Focused
 
Global KTech Corporate_3
Global KTech Corporate_3Global KTech Corporate_3
Global KTech Corporate_3
 

Similar to Support unlimited and ever changing customer experiences with GraphQL by Andrew Kumar and Bill Li

TechTalk: Accelerate Mobile Development using SDKs and Open APIs With CA API ...
TechTalk: Accelerate Mobile Development using SDKs and Open APIs With CA API ...TechTalk: Accelerate Mobile Development using SDKs and Open APIs With CA API ...
TechTalk: Accelerate Mobile Development using SDKs and Open APIs With CA API ...CA Technologies
 
apidays LIVE Australia - From micro to macro-coordination through domain-cent...
apidays LIVE Australia - From micro to macro-coordination through domain-cent...apidays LIVE Australia - From micro to macro-coordination through domain-cent...
apidays LIVE Australia - From micro to macro-coordination through domain-cent...apidays
 
Appear IQ The Business Case for hybrid html5 mobile apps
Appear IQ The Business Case for hybrid html5 mobile appsAppear IQ The Business Case for hybrid html5 mobile apps
Appear IQ The Business Case for hybrid html5 mobile appsAppear
 
INTERFACE by apidays - API Success: Running a Successful API Program by Nelso...
INTERFACE by apidays - API Success: Running a Successful API Program by Nelso...INTERFACE by apidays - API Success: Running a Successful API Program by Nelso...
INTERFACE by apidays - API Success: Running a Successful API Program by Nelso...apidays
 
WSO2Con Asia 2014 - Building the API-Centric Enterprise
WSO2Con Asia 2014 - Building the API-Centric EnterpriseWSO2Con Asia 2014 - Building the API-Centric Enterprise
WSO2Con Asia 2014 - Building the API-Centric EnterpriseWSO2
 
Red Hat Mobile
Red Hat MobileRed Hat Mobile
Red Hat MobileRed Hat
 
[WSO2 Summit Brazil 2018] The API-driven World
[WSO2 Summit Brazil 2018] The API-driven World[WSO2 Summit Brazil 2018] The API-driven World
[WSO2 Summit Brazil 2018] The API-driven WorldWSO2
 
MongoDB World 2018: Building Intelligent Apps with MongoDB & Google Cloud
MongoDB World 2018: Building Intelligent Apps with MongoDB & Google CloudMongoDB World 2018: Building Intelligent Apps with MongoDB & Google Cloud
MongoDB World 2018: Building Intelligent Apps with MongoDB & Google CloudMongoDB
 
APIdays Paris 2019 - Maintain & Evolve a Public GraphQL API by Aurélien Davi...
APIdays Paris 2019 - Maintain & Evolve a Public  GraphQL API by Aurélien Davi...APIdays Paris 2019 - Maintain & Evolve a Public  GraphQL API by Aurélien Davi...
APIdays Paris 2019 - Maintain & Evolve a Public GraphQL API by Aurélien Davi...apidays
 
[코세나, kosena] Auto ML, H2O.ai의 제조분야 AI 활용 사례
[코세나, kosena] Auto ML, H2O.ai의 제조분야 AI 활용 사례[코세나, kosena] Auto ML, H2O.ai의 제조분야 AI 활용 사례
[코세나, kosena] Auto ML, H2O.ai의 제조분야 AI 활용 사례kosena
 
"How Can Web Devs Reach the Mobile Market?" by Dimitris Michalakos, Web Techn...
"How Can Web Devs Reach the Mobile Market?" by Dimitris Michalakos, Web Techn..."How Can Web Devs Reach the Mobile Market?" by Dimitris Michalakos, Web Techn...
"How Can Web Devs Reach the Mobile Market?" by Dimitris Michalakos, Web Techn...Eurapp
 
WSO2 - Yenlo Integration Summit Stuttgart 15 May 2019 - API and Cell-based Ar...
WSO2 - Yenlo Integration Summit Stuttgart 15 May 2019 - API and Cell-based Ar...WSO2 - Yenlo Integration Summit Stuttgart 15 May 2019 - API and Cell-based Ar...
WSO2 - Yenlo Integration Summit Stuttgart 15 May 2019 - API and Cell-based Ar...Yenlo
 
[WSO2 Integration Summit Madrid 2019] Emerging Architecture Patterns: API-cen...
[WSO2 Integration Summit Madrid 2019] Emerging Architecture Patterns: API-cen...[WSO2 Integration Summit Madrid 2019] Emerging Architecture Patterns: API-cen...
[WSO2 Integration Summit Madrid 2019] Emerging Architecture Patterns: API-cen...WSO2
 
[WSO2 Integration Summit Stuttgart 2019] Emerging Architecture Patterns: API-...
[WSO2 Integration Summit Stuttgart 2019] Emerging Architecture Patterns: API-...[WSO2 Integration Summit Stuttgart 2019] Emerging Architecture Patterns: API-...
[WSO2 Integration Summit Stuttgart 2019] Emerging Architecture Patterns: API-...WSO2
 
[WSO2 Integration Summit Nairobi 2019] Emerging Architecture Patterns: API-ce...
[WSO2 Integration Summit Nairobi 2019] Emerging Architecture Patterns: API-ce...[WSO2 Integration Summit Nairobi 2019] Emerging Architecture Patterns: API-ce...
[WSO2 Integration Summit Nairobi 2019] Emerging Architecture Patterns: API-ce...WSO2
 
[WSO2 Integration Summit Paris 2019] Emerging Architecture Patterns API-centr...
[WSO2 Integration Summit Paris 2019] Emerging Architecture Patterns API-centr...[WSO2 Integration Summit Paris 2019] Emerging Architecture Patterns API-centr...
[WSO2 Integration Summit Paris 2019] Emerging Architecture Patterns API-centr...WSO2
 
NCode Off page.pptx
NCode Off page.pptxNCode Off page.pptx
NCode Off page.pptxNCodeTech1
 
5 vuforia studio intro sales presentation
5 vuforia studio intro sales presentation5 vuforia studio intro sales presentation
5 vuforia studio intro sales presentationSenthilkumar R
 

Similar to Support unlimited and ever changing customer experiences with GraphQL by Andrew Kumar and Bill Li (20)

TechTalk: Accelerate Mobile Development using SDKs and Open APIs With CA API ...
TechTalk: Accelerate Mobile Development using SDKs and Open APIs With CA API ...TechTalk: Accelerate Mobile Development using SDKs and Open APIs With CA API ...
TechTalk: Accelerate Mobile Development using SDKs and Open APIs With CA API ...
 
apidays LIVE Australia - From micro to macro-coordination through domain-cent...
apidays LIVE Australia - From micro to macro-coordination through domain-cent...apidays LIVE Australia - From micro to macro-coordination through domain-cent...
apidays LIVE Australia - From micro to macro-coordination through domain-cent...
 
Appear IQ The Business Case for hybrid html5 mobile apps
Appear IQ The Business Case for hybrid html5 mobile appsAppear IQ The Business Case for hybrid html5 mobile apps
Appear IQ The Business Case for hybrid html5 mobile apps
 
INTERFACE by apidays - API Success: Running a Successful API Program by Nelso...
INTERFACE by apidays - API Success: Running a Successful API Program by Nelso...INTERFACE by apidays - API Success: Running a Successful API Program by Nelso...
INTERFACE by apidays - API Success: Running a Successful API Program by Nelso...
 
WSO2Con Asia 2014 - Building the API-Centric Enterprise
WSO2Con Asia 2014 - Building the API-Centric EnterpriseWSO2Con Asia 2014 - Building the API-Centric Enterprise
WSO2Con Asia 2014 - Building the API-Centric Enterprise
 
Somnath Resume
Somnath ResumeSomnath Resume
Somnath Resume
 
Red Hat Mobile
Red Hat MobileRed Hat Mobile
Red Hat Mobile
 
[WSO2 Summit Brazil 2018] The API-driven World
[WSO2 Summit Brazil 2018] The API-driven World[WSO2 Summit Brazil 2018] The API-driven World
[WSO2 Summit Brazil 2018] The API-driven World
 
MongoDB World 2018: Building Intelligent Apps with MongoDB & Google Cloud
MongoDB World 2018: Building Intelligent Apps with MongoDB & Google CloudMongoDB World 2018: Building Intelligent Apps with MongoDB & Google Cloud
MongoDB World 2018: Building Intelligent Apps with MongoDB & Google Cloud
 
3Scale
3Scale3Scale
3Scale
 
APIdays Paris 2019 - Maintain & Evolve a Public GraphQL API by Aurélien Davi...
APIdays Paris 2019 - Maintain & Evolve a Public  GraphQL API by Aurélien Davi...APIdays Paris 2019 - Maintain & Evolve a Public  GraphQL API by Aurélien Davi...
APIdays Paris 2019 - Maintain & Evolve a Public GraphQL API by Aurélien Davi...
 
[코세나, kosena] Auto ML, H2O.ai의 제조분야 AI 활용 사례
[코세나, kosena] Auto ML, H2O.ai의 제조분야 AI 활용 사례[코세나, kosena] Auto ML, H2O.ai의 제조분야 AI 활용 사례
[코세나, kosena] Auto ML, H2O.ai의 제조분야 AI 활용 사례
 
"How Can Web Devs Reach the Mobile Market?" by Dimitris Michalakos, Web Techn...
"How Can Web Devs Reach the Mobile Market?" by Dimitris Michalakos, Web Techn..."How Can Web Devs Reach the Mobile Market?" by Dimitris Michalakos, Web Techn...
"How Can Web Devs Reach the Mobile Market?" by Dimitris Michalakos, Web Techn...
 
WSO2 - Yenlo Integration Summit Stuttgart 15 May 2019 - API and Cell-based Ar...
WSO2 - Yenlo Integration Summit Stuttgart 15 May 2019 - API and Cell-based Ar...WSO2 - Yenlo Integration Summit Stuttgart 15 May 2019 - API and Cell-based Ar...
WSO2 - Yenlo Integration Summit Stuttgart 15 May 2019 - API and Cell-based Ar...
 
[WSO2 Integration Summit Madrid 2019] Emerging Architecture Patterns: API-cen...
[WSO2 Integration Summit Madrid 2019] Emerging Architecture Patterns: API-cen...[WSO2 Integration Summit Madrid 2019] Emerging Architecture Patterns: API-cen...
[WSO2 Integration Summit Madrid 2019] Emerging Architecture Patterns: API-cen...
 
[WSO2 Integration Summit Stuttgart 2019] Emerging Architecture Patterns: API-...
[WSO2 Integration Summit Stuttgart 2019] Emerging Architecture Patterns: API-...[WSO2 Integration Summit Stuttgart 2019] Emerging Architecture Patterns: API-...
[WSO2 Integration Summit Stuttgart 2019] Emerging Architecture Patterns: API-...
 
[WSO2 Integration Summit Nairobi 2019] Emerging Architecture Patterns: API-ce...
[WSO2 Integration Summit Nairobi 2019] Emerging Architecture Patterns: API-ce...[WSO2 Integration Summit Nairobi 2019] Emerging Architecture Patterns: API-ce...
[WSO2 Integration Summit Nairobi 2019] Emerging Architecture Patterns: API-ce...
 
[WSO2 Integration Summit Paris 2019] Emerging Architecture Patterns API-centr...
[WSO2 Integration Summit Paris 2019] Emerging Architecture Patterns API-centr...[WSO2 Integration Summit Paris 2019] Emerging Architecture Patterns API-centr...
[WSO2 Integration Summit Paris 2019] Emerging Architecture Patterns API-centr...
 
NCode Off page.pptx
NCode Off page.pptxNCode Off page.pptx
NCode Off page.pptx
 
5 vuforia studio intro sales presentation
5 vuforia studio intro sales presentation5 vuforia studio intro sales presentation
5 vuforia studio intro sales presentation
 

Recently uploaded

Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作ys8omjxb
 
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts serviceChennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts servicevipmodelshub1
 
VIP Kolkata Call Girl Alambazar 👉 8250192130 Available With Room
VIP Kolkata Call Girl Alambazar 👉 8250192130  Available With RoomVIP Kolkata Call Girl Alambazar 👉 8250192130  Available With Room
VIP Kolkata Call Girl Alambazar 👉 8250192130 Available With Roomdivyansh0kumar0
 
Denver Web Design brochure for public viewing
Denver Web Design brochure for public viewingDenver Web Design brochure for public viewing
Denver Web Design brochure for public viewingbigorange77
 
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一Fs
 
Complet Documnetation for Smart Assistant Application for Disabled Person
Complet Documnetation   for Smart Assistant Application for Disabled PersonComplet Documnetation   for Smart Assistant Application for Disabled Person
Complet Documnetation for Smart Assistant Application for Disabled Personfurqan222004
 
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Dana Luther
 
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一Fs
 
Magic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptxMagic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptxMartaLoveguard
 
Contact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New DelhiContact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New Delhimiss dipika
 
Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts serviceChennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts servicesonalikaur4
 
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)Christopher H Felton
 
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一z xss
 
定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一
定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一
定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一3sw2qly1
 
VIP Kolkata Call Girl Kestopur 👉 8250192130 Available With Room
VIP Kolkata Call Girl Kestopur 👉 8250192130  Available With RoomVIP Kolkata Call Girl Kestopur 👉 8250192130  Available With Room
VIP Kolkata Call Girl Kestopur 👉 8250192130 Available With Roomdivyansh0kumar0
 
Russian Call Girls in Kolkata Samaira 🤌 8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Samaira 🤌  8250192130 🚀 Vip Call Girls KolkataRussian Call Girls in Kolkata Samaira 🤌  8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Samaira 🤌 8250192130 🚀 Vip Call Girls Kolkataanamikaraghav4
 
Low Rate Call Girls Kolkata Avani 🤌 8250192130 🚀 Vip Call Girls Kolkata
Low Rate Call Girls Kolkata Avani 🤌  8250192130 🚀 Vip Call Girls KolkataLow Rate Call Girls Kolkata Avani 🤌  8250192130 🚀 Vip Call Girls Kolkata
Low Rate Call Girls Kolkata Avani 🤌 8250192130 🚀 Vip Call Girls Kolkataanamikaraghav4
 

Recently uploaded (20)

Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
 
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts serviceChennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
 
VIP Kolkata Call Girl Alambazar 👉 8250192130 Available With Room
VIP Kolkata Call Girl Alambazar 👉 8250192130  Available With RoomVIP Kolkata Call Girl Alambazar 👉 8250192130  Available With Room
VIP Kolkata Call Girl Alambazar 👉 8250192130 Available With Room
 
Denver Web Design brochure for public viewing
Denver Web Design brochure for public viewingDenver Web Design brochure for public viewing
Denver Web Design brochure for public viewing
 
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
 
Complet Documnetation for Smart Assistant Application for Disabled Person
Complet Documnetation   for Smart Assistant Application for Disabled PersonComplet Documnetation   for Smart Assistant Application for Disabled Person
Complet Documnetation for Smart Assistant Application for Disabled Person
 
Model Call Girl in Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in  Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in  Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
 
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
 
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
 
Magic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptxMagic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptx
 
Contact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New DelhiContact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New Delhi
 
Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts serviceChennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts service
 
Hot Sexy call girls in Rk Puram 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in  Rk Puram 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in  Rk Puram 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Rk Puram 🔝 9953056974 🔝 Delhi escort Service
 
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
 
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
 
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
 
定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一
定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一
定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一
 
VIP Kolkata Call Girl Kestopur 👉 8250192130 Available With Room
VIP Kolkata Call Girl Kestopur 👉 8250192130  Available With RoomVIP Kolkata Call Girl Kestopur 👉 8250192130  Available With Room
VIP Kolkata Call Girl Kestopur 👉 8250192130 Available With Room
 
Russian Call Girls in Kolkata Samaira 🤌 8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Samaira 🤌  8250192130 🚀 Vip Call Girls KolkataRussian Call Girls in Kolkata Samaira 🤌  8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Samaira 🤌 8250192130 🚀 Vip Call Girls Kolkata
 
Low Rate Call Girls Kolkata Avani 🤌 8250192130 🚀 Vip Call Girls Kolkata
Low Rate Call Girls Kolkata Avani 🤌  8250192130 🚀 Vip Call Girls KolkataLow Rate Call Girls Kolkata Avani 🤌  8250192130 🚀 Vip Call Girls Kolkata
Low Rate Call Girls Kolkata Avani 🤌 8250192130 🚀 Vip Call Girls Kolkata
 

Support unlimited and ever changing customer experiences with GraphQL by Andrew Kumar and Bill Li

  • 1. Support unlimited and ever changing customer experiences with GraphQL GraphQL Day Toronto Feb 28, 2019 1
  • 2. Please stand up if you build (or are involved in building) web, mobile, commerce, smart device… applications or products 2
  • 3. Stay standing if You build or support multiple types of customer experiences (web, mobile, iot, home, vr, ar, etc…) 3
  • 4. Stay standing if You find that you are tasked with supporting more and more different types of products & applications 4
  • 5. Stay standing if The products / applications that you support change a few times / year 5
  • 6. Stay standing if The products / applications that you support change more than 10x per year 6
  • 7. Stay standing if The products / applications that you support change more than 100x per year 7
  • 8. Stay standing if The products / applications that you support change more than 1000x per year 8
  • 9. Stay standing if The products / applications that you support change more than 10,000x per year 9
  • 10. Unlimited, and ever changing 10
  • 11. Support unlimited and ever changing customer experiences with GraphQL GraphQL Day Toronto Feb 28, 2019 11
  • 12. Andrew Kumar Head of Product Development, Digital Platform @ TELUS Distinguished Instructor, Product Management @ General Assembly Twitter: @kumar 12
  • 13. Bill Li 13 API Developer, Digital Platforms @ TELUS Collector of LEGO bricks and Islay single malts. And write code sometimes. Twitter: @billxinli
  • 14. Websites, web apps, mobile apps, tablets, watches, cars, home, fridge, chatbots, social media, smart sock, smart everything... 14
  • 15. The number of customer interfaces is growing yearly. 15
  • 16. Personalization, availability, reliability, security, accessibility, curation, tailored experiences... 16
  • 20. Speed to market. Team member effort reduction. Re-use. 20
  • 22. GraphQL enables capabilities, prototypes, developer experience, speed to market. 22
  • 23. Adding new functionalities to existing RESTful APIs REST API RESTful Endpoint GET /products/:id { "common_1": "...", "common_2": "...", "common_3": "...", "web_1": "...", "web_2": "...", "web_3": "...", "mobile_1": "...", "mobile_2": "...", "mobile_3": "...", "voice_1": "...", "voice_2": "...", "voice_3": "..." } - Just add it to the existing API? - Web app doesn’t need all the attributes from the voice or mobile experience - API versioning? - GET /v1/products/:id - GET /v2/products/:id - Start to fragment the API to expose multiple endpoints? One for each user experience? - GET /products/:id?view=mobile - GET /products/:id?view=voice
  • 24. Introducing GraphQL Microservice 1 Service AdapterSchema/Resolver type Product { common_1: String! common_2: String common_3: String web_1: String web_2: String web_3: String mobile_1: String mobile_2: String mobile_3: String voice_1: String voice_2: String voice_3: String } type Query { products: [Product] } query Products { products { common_1 common_3 voice_1 } }
  • 25. Adding new functionalities to existing GraphQL API Microservice 1 Service AdapterSchema/Resolver type Product { common_1: String common_2: String common_3: String common_1_2_3: String web_1: String web_2: String web_3: String @deprecated(reason: "Field is deprecated!") web_4: String mobile_1: String mobile_2: String mobile_3: String voice_1: String voice_2: String voice_3: String shoe_1: String shoe_2: String shoe_3: String } query Products { products { common_1 common_3 voice_1 shoe_2 } }
  • 26. GraphQL Gateway With Schema Stitching GraphQL GatewayCustomer Experiences Microservices/3rd Party APIs Web Experience Voice Experience Mobile Experience Gateway Contentful Microservice 1 Shopify Microservice 2
  • 27. GraphQL Gateway With Schema Stitching GraphQL GatewayCustomer Experiences Microservices/3rd Party APIs Web Experience Voice Experience Mobile Experience Gateway Content/Marketing Billing/Payment Product/Services CSR/etc
  • 28. GraphQL Gateway With Schema Stitching GraphQL GatewayCustomer Experiences Microservices/3rd Party APIs Web Experience Voice Experience Mobile Experience Gateway Contentful Microservice 1 Shopify Microservice 2 Microservice 3
  • 29. Demo
  • 30. Demo GraphQL GatewayCustomer Experiences Microservices/3rd Party APIs Web Experience Gateway Contentful Shopify
  • 31. Demo GraphQL GatewayCustomer Experiences Microservices/3rd Party APIs Web Experience Gateway Microservice (Review) Contentful Shopify
  • 32. Conclusion 32 1. GQL allows arbitrarily selecting data that one needs from the schema, so nothing extra is returned. This is a small, but still significant reduction in computation and transfer cost. a. GQL also allows for querying of arbitrary nested relationships with in any given type. b. GQL (the spec) itself enables the above, this is not really possible out of the box with RESTful endpoints. (Unless if you write a ton of custom code.) 2. Finally, the gateway allows for linking between separate GraphQL schema, thus enabling loading of data in a nested manner via remote schemas. a. And the usual properties of an API gateway for centralized discovery, orchestration, caching, tracing, and rate limiting, etc.
  • 33. Thank You Andrew Kumar & Bill Li GraphQL Day Toronto - Feb 28, 2019 33 @billxinli@kumar