Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.
359o
of API Design
Things to Consider when Crafting API Specification
Ariyandi Widarto
September 2020
API to Connect the Digital Stack
Engineer
Business
Product
Finance
HR
Analogy
API to Connect the Digital Stack
En
Bu
Pr
Fin
H
En
Bu
Pr
Fin
H
En
Bu
Pr
Fin
H
Analogy
API to Connect the Digital Stack
Analogy
API to Connect the Digital Stack
Analogy
APIAPI
API
API
API
API
So, what are the
things to consider?
Hold on a bit, before that,
what is the impact if we
don’t do proper API design?
Image by raygun.com
Cost
Business Goal
Image by clipart.email
How to Measure
the Quality of API?
- Business Requirement
- Idempotent & concurrency
- Standards
- Documentation
- Backward compatibility
- Extensibility in ...
Business Requirement
Use cases Business rules
Idempotent & Concurrency
Compatibility & Extensibility
100% backward compatible
API migration
Easy to extend and scale
Security
Image by en.wikipedia.org
Image by business2community.com
HTTPS, IP whitelist, firewall, sensitive data encryption...
• Naming convention

• Path convention

• HTTP method convention

• Header & body format

• API timeout

• Logging convent...
Testing
• Complete and well documented UAT

• Positive cases

• Negative cases

• Idempotent cases

• Concurrency cases

•...
Monitoring & Tuning
TPS target Monitoring dashboard
Limiter & switch Technical improvement
–Prometheus
“Big things have small beginnings.”
Thank you!
I’m very interested if you have some other perspective, feel
free to send me an email to discuss (ariyandi.wida...
apidays LIVE JAKARTA - 359o of API Design: Things to consider when crafting your API Specification by Ariyandi Widarto
apidays LIVE JAKARTA - 359o of API Design: Things to consider when crafting your API Specification by Ariyandi Widarto
Próxima SlideShare
Cargando en…5
×

apidays LIVE JAKARTA - 359o of API Design: Things to consider when crafting your API Specification by Ariyandi Widarto

480 visualizaciones

Publicado el

apidays LIVE JAKARTA - Connecting the Digital Stack
359o of API Design: Things to consider when crafting your API Specification
Ariyandi Widarto, Software Engineer at DANA

Publicado en: Tecnología
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

apidays LIVE JAKARTA - 359o of API Design: Things to consider when crafting your API Specification by Ariyandi Widarto

  1. 1. 359o of API Design Things to Consider when Crafting API Specification Ariyandi Widarto September 2020
  2. 2. API to Connect the Digital Stack Engineer Business Product Finance HR Analogy
  3. 3. API to Connect the Digital Stack En Bu Pr Fin H En Bu Pr Fin H En Bu Pr Fin H Analogy
  4. 4. API to Connect the Digital Stack Analogy
  5. 5. API to Connect the Digital Stack Analogy APIAPI API API API API
  6. 6. So, what are the things to consider?
  7. 7. Hold on a bit, before that, what is the impact if we don’t do proper API design?
  8. 8. Image by raygun.com Cost
  9. 9. Business Goal Image by clipart.email
  10. 10. How to Measure the Quality of API?
  11. 11. - Business Requirement - Idempotent & concurrency - Standards - Documentation - Backward compatibility - Extensibility in the future - Testing - Monitoring & tuning - Security standards
  12. 12. Business Requirement Use cases Business rules
  13. 13. Idempotent & Concurrency
  14. 14. Compatibility & Extensibility 100% backward compatible API migration Easy to extend and scale
  15. 15. Security Image by en.wikipedia.org Image by business2community.com HTTPS, IP whitelist, firewall, sensitive data encryption, PCIDSS, ISO standards, etc……. Image by docs.oracle.com
  16. 16. • Naming convention • Path convention • HTTP method convention • Header & body format • API timeout • Logging convention • Effective and structured documentation Standards & Documentation
  17. 17. Testing • Complete and well documented UAT • Positive cases • Negative cases • Idempotent cases • Concurrency cases • Performance testing • Load testing • A/B testing
  18. 18. Monitoring & Tuning TPS target Monitoring dashboard Limiter & switch Technical improvement
  19. 19. –Prometheus “Big things have small beginnings.”
  20. 20. Thank you! I’m very interested if you have some other perspective, feel free to send me an email to discuss (ariyandi.widarto@dana.id).

×