Principios de diseño de APIs REST
$7.99
Precio mínimo
$9.99
Precio sugerido

Principios de diseño de APIs REST

(desmitificando REST)

Sobre este libro

¿Has oido hablar de REST pero no terminas de averiguar exactamente lo qué es? ¿Piensas que REST es simplemente usar HTTP y XML o JSON? ¿Terminos como HATEOAS o Hypermedia APIs te parecen confusos? ¿Te sientes frustrado a la hora de diseñar web services con SOAP y WSDL y buscas una alternativa? ¿Necesitas diseñar una API web para tu nueva startup? Entonces es probable que este libro te ayude.

Este libro es una introducción concisa y clara al mundo de las APIs web diseñadas siguiendo el estilo REST. Empezaremos averiguando qué es exactamente REST y por qué HTTP es un protocolo ideal para implementar REST. Continuaremos con cómo diseñar APIs orientadas a datos (CRUD) mediante REST. Finalmente iremos más allá del enfoque CRUD, y veremos como mediante el uso de Hypermedia podemos definir una API REST autodescubrible y que permita a los consumidores de tu sistema realizar operaciones de negocio de forma sencilla.

Este no es un libro de programación, no encontrareis en él recetas de código ni cómo usar un determinado framework o librería, eso lo dejo para otro libro. Este libro está escrito para aclarar todas las confusiones y malentendidos en torno a REST. Está orientado a cualquier profesional del software (arquitecto, programador, etc) que quiera tener una visión clara del tema, y necesite tomar decisiones informadas sobre el diseño de la API web de su sistema.

Recordad, si comprais este libro en formato electrónico, recibireis gratuitamente cualquier actualización de éste.

Este es un libro en progreso, ¡ cualquier sugerencia de mejora será recibida de buen grado !

Espero que os guste.

Sobre el autor

Enrique Amodeo
Enrique Amodeo

Actualmente Enrique Amodeo trabaja como full stack software developer en SoundCloud. Allí desarrolla microservicios de alto rendimiento y robustez usando Scala y aplicando BDD. Tiene una amplia experiencia previa como consultor y coach independiente, y también trabajó previamente como senior software engineer en eBay. Como agilista, usa TDD/BDD, y diseño emergente, en su trabajo de cada día, e intenta viajar siempre con poco equipaje. Con al menos 15 años de experiencia, conoce muy bien como aplicar Agile y TDD/BDD para construir software, ya sea usando JS/NodeJS/HTML5, Java, o Scala. También está interasado en REST, noSQL, compiladores, programación orientada a objetos, y programación funcional.

