
Reactive Web Applications
Manuel Bernhardt
- Editorial
- Manning
- Año
- 2016
- Páginas
- ~328
- Nivel
- Intermedio
De qué trata
Manual exhaustivo centrado en el diseño y la construcción de aplicaciones web resilientes, elásticas, orientadas a mensajes y de alta concurrencia bajo los principios del Manifiesto Reactivo. Está desarrollado sobre el entorno de Scala (Scala 2.11) en la plataforma JVM y está dirigido a desarrolladores web de nivel intermedio a avanzado que necesitan superar el modelo clásico bloqueante de un hilo por petición (thread-per-request) para soportar cargas de tráfico masivas y en tiempo real.
El autor desglosa paso a paso los componentes clave del stack reactivo en la JVM utilizando el framework Play (versiones 2.4/2.5) y el ecosistema Akka. Se profundiza en el uso de Futures para la composición no bloqueante de operaciones asíncronas, el modelo de actores de Akka para la gestión concurrente del estado y la tolerancia a fallos ("let it crash" con árboles de supervisión), la especificación Reactive Streams para procesar flujos de datos continuos con contrapresión (backpressure), la comunicación full-duplex con WebSockets y la implementación de patrones de persistencia como CQRS (Command Query Responsibility Segregation) y Event Sourcing.
En la parte práctica se desarrollan implementaciones completas, destacando un analizador de streaming continuo conectado a la API de Twitter y una aplicación interactiva que vincula directamente clientes web con actores de Akka mediante canales WebSockets. El libro destaca por traducir conceptos arquitectónicos complejos a código funcional y escalable, explicando detalladamente cómo modelar el dominio y realizar pruebas unitarias y de integración sobre componentes asíncronos. Requiere cierta familiaridad con programación funcional en Scala y no profundiza en frameworks cliente modernos de tipo SPA, focalizándose de lleno en la arquitectura del servidor reactivo.
- Programación reactiva
- Scala
- Play Framework
- Akka
- Modelo de actores
- Futures
- Reactive Streams
- WebSockets
- Backpressure
- CQRS
- Event Sourcing
- Concurrencia
¿Cómo enseña?
Teoría + práctica
- ✗ Sin ejercicios
- ✓ Incluye proyectos
Proyectos
Monitor de streaming en tiempo real con la API de Twitter
Aplicación web que consume y transforma un flujo continuo de tweets de forma asíncrona mediante Play Framework y Futures, enviando datos dinámicos al navegador sin bloquear hilos del servidor.
Sistema interactivo concurrente con Akka y WebSockets
Aplicación cliente-servidor en tiempo real que maneja estado concurrente y comunicación bidireccional conectando sockets del navegador con actores Akka y jerarquías de supervisión.

