SlideShare a Scribd company logo
1 of 16
Three Flavours of APIs
aka API Design Patterns
Chris Phillips
IBM Master Inventor
2IBM Think 2020
Who I am
Chris Phillips
IBM Master Inventor
API Guru
Author of the API Connect White Paper for v10 and v2018
IBM Cloud Integration Architect for the WW SWAT Team
IBM 12.5 years
Nearly 11 years in Integration
Blog: http://chrisphillips-cminion.github.io
LinkedIn: https://www.linkedin.com/in/chrisjphillips
Twitter: @cminion
2
Africa
© FreePowerPointMaps.com
South
America
Europe
North
America
Asia
Middle
East
Oceania
World by FreeVectorMaps.com
What is an API?
The exposure of a function to disparate systems
What is an API?
Other terms I have heard
• Designed to simplify the consumption of functions (Pure-ism)
• Has a specification
• Designed to provide as much information as needed to
consume it
• Just another name for a service
• Designed to get someone promoted
What is an API?
• What is the objective?
• Simplify onboarding
• Tracking consumption
• Self Service
• Speed to market
• What is your budget?
• Money
• Personnel
• Time
Questions you need to ask yourself
Try not to ask yourself
• What are your KPIs?
System API /
Use Case API
Three Flavours of APIs
Resource API Consumer API
Three Flavours of APIs
Resource API
• 1 - 1 mapping between Service to API
• No interface change
• No data model change
• Requires knowledge of the data model before it can be consumed
IntegrationSystem
Resource API
ValidateSecurity
Rate Limiting Docs & Spec
👩
🏼
💻
👩
🏼
💻
👩
🏼
💻
Three Flavours of APIs
System or Use Case API
IntegrationSystem
• Many - Many mapping between APIs
• Designed around the services available
• APIs built around use cases and need
• Business need fulfilling and aggregation
• Minimal data model change
• Requires knowledge of the data model before it can be consumed
System API / Use Case API
Map
Interface Change
Validate
Security
Rate Limiting
Docs & Spec👩
🏼
💻
👩
🏼
💻
👩
🏼
💻
IntegrationSystem
Three Flavours of APIs
Consumer API
👩
🏼
Consumer API
Map
Interface Change
Validate
Security
Rate Limiting
Docs & Spec👩
🏼
👩
🏼
• Purist
• Consumer APIs are not for a single Consumer
• Consumer has no knowledge of the downstream system they are invoking
• Designed around easy completion of Use Cases
• Data Model is restricted to exactly what is needed
• Potentially complex data model changes
• Consumer does not know about interface changes or mapping in the API
Three Flavours of APIs
Summary
👩
👩
🏼
💻
👩
🏼
IntegrationSystem
System API / Use Case API
Map
Interface Change
Validate
Security
Rate Limiting
Docs & Spec
Consumer API
Map
Interface Change
Validate
Security
Resource API
ValidateSecurity
Rate Limiting Docs & Spec
Rate Limiting
Docs & Spec
Three Flavours of APIs
System API / Use Case APIResource API Consumer API
Cost to Provider Low
Complexity to Provider Low
Complexity to Consumer High
Cost to Provider Medium
Complexity to Provider Medium
Complexity to Consumer Medium
Cost to Provider High
Complexity to Provider High
Complexity to Consumer Low
Pros
• Quick
• Minimal Design
• Resource Focused
Cons
• Not really an API
• Assumes Prior Knowledge of
data models and integration
layer
Pros
• Some simplification for
consumers
Cons
• Assumes Prior Knowledge of
data models and integration
layer
Pros
• Designed around the consumer
need
• Quick to consume
• Purest
Cons
• Expensive
• Lots of Design
Examples
• Philips Hue
• Cloudant
Examples
• GraphQL
Examples
• PSD2
• Facebook
• Twitter
Three Flavours of APIs
System API / Use Case APIResource API Consumer API
Cost to Provider Low
Complexity to Provider Low
Complexity to Consumer High
Cost to Provider Medium
Complexity to Provider Medium
Complexity to Consumer Medium
Cost to Provider High
Complexity to Provider High
Complexity to Consumer Low
Pros
• Quick
• Minimal Design
• Resource Focused
Cons
• Not really an API
• Assumes Prior Knowledge of
data models and integration
layer
Pros
• Some simplification for
consumers
Cons
• Assumes Prior Knowledge of
data models and integration
layer
Pros
• Designed around the consumer
need
• Quick to consume
• Purest
Cons
• Expensive
• Lots of Design
Examples
• Philips Hue
• Cloudant
Examples
• GraphQL
Examples
• PSD2
• Facebook
• Twitter
How do I know which to
choose
• Who is your long-term target audience?
• How big is your long-term target audience?
• How skilled is your target audience?
• How many APIs need to be delivered to be considered
useful?
• How many APIs are going to be delivered?
Blog: http://chrisphillips-cminion.github.io
LinkedIn: https://www.linkedin.com/in/chrisjphillips
Twitter: @cminion

