
Building Hypermedia APIs with HTML5 and Node
Mike Amundsen
- Editorial
- O'Reilly
- Año
- 2011
- Páginas
- ~242
- Nivel
- Intermedio
De qué trata
Libro de Mike Amundsen, uno de los referentes del diseño de APIs REST, sobre cómo crear APIs web que aprovechen la arquitectura de la Web en lugar de limitarse a funcionar sobre ella. Es de 2011 y usa Node.js y CouchDB para los ejemplos. Está pensado para desarrolladores y arquitectos de nivel intermedio que ya conocen HTTP y han hecho APIs, y que quieren diseñar servicios que puedan crecer y cambiar sin romper a sus clientes.
La parte conceptual explica la relación entre HTTP, los tipos MIME y el hipermedia, y presenta los H-Factors, una forma de clasificar los controles hipermedia de un formato, y los cuatro elementos básicos para diseñar tipos de medio. Después hay tres casos prácticos, cada uno con su escenario, el diseño del tipo de medio, datos de ejemplo, el código del servidor y el de los clientes: un formato XML (Maze+XML), uno JSON (Collection+JSON) y uno basado en HTML5 con un perfil semántico de microblogging. El último capítulo trata cómo documentar, ampliar, versionar y registrar tipos de medio y relaciones de enlace (RFC 2119, IANA, IETF). Los apéndices recogen las especificaciones de los tres formatos.
Su aportación es muy de fondo: enseña a pensar las APIs como hipermedia (HATEOAS) y no como RPC sobre HTTP, y de él salió Collection+JSON, un formato que tuvo cierto uso real. El código de Node.js es de la época y ha quedado anticuado, así que vale como ilustración y no como plantilla. No trata autenticación, seguridad, OpenAPI ni GraphQL. Es recomendable para quien quiera entender a fondo REST y el diseño de tipos de medio.
- Hypermedia
- REST
- HATEOAS
- H-Factors
- Tipos de medio
- Maze+XML
- Collection+JSON
- HTML5
- Node.js
- CouchDB
- Documentación de APIs
- Link relations
¿Cómo enseña?
Teoría + práctica
- ✗ Sin ejercicios
- ✓ Incluye proyectos
Proyectos
Laberinto con Maze+XML
API de laberinto con un tipo de medio XML propio, un servidor en Node.js y dos clientes: un juego para recorrer el laberinto y un bot que lo resuelve solo siguiendo los enlaces.
Gestor de tareas con Collection+JSON
API de tareas con el formato hipermedia Collection+JSON, con un cliente web de una sola página y otro de línea de comandos.
Microblog en HTML5
Servicio de microblogging que usa HTML5 como formato de la API mediante un perfil semántico, con un cliente HTML simple (POSH), un cliente Ajax y un bot de citas (QuoteBot).

