SlideShare uma empresa Scribd logo
1 de 24
Baixar para ler offline
Consumer driven
contracts
The evolution of your APIs
supported by tests
wemanity
@nelisboucke 

@matteo_pierro
A typical situation
• Several teams in a company need to integrate an API

• New functionality
ProviderConsumer
Consumer
Contract
…
How does the cooperation go?
Provider driven
• Provider builds API as they see fit

• Often just expose all info

• Consumer starts when provider is ready
Provider
Contract
Consumer
Consumer
…
Challenges for in our situation
• Often too complex to achieve normal flows
https://upload.wikimedia.org/wikipedia/commons/thumb/d/d6/STS120LaunchHiRes-edit1.jpg/1024px-STS120LaunchHiRes-edit1.jpg
Challenges for in our situation
• Ping-pong to make it work

• Never perfect fit for consumers

• Lots of waiting, bugs, interrupts to test, …
Challenges for in our situation
• Late feedback from end users
Good for
• API is (part of) the product

• Lots of (unknown) consumers

• many opportunities to collect feedback

• Budget for multiple iterations on the API
Contract driven
• Meeting to agree on the complete API in advance

• Build in parallel, use mock or stub

• Integrate at the end
Provider
Contract
Consumer
Consumer
…
Challenges in our situation
• Analysis paralysis + Contract negotiation over cooperation!
Challenges in our situation
• Most of the time details where not agreed on, so still mismatches
Challenges in our situation
Challenges in our situation
• Integration near deadline
Good for
• When you know what you need

• e.g integration with existing system and datamodel

• Working with a (external) party where you want to protect yourself

• At least it is clear what to expect
Consumer driven
• Short meeting to agree on basic structure of API

• Consumer iteratively builds + shares expectations

• Provider iteratively builds + verifies with expectations
Provider
Contract
Consumer
Consumer
…
Why is it good in our situation?
• You do not exactly know what you need

• Limited and known consumers

• You want to integrate fast

• Fast feedback

• Reduce integration risk
Challenges
• Tools needed to make it easier
Challenges
• Provider needs to adapt WoW to incorporate consumer changes
Challenges
• Consumer needs to work test driven and share expectations
Overview of Pact way of working
Implement location promotion
CI + demo
Topics to discuss?
• VS swagger and wire mock?

• What if something goes wrong?

• Demonstrate how works with CI in this case

• Versioning?

• Challenges on implementing this in your team(s)?

• Way of working a provider side?

• Incident?
Who are we?
Nelis Boucké Matteo Pierro
@nelisboucke 



@matteo_pierro

Mais conteúdo relacionado

Mais procurados

What's so great about web driver?
What's so great about web driver?What's so great about web driver?
What's so great about web driver?mwinteringham
 
AMC Networks Experiments Faster on the Server Side
AMC Networks Experiments Faster on the Server SideAMC Networks Experiments Faster on the Server Side
AMC Networks Experiments Faster on the Server SideOptimizely
 
(DEV308) Automating Your Software Delivery Pipeline | AWS re:Invent 2014
(DEV308) Automating Your Software Delivery Pipeline | AWS re:Invent 2014(DEV308) Automating Your Software Delivery Pipeline | AWS re:Invent 2014
(DEV308) Automating Your Software Delivery Pipeline | AWS re:Invent 2014Amazon Web Services
 
Vienna Agile Meetup: Epics 2022-03-07
Vienna Agile Meetup: Epics 2022-03-07Vienna Agile Meetup: Epics 2022-03-07
Vienna Agile Meetup: Epics 2022-03-07peter.croy
 