More Related Content

What's hot

How to migrate an application in IBM APIc, and preserve its client credential
How to migrate an application in IBM APIc, and preserve its client credentialHow to migrate an application in IBM APIc, and preserve its client credential
How to migrate an application in IBM APIc, and preserve its client credentialShiu-Fun Poon
 
Overview of API Management Architectures
Overview of API Management ArchitecturesOverview of API Management Architectures
Overview of API Management ArchitecturesNordic APIs
 
INTERFACE, by apidays - Building contextualized API specifications by Boris ...
INTERFACE, by apidays  - Building contextualized API specifications by Boris ...INTERFACE, by apidays  - Building contextualized API specifications by Boris ...
INTERFACE, by apidays - Building contextualized API specifications by Boris ...apidays
 
Taming the FHIR of Healthcare with IBM's API Connect
Taming the FHIR of Healthcare with IBM's API ConnectTaming the FHIR of Healthcare with IBM's API Connect
Taming the FHIR of Healthcare with IBM's API ConnectNatalia Kataoka
 
HAM 1032 Combining the Power of IBM API Management and IBM Integration Bus
HAM 1032 Combining the Power of IBM API Management and IBM Integration BusHAM 1032 Combining the Power of IBM API Management and IBM Integration Bus
HAM 1032 Combining the Power of IBM API Management and IBM Integration BusKaren Broughton-Mabbitt
 
Achieving Microservices Maturity
Achieving Microservices MaturityAchieving Microservices Maturity
Achieving Microservices MaturityNordic APIs
 
API Design Best Practices & Tech Talk : API Craft Meetup @ Apigee
API Design Best Practices & Tech Talk : API Craft Meetup @ ApigeeAPI Design Best Practices & Tech Talk : API Craft Meetup @ Apigee
API Design Best Practices & Tech Talk : API Craft Meetup @ ApigeeAnil Sagar
 
Stream Processing in Action
Stream Processing in ActionStream Processing in Action
Stream Processing in ActionWSO2
 
API Management Demystified
API Management DemystifiedAPI Management Demystified
API Management DemystifiedManmohan Gupta
 
[WSO2Con EU 2018] Hybrid Cloud API Management - API Microgateways Anywhere
[WSO2Con EU 2018] Hybrid Cloud API Management - API Microgateways Anywhere[WSO2Con EU 2018] Hybrid Cloud API Management - API Microgateways Anywhere
[WSO2Con EU 2018] Hybrid Cloud API Management - API Microgateways AnywhereWSO2
 
Best Practices: The Role of API Management
Best Practices: The Role of API ManagementBest Practices: The Role of API Management
Best Practices: The Role of API ManagementAkana
 
Distributed Digital Manufacturing – How APIs are Powering the Next Industrial...
Distributed Digital Manufacturing – How APIs are Powering the Next Industrial...Distributed Digital Manufacturing – How APIs are Powering the Next Industrial...
Distributed Digital Manufacturing – How APIs are Powering the Next Industrial...Nordic APIs
 
