
Designing Web APIs
Amir Shevat, Brenda Jin, Saurabh Sahni
- Editorial
- O'Reilly
- Año
- 2018
- Páginas
- ~232
- Nivel
- Intermedio
De qué trata
Manual pragmático publicado por O'Reilly en 2018 y escrito por Brenda Jin, Saurabh Sahni y Amir Shevat (quienes lideraron iniciativas de plataforma e integración en Slack), orientado a concebir las APIs web como productos tecnológicos de primer nivel. Con un enfoque centrado en la experiencia del desarrollador (DX), la obra está pensada para desarrolladores backend, arquitectos y jefes de producto técnico de nivel intermedio que conocen los conceptos básicos de la web y necesitan tomar decisiones estratégicas de arquitectura, escalabilidad y gobernanza en interfaces destinadas tanto a consumo interno como a ecosistemas públicos de terceros.
El libro compara y analiza con claridad los principales paradigmas de comunicación web: los modelos tradicionales de petición-respuesta (REST, RPC y GraphQL) frente a los modelos dirigidos por eventos y streaming (Webhooks, WebSockets y Server-Sent Events). Enseña buenas prácticas para la nomenclatura de endpoints, uso semántico de verbos HTTP, códigos de estado y esquemas estandarizados de errores. Además, profundiza en especificaciones con OpenAPI (Swagger), mecanismos de autenticación y autorización (OAuth 2.0, OpenID Connect y claves de API), estrategias de escalabilidad en capas (balanceo de carga, limitación de peticiones o rate limiting y almacenamiento en caché con CDNs) y planes de gestión del cambio (estrategias de versionado en URL o cabeceras, políticas de obsolescencia y contratos no disruptivos).
La obra es eminentemente conceptual y estratégica: no guía la codificación paso a paso de un backend ni contiene ejercicios de programación, sino que ilustra cada patrón mediante hojas de trabajo de diseño (API Design Worksheets), listas de comprobación y estudios de casos reales basados en empresas líderes como Slack, Stripe, Twilio, GitHub y Facebook. Su gran fortaleza es abarcar todo el ciclo de vida del producto API, incluyendo el diseño de portales para desarrolladores, documentación interactiva y kits de desarrollo (SDKs); deja fuera la implementación concreta en lenguajes o bases de datos específicas. Resulta un recurso de alto valor para equipos que deseen establecer estándares de diseño y escalar su plataforma tecnológica.
- REST
- Webhooks
- GraphQL
- RPC
- OpenAPI
- OAuth 2.0
- Rate Limiting
- Diseño de APIs
- Versionado
- Developer Experience
¿Cómo enseña?
Teórico
- ✗ Sin ejercicios
- ✗ Sin proyectos