Consumer-driven contracts: avoid microservices integration hell! (LondonCD - ...
Consumer-driven contracts: avoid microservices integration hell! (LondonCD - ...Consumer-driven contracts: avoid microservices integration hell! (LondonCD - ...
Consumer-driven contracts: avoid microservices integration hell! (LondonCD - ...Pierre Vincent
 
How to avoid breaking other people's things
How to avoid breaking other people's thingsHow to avoid breaking other people's things
How to avoid breaking other people's thingsPronovix
 
Salesforce Developer Workshop for GDF Suez Hackathon
Salesforce Developer Workshop for GDF Suez HackathonSalesforce Developer Workshop for GDF Suez Hackathon
Salesforce Developer Workshop for GDF Suez HackathonPeter Chittum
 
Behaviour Driven Development (BDD) With Apex on Force.com
Behaviour Driven Development (BDD) With Apex on Force.comBehaviour Driven Development (BDD) With Apex on Force.com
Behaviour Driven Development (BDD) With Apex on Force.comSalesforce Developers
 
Session 1 fall 2014
Session 1 fall 2014Session 1 fall 2014
Session 1 fall 2014sahlinas
 
Ibm Lotus Sametime 8
Ibm Lotus Sametime 8Ibm Lotus Sametime 8
Ibm Lotus Sametime 8emkeefe
 
Microsoft CoE case studies
Microsoft CoE case studiesMicrosoft CoE case studies
Microsoft CoE case studiesAndaleeb Wajid
 
Shipping to Learn and Accelerate Growth with GitHub
Shipping to Learn and Accelerate Growth with GitHubShipping to Learn and Accelerate Growth with GitHub
Shipping to Learn and Accelerate Growth with GitHubOptimizely
 
Realize the opportunity - with DevOps
Realize the opportunity - with DevOpsRealize the opportunity - with DevOps
Realize the opportunity - with DevOpsJeff Findlay
 
Test at Scale within your Internal Networks with BrowserStack Local Testing
Test at Scale within your Internal Networks with BrowserStack Local TestingTest at Scale within your Internal Networks with BrowserStack Local Testing
Test at Scale within your Internal Networks with BrowserStack Local TestingBrowserStack
 
An Inside Look at a Large-scale Writer-driven REST API Doc Solution at Salesf...
An Inside Look at a Large-scale Writer-driven REST API Doc Solution at Salesf...An Inside Look at a Large-scale Writer-driven REST API Doc Solution at Salesf...
An Inside Look at a Large-scale Writer-driven REST API Doc Solution at Salesf...Pronovix
 
eFolder Partner Chat Webinar — Beating the Competition: Selling Against OneDrive
eFolder Partner Chat Webinar — Beating the Competition: Selling Against OneDriveeFolder Partner Chat Webinar — Beating the Competition: Selling Against OneDrive
eFolder Partner Chat Webinar — Beating the Competition: Selling Against OneDriveeFolder
 
CoDe:U git flow
CoDe:U git flowCoDe:U git flow
CoDe:U git flowLars Kruse
 
5 Tips To Choose A Good QuickBooks Hosting Provider
5 Tips To Choose A Good QuickBooks Hosting Provider5 Tips To Choose A Good QuickBooks Hosting Provider
5 Tips To Choose A Good QuickBooks Hosting ProviderNishant Kadian
 
Self-Serve Marketing at VMware with Request Portals
Self-Serve Marketing at VMware with Request PortalsSelf-Serve Marketing at VMware with Request Portals
Self-Serve Marketing at VMware with Request PortalsAtlassian
 

Mais procurados (20)

What's so great about web driver?
What's so great about web driver?What's so great about web driver?
What's so great about web driver?
 
AMC Networks Experiments Faster on the Server Side
AMC Networks Experiments Faster on the Server SideAMC Networks Experiments Faster on the Server Side
AMC Networks Experiments Faster on the Server Side
 
(DEV308) Automating Your Software Delivery Pipeline | AWS re:Invent 2014
(DEV308) Automating Your Software Delivery Pipeline | AWS re:Invent 2014(DEV308) Automating Your Software Delivery Pipeline | AWS re:Invent 2014
(DEV308) Automating Your Software Delivery Pipeline | AWS re:Invent 2014
 
Vienna Agile Meetup: Epics 2022-03-07
Vienna Agile Meetup: Epics 2022-03-07Vienna Agile Meetup: Epics 2022-03-07
Vienna Agile Meetup: Epics 2022-03-07
 
Consumer-driven contracts: avoid microservices integration hell! (LondonCD - ...
Consumer-driven contracts: avoid microservices integration hell! (LondonCD - ...Consumer-driven contracts: avoid microservices integration hell! (LondonCD - ...
Consumer-driven contracts: avoid microservices integration hell! (LondonCD - ...
 
ATAGTR2017 ChatBot
ATAGTR2017 ChatBotATAGTR2017 ChatBot
ATAGTR2017 ChatBot
 
How to avoid breaking other people's things
How to avoid breaking other people's thingsHow to avoid breaking other people's things
How to avoid breaking other people's things
 
Salesforce Developer Workshop for GDF Suez Hackathon
Salesforce Developer Workshop for GDF Suez HackathonSalesforce Developer Workshop for GDF Suez Hackathon
Salesforce Developer Workshop for GDF Suez Hackathon
 
Behaviour Driven Development (BDD) With Apex on Force.com
Behaviour Driven Development (BDD) With Apex on Force.comBehaviour Driven Development (BDD) With Apex on Force.com
Behaviour Driven Development (BDD) With Apex on Force.com
 
Session 1 fall 2014
Session 1 fall 2014Session 1 fall 2014
Session 1 fall 2014
 
Ibm Lotus Sametime 8
Ibm Lotus Sametime 8Ibm Lotus Sametime 8
Ibm Lotus Sametime 8
 
Microsoft CoE case studies
Microsoft CoE case studiesMicrosoft CoE case studies
Microsoft CoE case studies
 
Shipping to Learn and Accelerate Growth with GitHub
Shipping to Learn and Accelerate Growth with GitHubShipping to Learn and Accelerate Growth with GitHub
Shipping to Learn and Accelerate Growth with GitHub
 
Realize the opportunity - with DevOps
Realize the opportunity - with DevOpsRealize the opportunity - with DevOps
Realize the opportunity - with DevOps
 
Test at Scale within your Internal Networks with BrowserStack Local Testing
Test at Scale within your Internal Networks with BrowserStack Local TestingTest at Scale within your Internal Networks with BrowserStack Local Testing
Test at Scale within your Internal Networks with BrowserStack Local Testing
 
An Inside Look at a Large-scale Writer-driven REST API Doc Solution at Salesf...
An Inside Look at a Large-scale Writer-driven REST API Doc Solution at Salesf...An Inside Look at a Large-scale Writer-driven REST API Doc Solution at Salesf...
An Inside Look at a Large-scale Writer-driven REST API Doc Solution at Salesf...
 
eFolder Partner Chat Webinar — Beating the Competition: Selling Against OneDrive
eFolder Partner Chat Webinar — Beating the Competition: Selling Against OneDriveeFolder Partner Chat Webinar — Beating the Competition: Selling Against OneDrive
eFolder Partner Chat Webinar — Beating the Competition: Selling Against OneDrive
 
CoDe:U git flow
CoDe:U git flowCoDe:U git flow
CoDe:U git flow
 
5 Tips To Choose A Good QuickBooks Hosting Provider
5 Tips To Choose A Good QuickBooks Hosting Provider5 Tips To Choose A Good QuickBooks Hosting Provider
5 Tips To Choose A Good QuickBooks Hosting Provider
 
Self-Serve Marketing at VMware with Request Portals
Self-Serve Marketing at VMware with Request PortalsSelf-Serve Marketing at VMware with Request Portals
Self-Serve Marketing at VMware with Request Portals
 

Semelhante a Consumer driven contracts

Overcoming Objections by Ali Jani
Overcoming Objections by Ali JaniOvercoming Objections by Ali Jani
Overcoming Objections by Ali JaniAcumatica Cloud ERP
 
Kanban testing
Kanban testingKanban testing
Kanban testingCprime
 
APIdays Singapore 2019 - Business of APIs: From Integration to Monetisation, ...
APIdays Singapore 2019 - Business of APIs: From Integration to Monetisation, ...APIdays Singapore 2019 - Business of APIs: From Integration to Monetisation, ...
APIdays Singapore 2019 - Business of APIs: From Integration to Monetisation, ...apidays
 
No code the next big thing in supply chain technology
No code the next big thing in supply chain technologyNo code the next big thing in supply chain technology
No code the next big thing in supply chain technologyArpitGautam20
 
158 - Product Management for Enterprise-Grade platforms
158 - Product Management for Enterprise-Grade platforms 158 - Product Management for Enterprise-Grade platforms
158 - Product Management for Enterprise-Grade platforms ProductCamp Boston
 
Wading through treacle? Escape the integration syrup with contract tests
Wading through treacle? Escape the integration syrup with contract testsWading through treacle? Escape the integration syrup with contract tests
Wading through treacle? Escape the integration syrup with contract testsStefan Smith
 
No Drama: Selecting the Right CMS for You
No Drama: Selecting the Right CMS for YouNo Drama: Selecting the Right CMS for You
No Drama: Selecting the Right CMS for YouClearPath, LLC
 
Best Practices for API Adoption - WIP Factory presentation for AnyPresence we...
Best Practices for API Adoption - WIP Factory presentation for AnyPresence we...Best Practices for API Adoption - WIP Factory presentation for AnyPresence we...
Best Practices for API Adoption - WIP Factory presentation for AnyPresence we...Carlo Longino
 
Driving Developers To Your API
Driving Developers To Your APIDriving Developers To Your API
Driving Developers To Your APICarlo Longino
 
Sdec10 lean package implementation
Sdec10 lean package implementationSdec10 lean package implementation
Sdec10 lean package implementationTerry Bunio
 
Bugday bkk-2014 nitisak-auto_perf
Bugday bkk-2014 nitisak-auto_perfBugday bkk-2014 nitisak-auto_perf
Bugday bkk-2014 nitisak-auto_perfNitisak Mooltreesri
 
Magento Live 2014 Customer Expectation Presentation
Magento Live 2014 Customer Expectation PresentationMagento Live 2014 Customer Expectation Presentation
Magento Live 2014 Customer Expectation PresentationBrent W Peterson
 
Open Source isn't Just Good, it's Good Business - DrupalCamp Colorado 2014
Open Source isn't Just Good, it's Good Business - DrupalCamp Colorado 2014Open Source isn't Just Good, it's Good Business - DrupalCamp Colorado 2014
Open Source isn't Just Good, it's Good Business - DrupalCamp Colorado 2014Zivtech, LLC
 
What Your Marketing Automation Vendor Won't Ever Tell You
What Your Marketing Automation Vendor Won't Ever Tell YouWhat Your Marketing Automation Vendor Won't Ever Tell You
What Your Marketing Automation Vendor Won't Ever Tell YouEsanosys
 
User Story Writing & Estimation For Testers By Mahesh Varadharajan
User Story Writing & Estimation For Testers By Mahesh VaradharajanUser Story Writing & Estimation For Testers By Mahesh Varadharajan
User Story Writing & Estimation For Testers By Mahesh VaradharajanAgile Testing Alliance
 
How to create a successful proof of concept
How to create a successful proof of conceptHow to create a successful proof of concept
How to create a successful proof of conceptETLSolutions
 
How Custom is your Org? CEER at Dreamforce 2019
How Custom is your Org?  CEER at Dreamforce 2019How Custom is your Org?  CEER at Dreamforce 2019
How Custom is your Org? CEER at Dreamforce 2019Steven Herod
 
CSUN 2020 VPATs: For Business or Measure
CSUN 2020 VPATs: For Business or MeasureCSUN 2020 VPATs: For Business or Measure
CSUN 2020 VPATs: For Business or MeasureTed Gies
 
Building Secure Apps in the Cloud - Dreamforce - 9/20
Building Secure Apps in the Cloud - Dreamforce - 9/20Building Secure Apps in the Cloud - Dreamforce - 9/20
Building Secure Apps in the Cloud - Dreamforce - 9/20Salesforce Partners
 
Agile+Course+Presentation.pdf
Agile+Course+Presentation.pdfAgile+Course+Presentation.pdf
Agile+Course+Presentation.pdfChandan Kumar
 

Semelhante a Consumer driven contracts (20)

Overcoming Objections by Ali Jani
Overcoming Objections by Ali JaniOvercoming Objections by Ali Jani
Overcoming Objections by Ali Jani
 
Kanban testing
Kanban testingKanban testing
Kanban testing
 
APIdays Singapore 2019 - Business of APIs: From Integration to Monetisation, ...
APIdays Singapore 2019 - Business of APIs: From Integration to Monetisation, ...APIdays Singapore 2019 - Business of APIs: From Integration to Monetisation, ...
APIdays Singapore 2019 - Business of APIs: From Integration to Monetisation, ...
 
No code the next big thing in supply chain technology
No code the next big thing in supply chain technologyNo code the next big thing in supply chain technology
No code the next big thing in supply chain technology
 
158 - Product Management for Enterprise-Grade platforms
158 - Product Management for Enterprise-Grade platforms 158 - Product Management for Enterprise-Grade platforms
158 - Product Management for Enterprise-Grade platforms
 
Wading through treacle? Escape the integration syrup with contract tests
Wading through treacle? Escape the integration syrup with contract testsWading through treacle? Escape the integration syrup with contract tests
Wading through treacle? Escape the integration syrup with contract tests
 
No Drama: Selecting the Right CMS for You
No Drama: Selecting the Right CMS for YouNo Drama: Selecting the Right CMS for You
No Drama: Selecting the Right CMS for You
 
Best Practices for API Adoption - WIP Factory presentation for AnyPresence we...
Best Practices for API Adoption - WIP Factory presentation for AnyPresence we...Best Practices for API Adoption - WIP Factory presentation for AnyPresence we...
Best Practices for API Adoption - WIP Factory presentation for AnyPresence we...
 
Driving Developers To Your API
Driving Developers To Your APIDriving Developers To Your API
Driving Developers To Your API
 
Sdec10 lean package implementation
Sdec10 lean package implementationSdec10 lean package implementation
Sdec10 lean package implementation
 
Bugday bkk-2014 nitisak-auto_perf
Bugday bkk-2014 nitisak-auto_perfBugday bkk-2014 nitisak-auto_perf
Bugday bkk-2014 nitisak-auto_perf
 
Magento Live 2014 Customer Expectation Presentation
Magento Live 2014 Customer Expectation PresentationMagento Live 2014 Customer Expectation Presentation
Magento Live 2014 Customer Expectation Presentation
 
Open Source isn't Just Good, it's Good Business - DrupalCamp Colorado 2014
Open Source isn't Just Good, it's Good Business - DrupalCamp Colorado 2014Open Source isn't Just Good, it's Good Business - DrupalCamp Colorado 2014
Open Source isn't Just Good, it's Good Business - DrupalCamp Colorado 2014
 
What Your Marketing Automation Vendor Won't Ever Tell You
What Your Marketing Automation Vendor Won't Ever Tell YouWhat Your Marketing Automation Vendor Won't Ever Tell You
What Your Marketing Automation Vendor Won't Ever Tell You
 
User Story Writing & Estimation For Testers By Mahesh Varadharajan
User Story Writing & Estimation For Testers By Mahesh VaradharajanUser Story Writing & Estimation For Testers By Mahesh Varadharajan
User Story Writing & Estimation For Testers By Mahesh Varadharajan
 
How to create a successful proof of concept
How to create a successful proof of conceptHow to create a successful proof of concept
How to create a successful proof of concept
 
How Custom is your Org? CEER at Dreamforce 2019
How Custom is your Org?  CEER at Dreamforce 2019How Custom is your Org?  CEER at Dreamforce 2019
How Custom is your Org? CEER at Dreamforce 2019
 
CSUN 2020 VPATs: For Business or Measure
CSUN 2020 VPATs: For Business or MeasureCSUN 2020 VPATs: For Business or Measure
CSUN 2020 VPATs: For Business or Measure
 
Building Secure Apps in the Cloud - Dreamforce - 9/20
Building Secure Apps in the Cloud - Dreamforce - 9/20Building Secure Apps in the Cloud - Dreamforce - 9/20
Building Secure Apps in the Cloud - Dreamforce - 9/20
 
Agile+Course+Presentation.pdf
Agile+Course+Presentation.pdfAgile+Course+Presentation.pdf
Agile+Course+Presentation.pdf
 

Último

Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Clustering techniques data mining book ....
Clustering techniques data mining book ....Clustering techniques data mining book ....
Clustering techniques data mining book ....ShaimaaMohamedGalal
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 

Último (20)

Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Clustering techniques data mining book ....
Clustering techniques data mining book ....Clustering techniques data mining book ....
Clustering techniques data mining book ....
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 

Consumer driven contracts

  • 1. Consumer driven contracts The evolution of your APIs supported by tests wemanity @nelisboucke @matteo_pierro
  • 2. A typical situation • Several teams in a company need to integrate an API • New functionality ProviderConsumer Consumer Contract …
  • 3. How does the cooperation go?
  • 4. Provider driven • Provider builds API as they see fit • Often just expose all info • Consumer starts when provider is ready Provider Contract Consumer Consumer …
  • 5. Challenges for in our situation • Often too complex to achieve normal flows https://upload.wikimedia.org/wikipedia/commons/thumb/d/d6/STS120LaunchHiRes-edit1.jpg/1024px-STS120LaunchHiRes-edit1.jpg
  • 6. Challenges for in our situation • Ping-pong to make it work • Never perfect fit for consumers • Lots of waiting, bugs, interrupts to test, …
  • 7. Challenges for in our situation • Late feedback from end users
  • 8. Good for • API is (part of) the product • Lots of (unknown) consumers • many opportunities to collect feedback • Budget for multiple iterations on the API
  • 9. Contract driven • Meeting to agree on the complete API in advance • Build in parallel, use mock or stub • Integrate at the end Provider Contract Consumer Consumer …
  • 10. Challenges in our situation • Analysis paralysis + Contract negotiation over cooperation!
  • 11. Challenges in our situation • Most of the time details where not agreed on, so still mismatches
  • 12. Challenges in our situation
  • 13. Challenges in our situation • Integration near deadline
  • 14. Good for • When you know what you need • e.g integration with existing system and datamodel • Working with a (external) party where you want to protect yourself • At least it is clear what to expect
  • 15. Consumer driven • Short meeting to agree on basic structure of API • Consumer iteratively builds + shares expectations • Provider iteratively builds + verifies with expectations Provider Contract Consumer Consumer …
  • 16. Why is it good in our situation? • You do not exactly know what you need • Limited and known consumers • You want to integrate fast • Fast feedback • Reduce integration risk
  • 17. Challenges • Tools needed to make it easier
  • 18. Challenges • Provider needs to adapt WoW to incorporate consumer changes
  • 19. Challenges • Consumer needs to work test driven and share expectations
  • 20. Overview of Pact way of working
  • 23. Topics to discuss? • VS swagger and wire mock? • What if something goes wrong? • Demonstrate how works with CI in this case • Versioning? • Challenges on implementing this in your team(s)? • Way of working a provider side? • Incident?
  • 24. Who are we? Nelis Boucké Matteo Pierro @nelisboucke @matteo_pierro