Introducción a la Arquitectura de Software
Introducción a la Arquitectura de Software
Conceptos Fundamentales e Implementación
Sobre este libro
Si pasaste por la mala experiencia de mantener una aplicación compleja con código spaghetti y que a su vez requería de releases con nuevas funcionalidades cada cuatro semanas, entonces vas a comprender mejor la importancia que da tener una arquitectura sólida, donde podemos realizar modificaciones entendiendo donde repercute cada cambio.
A lo largo del libro iremos iterando una aplicación de modo de ilustrar como se implementan diferentes estilos arquitectura. En cada iteración estudiamos e implementamos un estilo de arquitectura, pasando por arquitectura en capas, hexagonal (o ports and adapters), modular y microservicios. Todo esto sustentado en sólidos conceptos de arquitectura, diseño y buenas prácticas. Utilizamos Java 11 para realizar la implementación de todos los estilos mencionados y en particular, para implementar el estilo de arquitectura modular utilizamos el sistema de módulos incorporado en Java a partir de la versión 9.
Es claro que no es suficiente entender un estilo de arquitectura estudiando un gráfico. Necesitamos implementarlo, necesitamos entender como los elementos del gráfico se transforman en código fuente. Por ello el libro contiene sobre cada uno de los estilos mencionados, su explicación conceptual y su implementación paso a paso. Todos los fuentes están disponibles para el lector. También incluimos diferentes opciones para verificar en cada commit las reglas de arquitectura que impone cada estilo.
Si bien la implementación se realiza en el lenguaje Java, es posible aplicar los mismos conceptos en lenguajes como PHP, Ruby, Python o .NET.
Tabla de contenidos
-
- Feedback
-
I Introducción
-
1 Introducción
- ¿Otro libro sobre Arquitectura de Software?
- ¿Qué contenidos abordamos en este libro?
- ¿Quién debería leer este libro?
- Ordenando ideas sobre arquitectura de software
-
2 Arquitectura de Software: Definiciones Esenciales
- ¿Qué entendemos por Arquitectura de Software?
-
Estructuras y Visualización de la Arquitectura
- Modelo de Vistas 4+1
- Propuesta de Estructuras y Vistas del SEI
- Visualización en UML
- Modelo C4
- Conclusión
- Estilos de Arquitectura
- Diseño vs Arquitectura
-
1 Introducción
-
II Conceptos e Implementación
-
3 Arquitectura Modular, en Capas y Estilos
-
Espacio de Nombres, Paquetes, Capas y Módulos
- Separación Lógica vs Física
- Java Module System
-
Particiones Horizontales vs Particiones Verticales
- ¿Por qué partir una aplicación?
- ¿Es lo mismo un módulo o una capa (layer)?
-
Arquitectura en Capas
- Definiciones y Estilo
- Implementación
-
Arquitectura Hexagonal: Clean Architecture
- Definiciones y Estilo
- Implementación
-
Arquitectura en Capas Invertida
- Estilo e Implementación
-
Arquitectura Modular
- Definiciones y Estilo
- Implementación
-
Espacio de Nombres, Paquetes, Capas y Módulos
-
4 Arquitecturas Monolíticas, Distribuidas y Estilos
-
Arquitecturas Monolíticas
- Definiciones
- Modular Monolith
-
Arquitecturas Distribuidas
- ¿Por qué distribuir?
- Fallas Parciales
- Transacciones
- Distributed Monolith
- Microservicios
- Arquitectura Modular vs Microservicios
-
Arquitecturas Monolíticas
-
3 Arquitectura Modular, en Capas y Estilos
-
III Atributos de Calidad
-
5 Disponibilidad
- Introducción
- Cálculo de Disponibilidad de un Sistema
- Otras Cuestiones que Afectan la Disponibilidad
- Disponibilidad en Microservicios
-
6 Escalabilidad
- Escalando Aplicaciones Web
-
Escalando Bases de Datos
- Teorema CAP y PACELC
- Escalando las lecturas
- Sharding: Escalando las escrituras
-
5 Disponibilidad
- Notas
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.
80% de regalías. Gana $16 en un libro de $20.
Pagamos 80% de regalías. No es un error tipográfico: ganas $16 en una venta de $20. Si vendemos 5000 copias no reembolsadas de tu libro o curso 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 $12 millonesescribiendo, publicando y vendiendo en Leanpub.
Aprende más sobre cómo 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