SlideShare a Scribd company logo
Graph API strategies
CQRS for the sustainable API Economy
API Days Paris January 2018 #APIDaysParis
Gareth Jones
Principal API Architect
@garethj_msft
This Photo by Unknown Author is licensed under CC BY-SA
This Photo by Unknown Author is licensed under CC BY-NC-SA
Self-service => Business sea change
Sustain velocity
This Photo by Unknown Author is licensed under CC BY-NC-ND
You need to make change ITSELF self-service. @garethj_msft
Mobile Apps demand data THEIR way
Traversing links answers questions
What photos were taken recently by
my favorite photographers?
Which colleagues have recently
created documents?
All without adding new API surface.
Relationships enable
self-service
This Photo by Unknown Author is licensed under CC BY-NC-SA
3 Graph API
Approaches
1. GraphQL
2. OData
3. JSONAPI.org
Take Graphs AND REST into the shower?
This Photo by Unknown Author is licensed under CC BY-NC
mutation newArticle {
createArticle(
article: {
slug: “Riverbank flood…",
title: "Seine Highest",
status: live,
relatedArticles: [
{ id: 12345 },
{ id: 56789 }
]
})
}
Document
Store
Relationship
Store
Command and Query Responsibility Segregation
Blog.codecentric.de
Sustainability
Don’t fear
Graph APIs
This Photo by Unknown Author is licensed under CC BY-NC-SA
Thank you @garethj_msft

More Related Content

What's hot

Intuitive APIs and Developer Education
Intuitive APIs and Developer EducationIntuitive APIs and Developer Education
Intuitive APIs and Developer Education
Postman
 
Distribute and Monetize APIs
Distribute and Monetize APIsDistribute and Monetize APIs
Distribute and Monetize APIs
Kong Inc.
 
Axway's Journey to the Cloud
Axway's Journey to the CloudAxway's Journey to the Cloud
Axway's Journey to the Cloud
Axway
 
API Discovery: Visibility, Usability, and Advocacy
API Discovery: Visibility, Usability, and AdvocacyAPI Discovery: Visibility, Usability, and Advocacy
API Discovery: Visibility, Usability, and Advocacy
Bill Doerrfeld
 
Build and Manage Serverless APIs (APIDays Nordic, May 19th 2016)
Build and Manage Serverless APIs (APIDays Nordic, May 19th 2016)Build and Manage Serverless APIs (APIDays Nordic, May 19th 2016)
Build and Manage Serverless APIs (APIDays Nordic, May 19th 2016)
3scale
 
How to use Donuts and Onions for Scaling API Programs
How to use Donuts and Onions for Scaling API ProgramsHow to use Donuts and Onions for Scaling API Programs
How to use Donuts and Onions for Scaling API Programs
3scale
 
APIS for Startups - Running your Business Inside Out
APIS for Startups - Running your Business Inside OutAPIS for Startups - Running your Business Inside Out
APIS for Startups - Running your Business Inside Out
3scale
 
API workshop by AWS and 3scale
API workshop by AWS and 3scaleAPI workshop by AWS and 3scale
API workshop by AWS and 3scale
3scale
 
APIs and the Bot Revolution (APIDays Nordic, May 18)
APIs and the Bot Revolution (APIDays Nordic, May 18)APIs and the Bot Revolution (APIDays Nordic, May 18)
APIs and the Bot Revolution (APIDays Nordic, May 18)
3scale
 
POST/CON 2019 Workshop: Design, Develop, and Mock APIs with Postman
POST/CON 2019 Workshop: Design, Develop, and Mock APIs with PostmanPOST/CON 2019 Workshop: Design, Develop, and Mock APIs with Postman
POST/CON 2019 Workshop: Design, Develop, and Mock APIs with Postman
Postman
 
Enterprise ecommerce-webinar 1
Enterprise ecommerce-webinar 1Enterprise ecommerce-webinar 1
Enterprise ecommerce-webinar 1
Postman
 
apidays LIVE Australia 2021 - SEEK: Establishing a new API integration platfo...
apidays LIVE Australia 2021 - SEEK: Establishing a new API integration platfo...apidays LIVE Australia 2021 - SEEK: Establishing a new API integration platfo...
apidays LIVE Australia 2021 - SEEK: Establishing a new API integration platfo...
apidays
 
