SlideShare une entreprise Scribd logo
1  sur  18
Télécharger pour lire hors ligne
Meetup Paris API
API « Design First » : Pourquoi et Comment
28 Avril 2016 @Mangopay
Alexandre ESTELA
aestela@palo-it.com
@alx_estela
2
C’est l’histoire d’un développeur et coach…
Java
Agile
3
Au commencement étaient les Web Services SOAP
4
Un jour vinrent les API REST
POURQUOI
l’approche “Code First”
est peu adaptée
pour les API
6
Le design de l’API est une phase essentielle
Design FonctionnelDesign Technique
Granularité des
ressources
Attributs
Types & Enums
Validation
Relations & Héritage
Le design de l’API doit d’abord satisfaire vos
consommateurs techniques et fonctionnels
URIs & Verbes
Media Types
Sécurité
Performance
Versioning
HATEOAS
7
L’approche « Code First » présente des limites
Limite de
personnalisation
du contrat d’API
généré
Limite de la
collaboration avec
les consommateurs
(fonctionnels
notamment)
EN QUOI
l’approche “Design First”
est davantage adaptée
pour les API
9
Une API « Design First » n’est pas influencée par son implémentation
Couche API
Liberté de Design Technique ET Fonctionnel
Couche Implémentation
Application(s)
API Gateway
Middleware…
Groupe de
consommateurs
Groupe de
consommateurs
Groupe de
consommateurs
10
Une API « Design First » encourage la collaboration
Version de
contrat d’API
Change
Request
COMMENT
l’approche “Design First”
peut être mise en oeuvre
pour une API
12
Les outils de design & de co-design d’API s’améliorent
13
Les outils pour lier contrat et implémentation évoluent
https://github.com/swagger-api/swagger-inflector (Java)
https://github.com/swagger-api/swagger-node (Node.js)
https://github.com/zalando/connexion (Python)
Scan du
contrat de l’API
Implémentation
générée (mock)
Implémentation
codée et associée
Prise en charge de la validation, sécurité,
sérialisation, documentation, versioning…
14
Les rituels de collaboration guident leur mise en œuvre
Continuous
Delivery
Sprint
Planning
Démonstrations
Autre rituel
régulier de
revue
15
Le Design Collaboratif de l’API devient un process continu
Design d’une
nouvelle version
d’API
Soumission du
draft d’API
mockée + doc
Revue de la
nouvelle version
d’API
Implémentation
et déploiement
des évolutions
Mesure de
l’usage
(quanti + quali)
Conclusion
17
API = Application Programming Interface
Générer son API, c’est potentiellement être guidé par l’implémentation
Le design de l’API doit être pensé et optimisé pour les consommateurs
Cela requiert des outils « Design First » et des rituels de collaboration
Adoption de l’API
Importance
du Design
de l’API
Démarrage
Merci pour votre attention

Contenu connexe

Tendances

AWS VS AZURE VS GCP.pptx
AWS VS AZURE VS GCP.pptxAWS VS AZURE VS GCP.pptx
AWS VS AZURE VS GCP.pptxRaneesh Ramesan
 
Microservices Platform with Spring Boot, Spring Cloud Config, Spring Cloud Ne...
Microservices Platform with Spring Boot, Spring Cloud Config, Spring Cloud Ne...Microservices Platform with Spring Boot, Spring Cloud Config, Spring Cloud Ne...
Microservices Platform with Spring Boot, Spring Cloud Config, Spring Cloud Ne...Tin Linn Soe
 
How to Enable Monetization of Your API Ecosystem
How to Enable Monetization of Your API EcosystemHow to Enable Monetization of Your API Ecosystem
How to Enable Monetization of Your API EcosystemWSO2
 
Api management best practices with wso2 api manager
Api management best practices with wso2 api managerApi management best practices with wso2 api manager
Api management best practices with wso2 api managerChanaka Fernando
 