Antes de mudarse a Berlín, fue cofundador y coorganizador del grupo local de desarrolladores MadridJS (http://www.meetup.com/madridjs/) y de la conferencia internacional SpainJS (http://spainjs.org/).

También ha publicado otro libro sobre BDD con JavaScript: "Learning Behavior-Driven Development with JavaScript" (http://www.amazon.com/gp/product/1784392642?gwSec=1&redirect=true&ref_=s9_simh_gw_p14_d8_i1)

Tabla de contenidos

  • Sobre la cubierta
  • Novedades en esta versión
  • Agradecimientos
  • Érase una vez…
  • 1 La web programable: APIs y más APIs
  • 2 ¿Qué es REST?
  • 2.1 Definición
  • 2.2 ¿Por qué usar REST?
  • 3 REST en la práctica: HTTP
  • 3.1 Introducción
  • 3.2 URIs
  • 3.3 Los verbos HTTP
  • 3.4 Los tipos MIME
  • 3.5 Códigos de estado
  • 3.6 QoS en HTTP
  • 3.7 HTTP y REST
  • 4 APIs orientadas a datos: CRUD
  • 4.1 Introducción
  • 4.2 Leyendo
  • 4.3 Actualizando
  • 4.4 Borrando
  • 4.5 Creando
  • 4.6 Seguramente CRUD no sea lo mejor para tu API…
  • 5 Buenas prácticas y patrones de diseño básicos
  • 5.1 Respeta la semántica de HTTP
  • 5.2 Servicios multimedia
  • 5.3 Concurrencia optimista
  • 5.4 Cache
  • 5.5 Multiidioma
  • 5.6 Prácticas básicas de seguridad en REST
  • 5.7 Actualizaciones parciales
  • 5.8 Versionado de API
  • 5.9 ¿Necesito una sesión HTTP?
  • 5.10 Peticiones asíncronas o de larga duración
  • 5.11 URIs desechables y recursos “virtuales”
  • 5.12 Procesos de negocio
  • 5.13 Procesos VS. Peticiones asíncronas
  • 6 Hypermedia APIs
  • 6.1 Introducción
  • 6.2 El concepto de hypermedia
  • 6.3 Consultas autodescubribles y URI Templates
  • 6.4 Controles hypermedia
  • 6.5 Web Linking
  • 6.6 Patrón Envelope
  • 6.7 Servicios web autodescriptivos
  • 6.8 ¿Qué modela nuestra API? ¿Aplicaciones o procesos?
  • 6.9 ¿Un tipo mime por API?
  • 7 Hypertext Application Language (HAL)
  • 7.1 Introducción
  • 7.2 Links
  • 7.3 Recursos incrustados
  • 7.4 Curie
  • 7.5 Un ejemplo
  • 7.6 HAL y XML
  • 7.7 Conclusión
  • 8 SIREN
  • 8.1 Introducción
  • 8.2 Datos
  • 8.3 Tipos de datos
  • 8.4 Links
  • 8.5 Recursos incrustados
  • 8.6 Formularios
  • 8.7 SIREN y XML
  • 8.8 SIREN vs. HAL
  • 9 Collection+JSON
  • 9.1 Introducción
  • 9.2 Datos
  • 9.3 Links
  • 9.4 Consultas
  • 9.5 Formularios
  • 9.6 Conclusiones
  • 10 (X)HTML
  • 10.1 Introducción
  • 10.2 HTML como formato de datos
  • 10.3 Enlaces y formularios
  • 10.4 Conclusiones
  • 11 Atom y AtomPub
  • 11.1 Introducción
  • 11.2 Servicios y autodescubrimiento
  • 11.3 Feeds y entries
  • 11.4 Media Resources VS. Media Entries
  • 11.5 Manipulando elementos de una colección
  • 11.6 Conclusiones
  • 12 Referencias y bibliografía

Leanpub incondicional, sin riesgo, 100% de felicidad garantizada

Durante los primeros 60 días de compra, puedes obtener un reembolso del 100% de cualquier compra Leanpub, en dos clics. Procesamos las restituciones manualmente, así que puede tomarse unos días en aparecer. Véase términos completos.

Gana $8 en una compra de $10 y $16 en una compra de $20

Pagamos 80% de regalías en compras de $7.99 o más y 80% de regalías menos una tarifa fija de 50 centavos en compras entre $0.99 y $7.98. Ganas $8 en una venta de $10 y $16 en una venta de $20. Entonces, si vendemos 5000 copias no reembolsadas de tu libro por $20, ganarás $80,000.

(Sí, algunos autores ya han ganado mucho más que eso en Leanpub.)

De hecho, los autores han ganadomás de 13 millones de dólares escribiendo, publicando y vendiendo en Leanpub.

Obtén más información sobre escribir en Leanpub

Actualizaciones gratis. Libre de DRM.

¡Si compras un libro Leanpub obtienes actualizaciones gratis siempre y cuando el autor actualice el libro! Varios autores usan Leanpub para publicar sus libros en progreso mientras los escriben. Todos los lectores obtienen actualizaciones gratis, independientemente de cuándo compraron el libro o cuánto pagaron (incluyendo si fue gratis).

La mayoría de los libros Leanpub se encuentran disponibles en PDF (para computadores) y EPUB (para teléfonos, tabletas, y Kindle). Los formatos que un libro incluye se muestran en la esquina superior derecha de esta página.

Finalmente, los libros Leanpub no tienen ninguna de las cosas sin sentido sobre protección de copia DRM, así que puedes leerlos fácilmente en cualquier dispositivo que se soporta.

Aprende más sobre los formatos de Leanpub y dónde puedes leerlos

Escribir y publicar en Leanpub

Los autores y editores usan Leanpub para publicar libros electrónicos sorprendentes en curso y completados, como éste. ¡También puedes utilizar Leanpub para escribir, publicar y vender tu libro! Leanpub es una potente plataforma para autores serios, que combina un flujo de trabajo de escritura y publicación simple y elegante con una tienda centrada en la venta de libros electrónicos en progreso. Leanpub es una máquina de escribir mágica para los autores: basta con escribir en texto plano, y para publicar tu libro electrónico, simplemente haz clic en un botón. Realmente es así de fácil.

Más información sobre cómo escribir en Leanpub