Apigee centralite io t webinar july 2015 share (2)
Apigee centralite io t webinar july 2015 share (2)Apigee centralite io t webinar july 2015 share (2)
Apigee centralite io t webinar july 2015 share (2)Apigee | Google Cloud
 
APIdays Paris 2019 - Delivering the Modern API: Know What it Takes by Nuwan D...
APIdays Paris 2019 - Delivering the Modern API: Know What it Takes by Nuwan D...APIdays Paris 2019 - Delivering the Modern API: Know What it Takes by Nuwan D...
APIdays Paris 2019 - Delivering the Modern API: Know What it Takes by Nuwan D...
apidays
 
A Connector, A Container and an API Walk into a Bar… Microservices Edition
A Connector, A Container and an API Walk into a Bar… Microservices EditionA Connector, A Container and an API Walk into a Bar… Microservices Edition
A Connector, A Container and an API Walk into a Bar… Microservices Edition
Steven Willmott
 
Postman Platform Overview: Be API-First, Not API-Last
Postman Platform Overview: Be API-First, Not API-LastPostman Platform Overview: Be API-First, Not API-Last
Postman Platform Overview: Be API-First, Not API-Last
Postman
 
A Connector, A Container and an API Walk Into a Bar: The Programmable World
A Connector, A Container and an API Walk Into a Bar: The Programmable World A Connector, A Container and an API Walk Into a Bar: The Programmable World
A Connector, A Container and an API Walk Into a Bar: The Programmable World
3scale
 
Microservices in action: How to actually build them
Microservices in action: How to actually build themMicroservices in action: How to actually build them
Microservices in action: How to actually build them
3scale
 
API Centric Development in PHP
API Centric Development in PHPAPI Centric Development in PHP
API Centric Development in PHPJoe Stagner
 
API's for innovative cloud and mobile apps
API's for innovative cloud and mobile appsAPI's for innovative cloud and mobile apps
API's for innovative cloud and mobile apps
Manmohan Gupta
 

What's hot (20)

Intuitive APIs and Developer Education
Intuitive APIs and Developer EducationIntuitive APIs and Developer Education
Intuitive APIs and Developer Education
 
Distribute and Monetize APIs
Distribute and Monetize APIsDistribute and Monetize APIs
Distribute and Monetize APIs
 
Axway's Journey to the Cloud
Axway's Journey to the CloudAxway's Journey to the Cloud
Axway's Journey to the Cloud
 
API Discovery: Visibility, Usability, and Advocacy
API Discovery: Visibility, Usability, and AdvocacyAPI Discovery: Visibility, Usability, and Advocacy
API Discovery: Visibility, Usability, and Advocacy
 
Build and Manage Serverless APIs (APIDays Nordic, May 19th 2016)
Build and Manage Serverless APIs (APIDays Nordic, May 19th 2016)Build and Manage Serverless APIs (APIDays Nordic, May 19th 2016)
Build and Manage Serverless APIs (APIDays Nordic, May 19th 2016)
 
How to use Donuts and Onions for Scaling API Programs
How to use Donuts and Onions for Scaling API ProgramsHow to use Donuts and Onions for Scaling API Programs
How to use Donuts and Onions for Scaling API Programs
 
APIS for Startups - Running your Business Inside Out
APIS for Startups - Running your Business Inside OutAPIS for Startups - Running your Business Inside Out
APIS for Startups - Running your Business Inside Out
 
API workshop by AWS and 3scale
API workshop by AWS and 3scaleAPI workshop by AWS and 3scale
API workshop by AWS and 3scale
 
APIs and the Bot Revolution (APIDays Nordic, May 18)
APIs and the Bot Revolution (APIDays Nordic, May 18)APIs and the Bot Revolution (APIDays Nordic, May 18)
APIs and the Bot Revolution (APIDays Nordic, May 18)
 
POST/CON 2019 Workshop: Design, Develop, and Mock APIs with Postman
POST/CON 2019 Workshop: Design, Develop, and Mock APIs with PostmanPOST/CON 2019 Workshop: Design, Develop, and Mock APIs with Postman
POST/CON 2019 Workshop: Design, Develop, and Mock APIs with Postman
 