Lessons Learned from Building Enterprise APIs (Gustaf Nyman)
Lessons Learned from Building Enterprise APIs (Gustaf Nyman)Lessons Learned from Building Enterprise APIs (Gustaf Nyman)
Lessons Learned from Building Enterprise APIs (Gustaf Nyman)Nordic APIs
 
API Services: Building State-of-the-Art APIs
API Services: Building State-of-the-Art APIsAPI Services: Building State-of-the-Art APIs
API Services: Building State-of-the-Art APIsApigee | Google Cloud
 
ConnectorsForIntegration
ConnectorsForIntegrationConnectorsForIntegration
ConnectorsForIntegrationbthomps1979
 
API Management For Building Software Applications Powerpoint Presentation Slides
API Management For Building Software Applications Powerpoint Presentation SlidesAPI Management For Building Software Applications Powerpoint Presentation Slides
API Management For Building Software Applications Powerpoint Presentation SlidesSlideTeam
 
apidays LIVE New York 2021 - Building Contextualized API Specifications by Bo...
apidays LIVE New York 2021 - Building Contextualized API Specifications by Bo...apidays LIVE New York 2021 - Building Contextualized API Specifications by Bo...
apidays LIVE New York 2021 - Building Contextualized API Specifications by Bo...apidays
 
Cloud Foundry Summit 2014: Introducing Cloud Foundry Integration for Eclipse
Cloud Foundry Summit 2014: Introducing Cloud Foundry Integration for EclipseCloud Foundry Summit 2014: Introducing Cloud Foundry Integration for Eclipse
Cloud Foundry Summit 2014: Introducing Cloud Foundry Integration for Eclipsedmbtr3
 
HIA 1015 Speed the Development of Robust Integrations with IBM Integration Bu...
HIA 1015 Speed the Development of Robust Integrations with IBM Integration Bu...HIA 1015 Speed the Development of Robust Integrations with IBM Integration Bu...
HIA 1015 Speed the Development of Robust Integrations with IBM Integration Bu...Karen Broughton-Mabbitt
 

What's hot (20)

How to migrate an application in IBM APIc, and preserve its client credential
How to migrate an application in IBM APIc, and preserve its client credentialHow to migrate an application in IBM APIc, and preserve its client credential
How to migrate an application in IBM APIc, and preserve its client credential
 
Overview of API Management Architectures
Overview of API Management ArchitecturesOverview of API Management Architectures
Overview of API Management Architectures
 
How Secure Are Your APIs?
How Secure Are Your APIs?How Secure Are Your APIs?
How Secure Are Your APIs?
 
INTERFACE, by apidays - Building contextualized API specifications by Boris ...
INTERFACE, by apidays  - Building contextualized API specifications by Boris ...INTERFACE, by apidays  - Building contextualized API specifications by Boris ...
INTERFACE, by apidays - Building contextualized API specifications by Boris ...
 
Taming the FHIR of Healthcare with IBM's API Connect
Taming the FHIR of Healthcare with IBM's API ConnectTaming the FHIR of Healthcare with IBM's API Connect
Taming the FHIR of Healthcare with IBM's API Connect
 
HAM 1032 Combining the Power of IBM API Management and IBM Integration Bus
HAM 1032 Combining the Power of IBM API Management and IBM Integration BusHAM 1032 Combining the Power of IBM API Management and IBM Integration Bus
HAM 1032 Combining the Power of IBM API Management and IBM Integration Bus
 
Achieving Microservices Maturity
Achieving Microservices MaturityAchieving Microservices Maturity
Achieving Microservices Maturity
 
API Design Best Practices & Tech Talk : API Craft Meetup @ Apigee
API Design Best Practices & Tech Talk : API Craft Meetup @ ApigeeAPI Design Best Practices & Tech Talk : API Craft Meetup @ Apigee
API Design Best Practices & Tech Talk : API Craft Meetup @ Apigee
 
Stream Processing in Action
Stream Processing in ActionStream Processing in Action
Stream Processing in Action
 
API Management Demystified
API Management DemystifiedAPI Management Demystified
API Management Demystified
 
