Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

API Design: il must-have per governare un’Architettura Headless

30 vues

Publié le

Per ottenere scalabilità nella creazione di nuovi applicativi, l’insieme delle API devono essere gestite attraverso un disegno strategico all’interno di un catalogo o portfolio in cui un API Architect ha l’obiettivo di renderle semplici e intuitive, in una logica consumer-centric, ma anche sicure, compliant, riusabili e ben documentate.

Publié dans : Business
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

API Design: il must-have per governare un’Architettura Headless

  1. 1. Milano • 27 settembre 2019 API Design I «must have» per governare un’Architettura Headless Denis Signoretto - IT Architect & Senior Project Manager
  2. 2. 2 Milano • 27 settembre 2019
  3. 3. 3 Milano • 27 settembre 2019
  4. 4. Milano • 27 settembre 2019 A step back, first …
  5. 5. 5 Milano • 27 settembre 2019 API vs Web Services N o silo es & Multiple Co nsumers
  6. 6. 6 Milano • 27 settembre 2019 API API vs Web Services Reuse
  7. 7. 7 Milano • 27 settembre 2019 API as a Product Life -Cycle
  8. 8. Milano • 27 settembre 2019 API as a Product Milano • 27 settembre 2019
  9. 9. Milano • 27 settembre 2019 SIDE A Who a re the API custo mers ?
  10. 10. 10 Milano • 27 settembre 2019 Developers Wha t a re their needs ?
  11. 11. 11 $> Accessible and discoverable API $> Documentation $> Standards $> Adoption of known best practices and conventions $> Sandbox $> Examples Milano • 27 settembre 2019
  12. 12. 12 $> Accessible and discoverable API $> Documentation $> Standards $> Adoption of known best practices and conventions $> Sandbox $> Working Examples !!! Milano • 27 settembre 2019
  13. 13. Milano • 27 settembre 2019 SIDE B Is there a n «API Pro duct M a na g er»?
  14. 14. 14 Milano • 27 settembre 2019 API Design is an important pillar
  15. 15. 15 Milano • 27 settembre 2019 How to put API Design into Practice ?!?
  16. 16. 16 Milano • 27 settembre 2019 Case History Journey in do ma in M o deling & Rest API Desig n
  17. 17. 17 Milano • 27 settembre 2019 API Design approach A P I D e s i n g • Consumer-Oriented Design - “Outside-in” approach - API First Design • Agile Design • Mock and Simulation D o m a i n D e s i g n • Functional & Non-functional Requirements • Summary of terms • Use Case, Scenarios and Acceptance Criteria • Flow and Sequence Diagrams
  18. 18. 18 Milano • 27 settembre 2019 Domain & API Specif ica tio n La ng ua g es
  19. 19. Milano • 27 settembre 2019 Domain Modeling Milano • 27 settembre 2019
  20. 20. 20 Milano • 27 settembre 2019 UML Use Cases Scena rio s a nd a ccepta nce criteria *Fonte https://rubygarage.org/blog/clear-acceptance-criteria-and-why-its-important
  21. 21. 21 Milano • 27 settembre 2019 UML Sequence Diagram *Fonte https://medium.com/@jccguimaraes/designing-an-api-6609eb771b18 S e q u e n c e f l o w : • Endpoints • Resources Path & Parameters • HTTP Verbs • HTTP status codes • Extra info: Headers
  22. 22. 22 Milano • 27 settembre 2019 UML Flow Diagram
  23. 23. 23 Functional and non functional requirements Milano • 27 settembre 2019
  24. 24. Milano • 27 settembre 2019 API Design Milano • 27 settembre 2019
  25. 25. 25 «Outside-in» vs «Inside-out» and API First approach Milano • 27 settembre 2019
  26. 26. 26 Rest API Design Language OpenAPI (a k a Swa g g er ) Milano • 27 settembre 2019
  27. 27. 27 Milano • 27 settembre 2019 Rest API Definition • Entities Schema • Resources and paths • HTTP Verbs and HTTP status codes • Media Types • Documentation (paths, entities, parameters,…) • Examples • … and
  28. 28. 28 Milano • 27 settembre 2019
  29. 29. 29 Milano • 27 settembre 2019 Rest API Definition H T T P S T A T U S C O D E S E R R O R S g e n e r a t e d b y i n t e r m e d i a t e L a y e r s • Reverse Proxies • API Gateway • EBS • … D E S I G N f o r p r o b l e m s • RFC 7807 (JSON Problem) • Google Errors, Facebook Errors,… • Error code • Human Error message • Error description • Internal reference ID & documetation
  30. 30. 30 Milano • 27 settembre 2019 OpenAPI API Definition App UI Prototyping Backend Mock Automated Tests API Documentation /w Parameters, errors, Examples Server Side Source Code Generation Client Side Source Code Generation API First advantage
  31. 31. Milano • 27 settembre 2019 Conclusions Milano • 27 settembre 2019
  32. 32. 32 Importance of API Design Un buo n desig n rende effi ci en t i ed effi caci g li sv i l u ppat ori sia in f a se di pro to tipa zio ne e integra zio ne sia in f a se di p r o b lem so l v i n g e su pport o Milano • 27 settembre 2019
  33. 33. 33 Importance of API Design C a mbia re le AP I una v o lta pubblica te impa tta sul ciclo di vita delle API Milano • 27 settembre 2019
  34. 34. 34 Milano • 27 settembre 2019 API Architect • Comprende i bisogni operativi degli sviluppatori • Introduce, fa comprendere e utilizzare gli strumenti di specifica • Assicura tecnicamente qualità, documentazione, esempi • Garantisce uniformità e adesione agli standard • Garantisce la sicurezza • Monitoring ai fini delle performance e disponibilità delle API
  35. 35. 35 Milano • 27 settembre 2019 • Comprende i bisogni degli utilizzatori in termini di funzionalità • Assicura strumenti per garantire documentazione, facilità di utilizzo e integrazione • Promuove l’adozione delle API nel sistema azienda • Tiene sotto controllo e massimizza il ROI (Return of Investment) • Monitoring e valuta KPI delle API API Product Manager
  36. 36. Milano • 27 settembre 2019 Denis Signoretto IT Architect & Senior Project Manager @denissignoretto Email: denis.signoretto@intesys.it Grazie

×