Enterprise ecommerce-webinar 1
Enterprise ecommerce-webinar 1Enterprise ecommerce-webinar 1
Enterprise ecommerce-webinar 1
 
apidays LIVE Australia 2021 - SEEK: Establishing a new API integration platfo...
apidays LIVE Australia 2021 - SEEK: Establishing a new API integration platfo...apidays LIVE Australia 2021 - SEEK: Establishing a new API integration platfo...
apidays LIVE Australia 2021 - SEEK: Establishing a new API integration platfo...
 
Apigee centralite io t webinar july 2015 share (2)
Apigee centralite io t webinar july 2015 share (2)Apigee centralite io t webinar july 2015 share (2)
Apigee centralite io t webinar july 2015 share (2)
 
APIdays Paris 2019 - Delivering the Modern API: Know What it Takes by Nuwan D...
APIdays Paris 2019 - Delivering the Modern API: Know What it Takes by Nuwan D...APIdays Paris 2019 - Delivering the Modern API: Know What it Takes by Nuwan D...
APIdays Paris 2019 - Delivering the Modern API: Know What it Takes by Nuwan D...
 
A Connector, A Container and an API Walk into a Bar… Microservices Edition
A Connector, A Container and an API Walk into a Bar… Microservices EditionA Connector, A Container and an API Walk into a Bar… Microservices Edition
A Connector, A Container and an API Walk into a Bar… Microservices Edition
 
Postman Platform Overview: Be API-First, Not API-Last
Postman Platform Overview: Be API-First, Not API-LastPostman Platform Overview: Be API-First, Not API-Last
Postman Platform Overview: Be API-First, Not API-Last
 
A Connector, A Container and an API Walk Into a Bar: The Programmable World
A Connector, A Container and an API Walk Into a Bar: The Programmable World A Connector, A Container and an API Walk Into a Bar: The Programmable World
A Connector, A Container and an API Walk Into a Bar: The Programmable World
 
Microservices in action: How to actually build them
Microservices in action: How to actually build themMicroservices in action: How to actually build them
Microservices in action: How to actually build them
 
API Centric Development in PHP
API Centric Development in PHPAPI Centric Development in PHP
API Centric Development in PHP
 
API's for innovative cloud and mobile apps
API's for innovative cloud and mobile appsAPI's for innovative cloud and mobile apps
API's for innovative cloud and mobile apps
 

Similar to Graph API Strategies: CQRS for the sustainable API economy

Benvenuti nella “API Economy”
Benvenuti nella “API Economy”Benvenuti nella “API Economy”
Benvenuti nella “API Economy”
Codemotion
 
Leadership Session: Developing Mobile & Web Apps on AWS (MOB202-L) - AWS re:I...
Leadership Session: Developing Mobile & Web Apps on AWS (MOB202-L) - AWS re:I...Leadership Session: Developing Mobile & Web Apps on AWS (MOB202-L) - AWS re:I...
Leadership Session: Developing Mobile & Web Apps on AWS (MOB202-L) - AWS re:I...
Amazon Web Services
 
CMP319_Easily Coordinate Microservices, Build Serverless Apps, and Automate T...
CMP319_Easily Coordinate Microservices, Build Serverless Apps, and Automate T...CMP319_Easily Coordinate Microservices, Build Serverless Apps, and Automate T...
CMP319_Easily Coordinate Microservices, Build Serverless Apps, and Automate T...
Amazon Web Services
 
INTERFACE, by apidays - Aligning teams and strategies behind API investment ...
INTERFACE, by apidays  - Aligning teams and strategies behind API investment ...INTERFACE, by apidays  - Aligning teams and strategies behind API investment ...
INTERFACE, by apidays - Aligning teams and strategies behind API investment ...
apidays
 
Taking your Progressive Web App to the Next Level - AWS Summit Sydney 2018
Taking your Progressive Web App to the Next Level - AWS Summit Sydney 2018Taking your Progressive Web App to the Next Level - AWS Summit Sydney 2018
Taking your Progressive Web App to the Next Level - AWS Summit Sydney 2018
Amazon Web Services
 