[WSO2Con EU 2018] Hybrid Cloud API Management - API Microgateways Anywhere
[WSO2Con EU 2018] Hybrid Cloud API Management - API Microgateways Anywhere[WSO2Con EU 2018] Hybrid Cloud API Management - API Microgateways Anywhere
[WSO2Con EU 2018] Hybrid Cloud API Management - API Microgateways Anywhere
 
Best Practices: The Role of API Management
Best Practices: The Role of API ManagementBest Practices: The Role of API Management
Best Practices: The Role of API Management
 
Distributed Digital Manufacturing – How APIs are Powering the Next Industrial...
Distributed Digital Manufacturing – How APIs are Powering the Next Industrial...Distributed Digital Manufacturing – How APIs are Powering the Next Industrial...
Distributed Digital Manufacturing – How APIs are Powering the Next Industrial...
 
Lessons Learned from Building Enterprise APIs (Gustaf Nyman)
Lessons Learned from Building Enterprise APIs (Gustaf Nyman)Lessons Learned from Building Enterprise APIs (Gustaf Nyman)
Lessons Learned from Building Enterprise APIs (Gustaf Nyman)
 
API Services: Building State-of-the-Art APIs
API Services: Building State-of-the-Art APIsAPI Services: Building State-of-the-Art APIs
API Services: Building State-of-the-Art APIs
 
ConnectorsForIntegration
ConnectorsForIntegrationConnectorsForIntegration
ConnectorsForIntegration
 
API Management For Building Software Applications Powerpoint Presentation Slides
API Management For Building Software Applications Powerpoint Presentation SlidesAPI Management For Building Software Applications Powerpoint Presentation Slides
API Management For Building Software Applications Powerpoint Presentation Slides
 
apidays LIVE New York 2021 - Building Contextualized API Specifications by Bo...
apidays LIVE New York 2021 - Building Contextualized API Specifications by Bo...apidays LIVE New York 2021 - Building Contextualized API Specifications by Bo...
apidays LIVE New York 2021 - Building Contextualized API Specifications by Bo...
 
Cloud Foundry Summit 2014: Introducing Cloud Foundry Integration for Eclipse
Cloud Foundry Summit 2014: Introducing Cloud Foundry Integration for EclipseCloud Foundry Summit 2014: Introducing Cloud Foundry Integration for Eclipse
Cloud Foundry Summit 2014: Introducing Cloud Foundry Integration for Eclipse
 
HIA 1015 Speed the Development of Robust Integrations with IBM Integration Bu...
HIA 1015 Speed the Development of Robust Integrations with IBM Integration Bu...HIA 1015 Speed the Development of Robust Integrations with IBM Integration Bu...
HIA 1015 Speed the Development of Robust Integrations with IBM Integration Bu...
 

Similar to Flavours of APIs

Oscon2014 Netflix API - Top 10 Lessons Learned
Oscon2014 Netflix API - Top 10 Lessons LearnedOscon2014 Netflix API - Top 10 Lessons Learned
Oscon2014 Netflix API - Top 10 Lessons LearnedSangeeta Narayanan
 
Top 10 Lessons Learned from the Netflix API - OSCON 2014
Top 10 Lessons Learned from the Netflix API - OSCON 2014Top 10 Lessons Learned from the Netflix API - OSCON 2014
Top 10 Lessons Learned from the Netflix API - OSCON 2014Daniel Jacobson
 
Service api design validation & collaboration
Service api design validation & collaborationService api design validation & collaboration
Service api design validation & collaborationUchit Vyas ☁
 
apidays LIVE New York 2021 - Service API design validation by Uchit Vyas, KPMG
apidays LIVE New York 2021 - Service API design validation by Uchit Vyas, KPMGapidays LIVE New York 2021 - Service API design validation by Uchit Vyas, KPMG
apidays LIVE New York 2021 - Service API design validation by Uchit Vyas, KPMGapidays
 
2022 apidays LIVE Helsinki & North_How good are your APIs? Really?
2022 apidays LIVE Helsinki & North_How good are your APIs? Really?2022 apidays LIVE Helsinki & North_How good are your APIs? Really?
2022 apidays LIVE Helsinki & North_How good are your APIs? Really?apidays
 