Bringing API Management to AWS Powered Backends
Bringing API Management to AWS Powered BackendsBringing API Management to AWS Powered Backends
Bringing API Management to AWS Powered BackendsApigee | Google Cloud
 
apidays Paris 2022 - Event-Driven API Management – why REST isn't enough, Ben...
apidays Paris 2022 - Event-Driven API Management – why REST isn't enough, Ben...apidays Paris 2022 - Event-Driven API Management – why REST isn't enough, Ben...
apidays Paris 2022 - Event-Driven API Management – why REST isn't enough, Ben...apidays
 
apidays Paris 2022 - Generating APIs from business models, Frederic Fontanet,...
apidays Paris 2022 - Generating APIs from business models, Frederic Fontanet,...apidays Paris 2022 - Generating APIs from business models, Frederic Fontanet,...
apidays Paris 2022 - Generating APIs from business models, Frederic Fontanet,...apidays
 
Applying Domain-Driven Design to APIs and Microservices - Austin API Meetup
Applying Domain-Driven Design to APIs and Microservices  - Austin API MeetupApplying Domain-Driven Design to APIs and Microservices  - Austin API Meetup
Applying Domain-Driven Design to APIs and Microservices - Austin API MeetupLaunchAny
 
Amazon API Gateway
Amazon API GatewayAmazon API Gateway
Amazon API GatewayMark Bate
 
apidays Paris 2022 - The 12 Facets of the OpenAPI Specification, Steve Sfartz...
apidays Paris 2022 - The 12 Facets of the OpenAPI Specification, Steve Sfartz...apidays Paris 2022 - The 12 Facets of the OpenAPI Specification, Steve Sfartz...
apidays Paris 2022 - The 12 Facets of the OpenAPI Specification, Steve Sfartz...apidays
 
Monetization: Unlock More Value from Your APIs
Monetization: Unlock More Value from Your APIs Monetization: Unlock More Value from Your APIs
Monetization: Unlock More Value from Your APIs Apigee | Google Cloud
 
Api gateway in microservices
Api gateway in microservicesApi gateway in microservices
Api gateway in microservicesKunal Hire
 
Architecting an Enterprise API Management Strategy
Architecting an Enterprise API Management StrategyArchitecting an Enterprise API Management Strategy
Architecting an Enterprise API Management StrategyWSO2
 
What do you mean by “API as a Product”?
What do you mean by “API as a Product”?What do you mean by “API as a Product”?
What do you mean by “API as a Product”?Nordic APIs
 
Kubernetes Dashboard access using OKTA
Kubernetes Dashboard access using OKTAKubernetes Dashboard access using OKTA
Kubernetes Dashboard access using OKTAHoseokSeo7
 
API Management architect presentation
API Management architect presentationAPI Management architect presentation
API Management architect presentationsflynn073
 
API Management Part 1 - An Introduction to Azure API Management
API Management Part 1 - An Introduction to Azure API ManagementAPI Management Part 1 - An Introduction to Azure API Management
API Management Part 1 - An Introduction to Azure API ManagementBizTalk360
 
Overview of API Management Architectures
Overview of API Management ArchitecturesOverview of API Management Architectures
Overview of API Management ArchitecturesNordic APIs
 
API Gateway How-To: The Many Ways to Apply the Gateway Pattern
API Gateway How-To: The Many Ways to Apply the Gateway PatternAPI Gateway How-To: The Many Ways to Apply the Gateway Pattern
API Gateway How-To: The Many Ways to Apply the Gateway PatternVMware Tanzu
 

Tendances (20)

AWS VS AZURE VS GCP.pptx
AWS VS AZURE VS GCP.pptxAWS VS AZURE VS GCP.pptx
AWS VS AZURE VS GCP.pptx
 