Serverless Single Page Apps with React and Redux at ItCamp 2017
Serverless Single Page Apps with React and Redux at ItCamp 2017Serverless Single Page Apps with React and Redux at ItCamp 2017
Serverless Single Page Apps with React and Redux at ItCamp 2017
Melania Andrisan (Danciu)
 
Build a Serverless Application using GraphQL & AWS AppSync
Build a Serverless Application using GraphQL & AWS AppSyncBuild a Serverless Application using GraphQL & AWS AppSync
Build a Serverless Application using GraphQL & AWS AppSync
Amazon Web Services
 
Taking your Progressive Web App to the Next Level with GraphQL and AWS AppSync
Taking your Progressive Web App to the Next Level with GraphQL and AWS AppSyncTaking your Progressive Web App to the Next Level with GraphQL and AWS AppSync
Taking your Progressive Web App to the Next Level with GraphQL and AWS AppSync
Amazon Web Services
 
Your API description isn't worth the paper it's written on
Your API description isn't worth the paper it's written onYour API description isn't worth the paper it's written on
Your API description isn't worth the paper it's written on
Gareth Jones
 
Keynote: Announcing API and Microservice Innovations that Drive Business Agil...
Keynote: Announcing API and Microservice Innovations that Drive Business Agil...Keynote: Announcing API and Microservice Innovations that Drive Business Agil...
Keynote: Announcing API and Microservice Innovations that Drive Business Agil...
CA Technologies
 
Introduction to Serverless on AWS
Introduction to Serverless on AWSIntroduction to Serverless on AWS
Introduction to Serverless on AWS
Amazon Web Services
 
Spring Webflux
Spring WebfluxSpring Webflux
Spring Webflux
Carlos E. Salazar
 
JNation: REST APIs to GraphQL with Express and Apollo
JNation: REST APIs to GraphQL with Express and ApolloJNation: REST APIs to GraphQL with Express and Apollo
JNation: REST APIs to GraphQL with Express and Apollo
Roy Derks
 
Building Real-Time Serverless Backends with GraphQL
Building Real-Time Serverless Backends with GraphQLBuilding Real-Time Serverless Backends with GraphQL
Building Real-Time Serverless Backends with GraphQL
Amazon Web Services
 
善用 GraphQL 與 AWS AppSync 讓您的 Progressive Web App (PWA) 加速進化 (Level 200)
善用  GraphQL 與 AWS AppSync 讓您的  Progressive Web App (PWA) 加速進化 (Level 200)善用  GraphQL 與 AWS AppSync 讓您的  Progressive Web App (PWA) 加速進化 (Level 200)
善用 GraphQL 與 AWS AppSync 讓您的 Progressive Web App (PWA) 加速進化 (Level 200)
Amazon Web Services
 
apidays LIVE London 2021 - Getting started with Event-Driven APIs by Hugo Gue...
apidays LIVE London 2021 - Getting started with Event-Driven APIs by Hugo Gue...apidays LIVE London 2021 - Getting started with Event-Driven APIs by Hugo Gue...
apidays LIVE London 2021 - Getting started with Event-Driven APIs by Hugo Gue...
apidays
 
Accelerating Mobile App Data Synchronization and Real-Time Data Development w...
Accelerating Mobile App Data Synchronization and Real-Time Data Development w...Accelerating Mobile App Data Synchronization and Real-Time Data Development w...
Accelerating Mobile App Data Synchronization and Real-Time Data Development w...
Amazon Web Services
 
Twitter API 2.0
Twitter API 2.0Twitter API 2.0
Twitter API 2.0
Alex Payne
 
Websites go Serverless | AWS Floor28
Websites go Serverless | AWS Floor28Websites go Serverless | AWS Floor28
Websites go Serverless | AWS Floor28
Amazon Web Services
 
Websites go Serverless - Floor28
Websites go Serverless - Floor28Websites go Serverless - Floor28
Websites go Serverless - Floor28
Boaz Ziniman
 

Similar to Graph API Strategies: CQRS for the sustainable API economy (20)

Benvenuti nella “API Economy”
Benvenuti nella “API Economy”Benvenuti nella “API Economy”
Benvenuti nella “API Economy”
 