Recipes for API Ninjas
Recipes for API NinjasRecipes for API Ninjas
Recipes for API NinjasNordic APIs
 
API Management in Digital Transformation
API Management in Digital TransformationAPI Management in Digital Transformation
API Management in Digital TransformationAditya Thatte
 
API Strategy Introduction
API Strategy IntroductionAPI Strategy Introduction
API Strategy IntroductionDoug Gregory
 
Maintaining the Front Door to Netflix
Maintaining the Front Door to NetflixMaintaining the Front Door to Netflix
Maintaining the Front Door to NetflixBenjamin Schmaus
 
API Documentation.pptx
API Documentation.pptxAPI Documentation.pptx
API Documentation.pptxRahulCR31
 
API Documentation.pptx
API Documentation.pptxAPI Documentation.pptx
API Documentation.pptxRahulCR31
 
Lessons learned on the Azure API Stewardship Journey.pptx
Lessons learned on the Azure API Stewardship Journey.pptxLessons learned on the Azure API Stewardship Journey.pptx
Lessons learned on the Azure API Stewardship Journey.pptxapidays
 
APidays Paris 2019 - API-First vs Data Driven Architecture by Jerome Louvel, ...
APidays Paris 2019 - API-First vs Data Driven Architecture by Jerome Louvel, ...APidays Paris 2019 - API-First vs Data Driven Architecture by Jerome Louvel, ...
APidays Paris 2019 - API-First vs Data Driven Architecture by Jerome Louvel, ...apidays
 
Global Azure 2022 - Architecting Modern Serverless APIs with Azure Functions ...
Global Azure 2022 - Architecting Modern Serverless APIs with Azure Functions ...Global Azure 2022 - Architecting Modern Serverless APIs with Azure Functions ...
Global Azure 2022 - Architecting Modern Serverless APIs with Azure Functions ...Callon Campbell
 
Building a REST API for Longevity
Building a REST API for LongevityBuilding a REST API for Longevity
Building a REST API for LongevityMuleSoft
 
code talks Commerce: The API Economy as an E-Commerce Operating System
code talks Commerce: The API Economy as an E-Commerce Operating Systemcode talks Commerce: The API Economy as an E-Commerce Operating System
code talks Commerce: The API Economy as an E-Commerce Operating SystemAdelina Todeva
 

Similar to Flavours of APIs (20)

Oscon2014 Netflix API - Top 10 Lessons Learned
Oscon2014 Netflix API - Top 10 Lessons LearnedOscon2014 Netflix API - Top 10 Lessons Learned
Oscon2014 Netflix API - Top 10 Lessons Learned
 
Top 10 Lessons Learned from the Netflix API - OSCON 2014
Top 10 Lessons Learned from the Netflix API - OSCON 2014Top 10 Lessons Learned from the Netflix API - OSCON 2014
Top 10 Lessons Learned from the Netflix API - OSCON 2014
 
Service api design validation & collaboration
Service api design validation & collaborationService api design validation & collaboration
Service api design validation & collaboration
 
apidays LIVE New York 2021 - Service API design validation by Uchit Vyas, KPMG
apidays LIVE New York 2021 - Service API design validation by Uchit Vyas, KPMGapidays LIVE New York 2021 - Service API design validation by Uchit Vyas, KPMG
apidays LIVE New York 2021 - Service API design validation by Uchit Vyas, KPMG
 
2022 apidays LIVE Helsinki & North_How good are your APIs? Really?
2022 apidays LIVE Helsinki & North_How good are your APIs? Really?2022 apidays LIVE Helsinki & North_How good are your APIs? Really?
2022 apidays LIVE Helsinki & North_How good are your APIs? Really?
 
Recipes for API Ninjas
Recipes for API NinjasRecipes for API Ninjas
Recipes for API Ninjas
 
API Management in Digital Transformation
API Management in Digital TransformationAPI Management in Digital Transformation
API Management in Digital Transformation
 
API Strategy Introduction
API Strategy IntroductionAPI Strategy Introduction
API Strategy Introduction
 
