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

Protect your applications from DDoS/BOT & Advanced Attacks
Protect your applications from DDoS/BOT & Advanced AttacksProtect your applications from DDoS/BOT & Advanced Attacks
Protect your applications from DDoS/BOT & Advanced Attacks
Amazon Web Services
 

Tendances (20)

Protect your applications from DDoS/BOT & Advanced Attacks
Protect your applications from DDoS/BOT & Advanced AttacksProtect your applications from DDoS/BOT & Advanced Attacks
Protect your applications from DDoS/BOT & Advanced Attacks
 
Security architecture frameworks
Security architecture frameworksSecurity architecture frameworks
Security architecture frameworks
 
Seminario iso 27000 pronto
Seminario iso 27000 prontoSeminario iso 27000 pronto
Seminario iso 27000 pronto
 
DCBADD015 IRIS business architect
DCBADD015 IRIS business architectDCBADD015 IRIS business architect
DCBADD015 IRIS business architect
 
Leveraging the AWS Sales Methodology and Partner Best Practices aws-partner-s...
Leveraging the AWS Sales Methodology and Partner Best Practices aws-partner-s...Leveraging the AWS Sales Methodology and Partner Best Practices aws-partner-s...
Leveraging the AWS Sales Methodology and Partner Best Practices aws-partner-s...
 
Capability-based planning with TOGAF & ArchiMate
Capability-based planning with TOGAF & ArchiMateCapability-based planning with TOGAF & ArchiMate
Capability-based planning with TOGAF & ArchiMate
 
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,...
 
The ArchiMate Language for Enterprise and Solution Architecture
The ArchiMate Language for Enterprise and Solution ArchitectureThe ArchiMate Language for Enterprise and Solution Architecture
The ArchiMate Language for Enterprise and Solution Architecture
 
Amazon GuardDuty Lab
Amazon GuardDuty LabAmazon GuardDuty Lab
Amazon GuardDuty Lab
 
SOA for Enterprise Architecture
SOA for Enterprise ArchitectureSOA for Enterprise Architecture
SOA for Enterprise Architecture
 
Apigee Edge Overview and Roadmap
Apigee Edge Overview and RoadmapApigee Edge Overview and Roadmap
Apigee Edge Overview and Roadmap
 
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...
 
Introduction to AWS Enterprise Support
Introduction to AWS Enterprise SupportIntroduction to AWS Enterprise Support
Introduction to AWS Enterprise Support
 
DevSecOps: The DoD Software Factory
DevSecOps: The DoD Software FactoryDevSecOps: The DoD Software Factory
DevSecOps: The DoD Software Factory
 
Overview of kubernetes network functions
Overview of kubernetes network functionsOverview of kubernetes network functions
Overview of kubernetes network functions
 
Segurança física e lógica e análise de vulnerabilidade 1
Segurança física e lógica e análise de vulnerabilidade 1Segurança física e lógica e análise de vulnerabilidade 1
Segurança física e lógica e análise de vulnerabilidade 1
 
Anthos Security: modernize your security posture for cloud native applications
Anthos Security: modernize your security posture for cloud native applicationsAnthos Security: modernize your security posture for cloud native applications
Anthos Security: modernize your security posture for cloud native applications
 
ArchiMate 3.0: A New Standard for Architecture
ArchiMate 3.0: A New Standard for ArchitectureArchiMate 3.0: A New Standard for Architecture
ArchiMate 3.0: A New Standard for Architecture
 
Janus RTP forwarders @ FOSDEM 2020
Janus RTP forwarders @ FOSDEM 2020Janus RTP forwarders @ FOSDEM 2020
Janus RTP forwarders @ FOSDEM 2020
 
Governança de Dados-Uma abordagem via Canvas MGD_v02
Governança de Dados-Uma abordagem via Canvas MGD_v02Governança de Dados-Uma abordagem via Canvas MGD_v02
Governança de Dados-Uma abordagem via Canvas MGD_v02
 

Similaire à Design-First API : pourquoi et comment

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
Matthieu DUFOURNEAUD
 

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