Leadership Session: Developing Mobile & Web Apps on AWS (MOB202-L) - AWS re:I...
Leadership Session: Developing Mobile & Web Apps on AWS (MOB202-L) - AWS re:I...Leadership Session: Developing Mobile & Web Apps on AWS (MOB202-L) - AWS re:I...
Leadership Session: Developing Mobile & Web Apps on AWS (MOB202-L) - AWS re:I...
 
CMP319_Easily Coordinate Microservices, Build Serverless Apps, and Automate T...
CMP319_Easily Coordinate Microservices, Build Serverless Apps, and Automate T...CMP319_Easily Coordinate Microservices, Build Serverless Apps, and Automate T...
CMP319_Easily Coordinate Microservices, Build Serverless Apps, and Automate T...
 
INTERFACE, by apidays - Aligning teams and strategies behind API investment ...
INTERFACE, by apidays  - Aligning teams and strategies behind API investment ...INTERFACE, by apidays  - Aligning teams and strategies behind API investment ...
INTERFACE, by apidays - Aligning teams and strategies behind API investment ...
 
Taking your Progressive Web App to the Next Level - AWS Summit Sydney 2018
Taking your Progressive Web App to the Next Level - AWS Summit Sydney 2018Taking your Progressive Web App to the Next Level - AWS Summit Sydney 2018
Taking your Progressive Web App to the Next Level - AWS Summit Sydney 2018
 
Serverless Single Page Apps with React and Redux at ItCamp 2017
Serverless Single Page Apps with React and Redux at ItCamp 2017Serverless Single Page Apps with React and Redux at ItCamp 2017
Serverless Single Page Apps with React and Redux at ItCamp 2017
 
Build a Serverless Application using GraphQL & AWS AppSync
Build a Serverless Application using GraphQL & AWS AppSyncBuild a Serverless Application using GraphQL & AWS AppSync
Build a Serverless Application using GraphQL & AWS AppSync
 
Taking your Progressive Web App to the Next Level with GraphQL and AWS AppSync
Taking your Progressive Web App to the Next Level with GraphQL and AWS AppSyncTaking your Progressive Web App to the Next Level with GraphQL and AWS AppSync
Taking your Progressive Web App to the Next Level with GraphQL and AWS AppSync
 
Your API description isn't worth the paper it's written on
Your API description isn't worth the paper it's written onYour API description isn't worth the paper it's written on
Your API description isn't worth the paper it's written on
 
Keynote: Announcing API and Microservice Innovations that Drive Business Agil...
Keynote: Announcing API and Microservice Innovations that Drive Business Agil...Keynote: Announcing API and Microservice Innovations that Drive Business Agil...
Keynote: Announcing API and Microservice Innovations that Drive Business Agil...
 
Introduction to Serverless on AWS
Introduction to Serverless on AWSIntroduction to Serverless on AWS
Introduction to Serverless on AWS
 
Spring Webflux
Spring WebfluxSpring Webflux
Spring Webflux
 
JNation: REST APIs to GraphQL with Express and Apollo
JNation: REST APIs to GraphQL with Express and ApolloJNation: REST APIs to GraphQL with Express and Apollo
JNation: REST APIs to GraphQL with Express and Apollo
 
Building Real-Time Serverless Backends with GraphQL
Building Real-Time Serverless Backends with GraphQLBuilding Real-Time Serverless Backends with GraphQL
Building Real-Time Serverless Backends with GraphQL
 
善用 GraphQL 與 AWS AppSync 讓您的 Progressive Web App (PWA) 加速進化 (Level 200)
善用  GraphQL 與 AWS AppSync 讓您的  Progressive Web App (PWA) 加速進化 (Level 200)善用  GraphQL 與 AWS AppSync 讓您的  Progressive Web App (PWA) 加速進化 (Level 200)
善用 GraphQL 與 AWS AppSync 讓您的 Progressive Web App (PWA) 加速進化 (Level 200)
 