Microservices Platform with Spring Boot, Spring Cloud Config, Spring Cloud Ne...
Microservices Platform with Spring Boot, Spring Cloud Config, Spring Cloud Ne...Microservices Platform with Spring Boot, Spring Cloud Config, Spring Cloud Ne...
Microservices Platform with Spring Boot, Spring Cloud Config, Spring Cloud Ne...
 
How to Enable Monetization of Your API Ecosystem
How to Enable Monetization of Your API EcosystemHow to Enable Monetization of Your API Ecosystem
How to Enable Monetization of Your API Ecosystem
 
Api management best practices with wso2 api manager
Api management best practices with wso2 api managerApi management best practices with wso2 api manager
Api management best practices with wso2 api manager
 
Bringing API Management to AWS Powered Backends
Bringing API Management to AWS Powered BackendsBringing API Management to AWS Powered Backends
Bringing API Management to AWS Powered Backends
 
apidays Paris 2022 - Event-Driven API Management – why REST isn't enough, Ben...
apidays Paris 2022 - Event-Driven API Management – why REST isn't enough, Ben...apidays Paris 2022 - Event-Driven API Management – why REST isn't enough, Ben...
apidays Paris 2022 - Event-Driven API Management – why REST isn't enough, Ben...
 
apidays Paris 2022 - Generating APIs from business models, Frederic Fontanet,...
apidays Paris 2022 - Generating APIs from business models, Frederic Fontanet,...apidays Paris 2022 - Generating APIs from business models, Frederic Fontanet,...
apidays Paris 2022 - Generating APIs from business models, Frederic Fontanet,...
 
Applying Domain-Driven Design to APIs and Microservices - Austin API Meetup
Applying Domain-Driven Design to APIs and Microservices  - Austin API MeetupApplying Domain-Driven Design to APIs and Microservices  - Austin API Meetup
Applying Domain-Driven Design to APIs and Microservices - Austin API Meetup
 
Amazon API Gateway
Amazon API GatewayAmazon API Gateway
Amazon API Gateway
 
apidays Paris 2022 - The 12 Facets of the OpenAPI Specification, Steve Sfartz...
apidays Paris 2022 - The 12 Facets of the OpenAPI Specification, Steve Sfartz...apidays Paris 2022 - The 12 Facets of the OpenAPI Specification, Steve Sfartz...
apidays Paris 2022 - The 12 Facets of the OpenAPI Specification, Steve Sfartz...
 
Monetization: Unlock More Value from Your APIs
Monetization: Unlock More Value from Your APIs Monetization: Unlock More Value from Your APIs
Monetization: Unlock More Value from Your APIs
 
Api gateway in microservices
Api gateway in microservicesApi gateway in microservices
Api gateway in microservices
 
Architecting an Enterprise API Management Strategy
Architecting an Enterprise API Management StrategyArchitecting an Enterprise API Management Strategy
Architecting an Enterprise API Management Strategy
 
What do you mean by “API as a Product”?
What do you mean by “API as a Product”?What do you mean by “API as a Product”?
What do you mean by “API as a Product”?
 
Kubernetes Dashboard access using OKTA
Kubernetes Dashboard access using OKTAKubernetes Dashboard access using OKTA
Kubernetes Dashboard access using OKTA
 
Apigee Edge Overview and Roadmap
Apigee Edge Overview and RoadmapApigee Edge Overview and Roadmap
Apigee Edge Overview and Roadmap
 
API Management architect presentation
API Management architect presentationAPI Management architect presentation
API Management architect presentation
 
API Management Part 1 - An Introduction to Azure API Management
API Management Part 1 - An Introduction to Azure API ManagementAPI Management Part 1 - An Introduction to Azure API Management
API Management Part 1 - An Introduction to Azure API Management
 
Overview of API Management Architectures
Overview of API Management ArchitecturesOverview of API Management Architectures
Overview of API Management Architectures
 