Maintaining the Front Door to Netflix
Maintaining the Front Door to NetflixMaintaining the Front Door to Netflix
Maintaining the Front Door to Netflix
 
Effective API Design
Effective API DesignEffective API Design
Effective API Design
 
API Documentation.pptx
API Documentation.pptxAPI Documentation.pptx
API Documentation.pptx
 
API Documentation.pptx
API Documentation.pptxAPI Documentation.pptx
API Documentation.pptx
 
Lessons learned on the Azure API Stewardship Journey.pptx
Lessons learned on the Azure API Stewardship Journey.pptxLessons learned on the Azure API Stewardship Journey.pptx
Lessons learned on the Azure API Stewardship Journey.pptx
 
How to design effective APIs
How to design effective APIsHow to design effective APIs
How to design effective APIs
 
Smartone v1.0
Smartone v1.0Smartone v1.0
Smartone v1.0
 
APidays Paris 2019 - API-First vs Data Driven Architecture by Jerome Louvel, ...
APidays Paris 2019 - API-First vs Data Driven Architecture by Jerome Louvel, ...APidays Paris 2019 - API-First vs Data Driven Architecture by Jerome Louvel, ...
APidays Paris 2019 - API-First vs Data Driven Architecture by Jerome Louvel, ...
 
Global Azure 2022 - Architecting Modern Serverless APIs with Azure Functions ...
Global Azure 2022 - Architecting Modern Serverless APIs with Azure Functions ...Global Azure 2022 - Architecting Modern Serverless APIs with Azure Functions ...
Global Azure 2022 - Architecting Modern Serverless APIs with Azure Functions ...
 
Building a REST API for Longevity
Building a REST API for LongevityBuilding a REST API for Longevity
Building a REST API for Longevity
 
code talks Commerce: The API Economy as an E-Commerce Operating System
code talks Commerce: The API Economy as an E-Commerce Operating Systemcode talks Commerce: The API Economy as an E-Commerce Operating System
code talks Commerce: The API Economy as an E-Commerce Operating System
 
API Reuse
API ReuseAPI Reuse
API Reuse
 

Recently uploaded

What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationJuha-Pekka Tolvanen
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2
 
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public AdministrationWSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public AdministrationWSO2
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
WSO2Con2024 - Low-Code Integration Tooling
WSO2Con2024 - Low-Code Integration ToolingWSO2Con2024 - Low-Code Integration Tooling
WSO2Con2024 - Low-Code Integration ToolingWSO2
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxAnnaArtyushina1
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
WSO2Con2024 - Organization Management: The Revolution in B2B CIAM
WSO2Con2024 - Organization Management: The Revolution in B2B CIAMWSO2Con2024 - Organization Management: The Revolution in B2B CIAM
WSO2Con2024 - Organization Management: The Revolution in B2B CIAMWSO2
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2
 
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...WSO2
 
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...WSO2
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2
 
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public AdministrationWSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public AdministrationWSO2
 
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...WSO2
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2
 

Recently uploaded (20)

What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public AdministrationWSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
WSO2Con2024 - Low-Code Integration Tooling
WSO2Con2024 - Low-Code Integration ToolingWSO2Con2024 - Low-Code Integration Tooling
WSO2Con2024 - Low-Code Integration Tooling
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
WSO2Con2024 - Organization Management: The Revolution in B2B CIAM
WSO2Con2024 - Organization Management: The Revolution in B2B CIAMWSO2Con2024 - Organization Management: The Revolution in B2B CIAM
WSO2Con2024 - Organization Management: The Revolution in B2B CIAM
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
 
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public AdministrationWSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
 
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 