apidays LIVE London 2021 - Getting started with Event-Driven APIs by Hugo Gue...
apidays LIVE London 2021 - Getting started with Event-Driven APIs by Hugo Gue...apidays LIVE London 2021 - Getting started with Event-Driven APIs by Hugo Gue...
apidays LIVE London 2021 - Getting started with Event-Driven APIs by Hugo Gue...
 
Accelerating Mobile App Data Synchronization and Real-Time Data Development w...
Accelerating Mobile App Data Synchronization and Real-Time Data Development w...Accelerating Mobile App Data Synchronization and Real-Time Data Development w...
Accelerating Mobile App Data Synchronization and Real-Time Data Development w...
 
Twitter API 2.0
Twitter API 2.0Twitter API 2.0
Twitter API 2.0
 
Websites go Serverless | AWS Floor28
Websites go Serverless | AWS Floor28Websites go Serverless | AWS Floor28
Websites go Serverless | AWS Floor28
 
Websites go Serverless - Floor28
Websites go Serverless - Floor28Websites go Serverless - Floor28
Websites go Serverless - Floor28
 

More from Gareth Jones

Your API spec isn't worth the paper it's written on
Your API spec isn't worth the paper it's written onYour API spec isn't worth the paper it's written on
Your API spec isn't worth the paper it's written on
Gareth Jones
 
Microsoft Education APIs
Microsoft Education APIsMicrosoft Education APIs
Microsoft Education APIs
Gareth Jones
 
Gareth Jones AllAboutTheAPI KeyNote 2016
Gareth Jones AllAboutTheAPI KeyNote 2016Gareth Jones AllAboutTheAPI KeyNote 2016
Gareth Jones AllAboutTheAPI KeyNote 2016
Gareth Jones
 
Running Away from JSON APIStrat 2015 Edition
Running Away from JSON APIStrat 2015 EditionRunning Away from JSON APIStrat 2015 Edition
Running Away from JSON APIStrat 2015 Edition
Gareth Jones
 
Running Away from JSON (or what I learned building the OneNote API)
Running Away from JSON (or what I learned building the OneNote API)Running Away from JSON (or what I learned building the OneNote API)
Running Away from JSON (or what I learned building the OneNote API)
Gareth Jones
 
T4 scaffolding
T4 scaffoldingT4 scaffolding
T4 scaffolding
Gareth Jones
 

More from Gareth Jones (6)

Your API spec isn't worth the paper it's written on
Your API spec isn't worth the paper it's written onYour API spec isn't worth the paper it's written on
Your API spec isn't worth the paper it's written on
 
Microsoft Education APIs
Microsoft Education APIsMicrosoft Education APIs
Microsoft Education APIs
 
Gareth Jones AllAboutTheAPI KeyNote 2016
Gareth Jones AllAboutTheAPI KeyNote 2016Gareth Jones AllAboutTheAPI KeyNote 2016
Gareth Jones AllAboutTheAPI KeyNote 2016
 
Running Away from JSON APIStrat 2015 Edition
Running Away from JSON APIStrat 2015 EditionRunning Away from JSON APIStrat 2015 Edition
Running Away from JSON APIStrat 2015 Edition
 
Running Away from JSON (or what I learned building the OneNote API)
Running Away from JSON (or what I learned building the OneNote API)Running Away from JSON (or what I learned building the OneNote API)
Running Away from JSON (or what I learned building the OneNote API)
 
T4 scaffolding
T4 scaffoldingT4 scaffolding
T4 scaffolding
 

Recently uploaded

In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Globus
 
Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should Know
Peter Caitens
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
WSO2
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
Georgi Kodinov
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
Globus
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FME
Jelle | Nordend
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
Ortus Solutions, Corp
 
Strategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptxStrategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptx
varshanayak241
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
Cyanic lab
 
Visitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.appVisitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.app
NaapbooksPrivateLimi
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Anthony Dahanne
 
Why React Native as a Strategic Advantage for Startup Innovation.pdf
Why React Native as a Strategic Advantage for Startup Innovation.pdfWhy React Native as a Strategic Advantage for Startup Innovation.pdf
Why React Native as a Strategic Advantage for Startup Innovation.pdf
ayushiqss
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Globus
 
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
XfilesPro
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 

Recently uploaded (20)

In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
 
Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should Know
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FME
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
 
Strategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptxStrategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptx
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 
Visitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.appVisitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.app
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
 
Why React Native as a Strategic Advantage for Startup Innovation.pdf
Why React Native as a Strategic Advantage for Startup Innovation.pdfWhy React Native as a Strategic Advantage for Startup Innovation.pdf
Why React Native as a Strategic Advantage for Startup Innovation.pdf
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
 
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 

Graph API Strategies: CQRS for the sustainable API economy

Editor's Notes

  1. Good afternoon, Bonne Après-midi, my name is Gareth Jones, and I’ve been with Microsoft for twenty years now, working on APIs for about the last 5 or six. I spent a couple of years as an architect for the Microsoft Graph in the core team, and more recently in our Education team focusing on building a platform on the Graph for app-builders targeting the classroom. I’d like to take this brief twenty minutes or so to pitch an architectural style I believe can help us sustain the momentum of the API economy.
  2. So let me start with a question to you? What do you consider were they key drivers of the first wave of the API Economy? Anyone?
  3. IN my view, the key driver was SELF-SERVICE. Integrations between systems were suddenly cost-effective because they didn't require a complex business relationship and a large systems integration project. Instead they were largely self-service due to published APIs - internal or external.   This generated wonderful moments of business value to cost ratio.
  4. But this only gets the initial version of a project delivered. What happens when requirements change and more is needed from APIs we’ve consumed? Suddenly we are thrown back into the world of needing that deeper business relationship, as we need to ask our API supplier for additions. We’re back into an old-school project style and the velocity that characterized the API economy is at risk.
  5. In my the thing that will power a second wave of the API economy and keep our momentum going is if we can do for change what we did for project initiation.   You need to make change ITSELF self-service.   Where does most change come from today? It's either adding new pieces - a new value here or a new resource there. Any decent versioning policy can handle that. And that often tends to be driven from the provider side.
  6. Or it's reshaping requests and remixing the resources required. We see this mostly in the explosion of mobile apps. Most people building mobile apps are super-sensitive to the number of round trips to create the experience. Whether because of performance, or network reliability, getting things down to the holy grail of a single round trip to your service is always the goal.
  7. Fundamentally, graph-shaped APIs ENABLE data-shaping in one round trip by PREDEFINING RELATONSHIPS between resources. This example happens to be a part of the relationship set for the Microsoft Education Graph API that I work on. Many REST proponents worry that from an evolvability perspective, predefined relationships are constraining, but core relationships really don’t change. People have jobs and parents and contact lists and teachers. These things don’t radically change. Of course it depends on your domain.
  8. But those relationships really enable self-service queries well beyond the scenarios you originally envisioned when designing your API.
  9. When I say Graph APIs, many of you might be thinking only about GraphQL, as tis had so much buzz lately, but don’t fall into that trap. There are at least three viable Graph API implementation techs with realistic stacks behind them, and indeed OData and JSONAPI are already hybrid REST/Graph approaches, so in many ways, GraphQL is the least sophisticated, despite its popularity. But why does this matter? Given my claim that supporting self-service change is critical, why does REST matter? Shouldn’t being able to work purely with the Graph be sufficient?
  10. Graphs are really great for querying. You can see what customers use cases are over time and optimize with the right level of prequerying and caching. You can throttle where your system would find a query hard to serve. BUT, and it is a big BUT – updates are simply trickier to deal with.
  11. When we allow updating via a Graph, we create an impression that the Graph surface is a resource instead of a spanning query. In most real-world systems, interesting graph queries span multiple back-end systems. User tables mixed with transactions. Document stores mixed with comment stores or link stores. Updates across those stores are unlikely to behave atomically. Behavior for partial success is difficult to define if the client is not involved in the logic. Usually REST just works better. Hang on, we’ve seen this architecture before.
  12. A few years ago, CQRS-based architectures were all the rage. Essentially it’s a codification of extreme separation of responsibilities. Using a different pipeline for read than for updates and highly optimizing both.
  13. So here’s my call to action: Don’t be afraid of Graph APIs. Use them to give your customers flexibility and enable self-service change. If you don’t need that, probably they won’t help you. But if you do, don’t feel like they will constrain your ability to evolve your API.