API Gateway How-To: The Many Ways to Apply the Gateway Pattern
API Gateway How-To: The Many Ways to Apply the Gateway PatternAPI Gateway How-To: The Many Ways to Apply the Gateway Pattern
API Gateway How-To: The Many Ways to Apply the Gateway Pattern
 

Similaire à Design-First API : pourquoi et comment

Pourquoi est-ce si difficile de concevoir une API - HumanTalks Paris
Pourquoi est-ce si difficile de concevoir une API - HumanTalks ParisPourquoi est-ce si difficile de concevoir une API - HumanTalks Paris
Pourquoi est-ce si difficile de concevoir une API - HumanTalks ParisAlexandre ESTELA
 
Pourquoi est-ce si difficile de concevoir une API ?
Pourquoi est-ce si difficile de concevoir une API ?Pourquoi est-ce si difficile de concevoir une API ?
Pourquoi est-ce si difficile de concevoir une API ?PALO IT
 
Gestion des APIs avec Azure API Management - Samir AREZKI
Gestion des APIs avec Azure API Management - Samir AREZKIGestion des APIs avec Azure API Management - Samir AREZKI
Gestion des APIs avec Azure API Management - Samir AREZKISamir Arezki ☁
 
Business API - Tout ce que vous avez toujours voulu savoir sur les API sans j...
Business API - Tout ce que vous avez toujours voulu savoir sur les API sans j...Business API - Tout ce que vous avez toujours voulu savoir sur les API sans j...
Business API - Tout ce que vous avez toujours voulu savoir sur les API sans j...Éric Grall
 
La Duck Conf - "L'API Management : au-délà des promesses"
La Duck Conf - "L'API Management : au-délà des promesses" La Duck Conf - "L'API Management : au-délà des promesses"
La Duck Conf - "L'API Management : au-délà des promesses" OCTO Technology
 
Introduction a IBM API Management
Introduction a IBM API ManagementIntroduction a IBM API Management
Introduction a IBM API ManagementMagali Boulet
 
API-First pour de nouvelles expériences de commerce en ligne
API-First pour de nouvelles expériences de commerce en ligneAPI-First pour de nouvelles expériences de commerce en ligne
API-First pour de nouvelles expériences de commerce en lignePrénom Nom de famille
 
Petit-Déjeuner : L'API ne fait pas le moine : Confessions d'experts sur les m...
Petit-Déjeuner : L'API ne fait pas le moine : Confessions d'experts sur les m...Petit-Déjeuner : L'API ne fait pas le moine : Confessions d'experts sur les m...
Petit-Déjeuner : L'API ne fait pas le moine : Confessions d'experts sur les m...OCTO Technology
 
Investir sur son API web (in French)
Investir sur son API web (in French)Investir sur son API web (in French)
Investir sur son API web (in French)Restlet
 
Qu'est ce qu'une api en 2019 ?
Qu'est ce qu'une api en 2019 ? Qu'est ce qu'une api en 2019 ?
Qu'est ce qu'une api en 2019 ? Cellenza
 
CdP QA - QA hackathon - Intelligence artificielle - 27 janvier 2022
CdP QA - QA hackathon - Intelligence artificielle - 27 janvier 2022CdP QA - QA hackathon - Intelligence artificielle - 27 janvier 2022
CdP QA - QA hackathon - Intelligence artificielle - 27 janvier 2022Agile Montréal
 
20140130 mug lyon - post-mortem d'une application métier
20140130   mug lyon - post-mortem d'une application métier20140130   mug lyon - post-mortem d'une application métier
20140130 mug lyon - post-mortem d'une application métierMatthieu DUFOURNEAUD
 
CdP QA - QA hackathon - Intelligence artificielle - Meetup du 9 mars
CdP QA - QA hackathon - Intelligence artificielle - Meetup du 9 marsCdP QA - QA hackathon - Intelligence artificielle - Meetup du 9 mars
CdP QA - QA hackathon - Intelligence artificielle - Meetup du 9 marsAgile Montréal
 