Flavours of APIs

  • 1. Three Flavours of APIs aka API Design Patterns Chris Phillips IBM Master Inventor
  • 2. 2IBM Think 2020 Who I am Chris Phillips IBM Master Inventor API Guru Author of the API Connect White Paper for v10 and v2018 IBM Cloud Integration Architect for the WW SWAT Team IBM 12.5 years Nearly 11 years in Integration Blog: http://chrisphillips-cminion.github.io LinkedIn: https://www.linkedin.com/in/chrisjphillips Twitter: @cminion 2
  • 4. What is an API?
  • 5. The exposure of a function to disparate systems What is an API?
  • 6. Other terms I have heard • Designed to simplify the consumption of functions (Pure-ism) • Has a specification • Designed to provide as much information as needed to consume it • Just another name for a service • Designed to get someone promoted What is an API?
  • 7. • What is the objective? • Simplify onboarding • Tracking consumption • Self Service • Speed to market • What is your budget? • Money • Personnel • Time Questions you need to ask yourself Try not to ask yourself • What are your KPIs?
  • 8. System API / Use Case API Three Flavours of APIs Resource API Consumer API
  • 9. Three Flavours of APIs Resource API • 1 - 1 mapping between Service to API • No interface change • No data model change • Requires knowledge of the data model before it can be consumed IntegrationSystem Resource API ValidateSecurity Rate Limiting Docs & Spec 👩 🏼 💻 👩 🏼 💻 👩 🏼 💻
  • 10. Three Flavours of APIs System or Use Case API IntegrationSystem • Many - Many mapping between APIs • Designed around the services available • APIs built around use cases and need • Business need fulfilling and aggregation • Minimal data model change • Requires knowledge of the data model before it can be consumed System API / Use Case API Map Interface Change Validate Security Rate Limiting Docs & Spec👩 🏼 💻 👩 🏼 💻 👩 🏼 💻
  • 11. IntegrationSystem Three Flavours of APIs Consumer API 👩 🏼 Consumer API Map Interface Change Validate Security Rate Limiting Docs & Spec👩 🏼 👩 🏼 • Purist • Consumer APIs are not for a single Consumer • Consumer has no knowledge of the downstream system they are invoking • Designed around easy completion of Use Cases • Data Model is restricted to exactly what is needed • Potentially complex data model changes • Consumer does not know about interface changes or mapping in the API
  • 12. Three Flavours of APIs Summary 👩 👩 🏼 💻 👩 🏼 IntegrationSystem System API / Use Case API Map Interface Change Validate Security Rate Limiting Docs & Spec Consumer API Map Interface Change Validate Security Resource API ValidateSecurity Rate Limiting Docs & Spec Rate Limiting Docs & Spec
  • 13. Three Flavours of APIs System API / Use Case APIResource API Consumer API Cost to Provider Low Complexity to Provider Low Complexity to Consumer High Cost to Provider Medium Complexity to Provider Medium Complexity to Consumer Medium Cost to Provider High Complexity to Provider High Complexity to Consumer Low Pros • Quick • Minimal Design • Resource Focused Cons • Not really an API • Assumes Prior Knowledge of data models and integration layer Pros • Some simplification for consumers Cons • Assumes Prior Knowledge of data models and integration layer Pros • Designed around the consumer need • Quick to consume • Purest Cons • Expensive • Lots of Design Examples • Philips Hue • Cloudant Examples • GraphQL Examples • PSD2 • Facebook • Twitter
  • 14. Three Flavours of APIs System API / Use Case APIResource API Consumer API Cost to Provider Low Complexity to Provider Low Complexity to Consumer High Cost to Provider Medium Complexity to Provider Medium Complexity to Consumer Medium Cost to Provider High Complexity to Provider High Complexity to Consumer Low Pros • Quick • Minimal Design • Resource Focused Cons • Not really an API • Assumes Prior Knowledge of data models and integration layer Pros • Some simplification for consumers Cons • Assumes Prior Knowledge of data models and integration layer Pros • Designed around the consumer need • Quick to consume • Purest Cons • Expensive • Lots of Design Examples • Philips Hue • Cloudant Examples • GraphQL Examples • PSD2 • Facebook • Twitter
  • 15. How do I know which to choose • Who is your long-term target audience? • How big is your long-term target audience? • How skilled is your target audience? • How many APIs need to be delivered to be considered useful? • How many APIs are going to be delivered?

Editor's Notes

  1. World by FreeVectorMaps.com