A la découverte d'Azure Logic App
A la découverte d'Azure Logic AppA la découverte d'Azure Logic App
A la découverte d'Azure Logic AppRadoine Douhou
 
Accessibilité numérique et Industrialisation @Orange
Accessibilité numérique et Industrialisation @Orange Accessibilité numérique et Industrialisation @Orange
Accessibilité numérique et Industrialisation @Orange vincent aniort
 
Integration summit 2016 keynote
Integration summit 2016  keynoteIntegration summit 2016  keynote
Integration summit 2016 keynoteMichel HUBERT
 
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir ArezkiGab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir ArezkiAZUG FR
 
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir ArezkiGab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir ArezkiSamir Arezki ☁
 

Similaire à Design-First API : pourquoi et comment (20)

Pourquoi est-ce si difficile de concevoir une API - HumanTalks Paris
Pourquoi est-ce si difficile de concevoir une API - HumanTalks ParisPourquoi est-ce si difficile de concevoir une API - HumanTalks Paris
Pourquoi est-ce si difficile de concevoir une API - HumanTalks Paris
 
Pourquoi est-ce si difficile de concevoir une API ?
Pourquoi est-ce si difficile de concevoir une API ?Pourquoi est-ce si difficile de concevoir une API ?
Pourquoi est-ce si difficile de concevoir une API ?
 
Gestion des APIs avec Azure API Management - Samir AREZKI
Gestion des APIs avec Azure API Management - Samir AREZKIGestion des APIs avec Azure API Management - Samir AREZKI
Gestion des APIs avec Azure API Management - Samir AREZKI
 
Business API - Tout ce que vous avez toujours voulu savoir sur les API sans j...
Business API - Tout ce que vous avez toujours voulu savoir sur les API sans j...Business API - Tout ce que vous avez toujours voulu savoir sur les API sans j...
Business API - Tout ce que vous avez toujours voulu savoir sur les API sans j...
 
La Duck Conf - "L'API Management : au-délà des promesses"
La Duck Conf - "L'API Management : au-délà des promesses" La Duck Conf - "L'API Management : au-délà des promesses"
La Duck Conf - "L'API Management : au-délà des promesses"
 
Introduction a IBM API Management
Introduction a IBM API ManagementIntroduction a IBM API Management
Introduction a IBM API Management
 
API-First pour de nouvelles expériences de commerce en ligne
API-First pour de nouvelles expériences de commerce en ligneAPI-First pour de nouvelles expériences de commerce en ligne
API-First pour de nouvelles expériences de commerce en ligne
 
Petit-Déjeuner : L'API ne fait pas le moine : Confessions d'experts sur les m...
Petit-Déjeuner : L'API ne fait pas le moine : Confessions d'experts sur les m...Petit-Déjeuner : L'API ne fait pas le moine : Confessions d'experts sur les m...
Petit-Déjeuner : L'API ne fait pas le moine : Confessions d'experts sur les m...
 
Investir sur son API web (in French)
Investir sur son API web (in French)Investir sur son API web (in French)
Investir sur son API web (in French)
 
Qu'est ce qu'une api en 2019 ?
Qu'est ce qu'une api en 2019 ? Qu'est ce qu'une api en 2019 ?
Qu'est ce qu'une api en 2019 ?
 
CdP QA - QA hackathon - Intelligence artificielle - 27 janvier 2022
CdP QA - QA hackathon - Intelligence artificielle - 27 janvier 2022CdP QA - QA hackathon - Intelligence artificielle - 27 janvier 2022
CdP QA - QA hackathon - Intelligence artificielle - 27 janvier 2022
 
20140130 mug lyon - post-mortem d'une application métier
20140130   mug lyon - post-mortem d'une application métier20140130   mug lyon - post-mortem d'une application métier
20140130 mug lyon - post-mortem d'une application métier
 
CdP QA - QA hackathon - Intelligence artificielle - Meetup du 9 mars
CdP QA - QA hackathon - Intelligence artificielle - Meetup du 9 marsCdP QA - QA hackathon - Intelligence artificielle - Meetup du 9 mars
CdP QA - QA hackathon - Intelligence artificielle - Meetup du 9 mars
 
Design API - SnowCampIO
Design API - SnowCampIODesign API - SnowCampIO
Design API - SnowCampIO
 
A la découverte d'Azure Logic App
A la découverte d'Azure Logic AppA la découverte d'Azure Logic App
A la découverte d'Azure Logic App
 
Accessibilité numérique et Industrialisation @Orange
Accessibilité numérique et Industrialisation @Orange Accessibilité numérique et Industrialisation @Orange
Accessibilité numérique et Industrialisation @Orange
 
Integration summit 2016 keynote
Integration summit 2016  keynoteIntegration summit 2016  keynote
Integration summit 2016 keynote
 
Démystifions l'API-culture!
Démystifions l'API-culture!Démystifions l'API-culture!
Démystifions l'API-culture!
 
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir ArezkiGab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
 
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir ArezkiGab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
 

Design-First API : pourquoi et comment

  • 1. Meetup Paris API API « Design First » : Pourquoi et Comment 28 Avril 2016 @Mangopay Alexandre ESTELA aestela@palo-it.com @alx_estela
  • 2. 2 C’est l’histoire d’un développeur et coach… Java Agile
  • 3. 3 Au commencement étaient les Web Services SOAP
  • 4. 4 Un jour vinrent les API REST
  • 5. POURQUOI l’approche “Code First” est peu adaptée pour les API
  • 6. 6 Le design de l’API est une phase essentielle Design FonctionnelDesign Technique Granularité des ressources Attributs Types & Enums Validation Relations & Héritage Le design de l’API doit d’abord satisfaire vos consommateurs techniques et fonctionnels URIs & Verbes Media Types Sécurité Performance Versioning HATEOAS
  • 7. 7 L’approche « Code First » présente des limites Limite de personnalisation du contrat d’API généré Limite de la collaboration avec les consommateurs (fonctionnels notamment)
  • 8. EN QUOI l’approche “Design First” est davantage adaptée pour les API
  • 9. 9 Une API « Design First » n’est pas influencée par son implémentation Couche API Liberté de Design Technique ET Fonctionnel Couche Implémentation Application(s) API Gateway Middleware… Groupe de consommateurs Groupe de consommateurs Groupe de consommateurs
  • 10. 10 Une API « Design First » encourage la collaboration Version de contrat d’API Change Request
  • 11. COMMENT l’approche “Design First” peut être mise en oeuvre pour une API
  • 12. 12 Les outils de design & de co-design d’API s’améliorent
  • 13. 13 Les outils pour lier contrat et implémentation évoluent https://github.com/swagger-api/swagger-inflector (Java) https://github.com/swagger-api/swagger-node (Node.js) https://github.com/zalando/connexion (Python) Scan du contrat de l’API Implémentation générée (mock) Implémentation codée et associée Prise en charge de la validation, sécurité, sérialisation, documentation, versioning…
  • 14. 14 Les rituels de collaboration guident leur mise en œuvre Continuous Delivery Sprint Planning Démonstrations Autre rituel régulier de revue
  • 15. 15 Le Design Collaboratif de l’API devient un process continu Design d’une nouvelle version d’API Soumission du draft d’API mockée + doc Revue de la nouvelle version d’API Implémentation et déploiement des évolutions Mesure de l’usage (quanti + quali)
  • 17. 17 API = Application Programming Interface Générer son API, c’est potentiellement être guidé par l’implémentation Le design de l’API doit être pensé et optimisé pour les consommateurs Cela requiert des outils « Design First » et des rituels de collaboration Adoption de l’API Importance du Design de l’API Démarrage
  • 18. Merci pour votre attention