Introducción a la Arquitectura de Software
Introducción a la Arquitectura de Software
Conceptos Fundamentales e Implementación
Sobre el 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.
Índice
-
- 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
Garantía de satisfacción 100% de Leanpub por 60 días
Durante los 60 días posteriores a la compra, puedes obtener un reembolso del 100% en cualquier compra de Leanpub, en dos clics.
Técnicamente, esto es arriesgado para nosotros, ya que tendrás los archivos del libro o curso de cualquier manera. Pero estamos tan seguros de nuestros productos y servicios, y de nuestros autores y lectores, que nos complace ofrecer una garantía de devolución total del dinero para todo lo que vendemos.
Solo puedes descubrir qué tan bueno es algo probándolo, y debido a nuestra garantía de devolución del 100% del dinero, ¡literalmente no hay riesgo al hacerlo!
Entonces, no hay razón para no hacer clic en el botón Agregar al carrito, ¿verdad?
Ver términos completos...
Gane $8 por una compra de $10, y $16 por una compra de $20
Pagamos regalías del 80% en compras de $7.99 o más, y regalías del 80% menos una tarifa fija de 50 centavos en compras entre $0.99 y $7.98. Usted gana $8 en una venta de $10, y $16 en una venta de $20. Así que, si vendemos 5000 copias no reembolsadas de su libro por $20, usted ganará $80,000.
(Sí, algunos autores ya han ganado mucho más que eso en Leanpub.)
De hecho, los autores han ganadomás de $14 millones escribiendo, publicando y vendiendo en Leanpub.
Aprenda más sobre escribir en Leanpub
Actualizaciones gratuitas. Sin DRM.
¡Si compras un libro de Leanpub, recibirás actualizaciones gratuitas mientras el autor actualice el libro! Muchos autores utilizan Leanpub para publicar sus libros mientras los escriben. Todos los lectores reciben actualizaciones gratuitas, sin importar cuándo compraron el libro o cuánto pagaron (incluso si fue gratis).
La mayoría de los libros de Leanpub están disponibles en PDF (para computadoras) y EPUB (para teléfonos, tabletas y Kindle). Los formatos incluidos en un libro se muestran en la esquina superior derecha de esta página.
Finalmente, los libros de Leanpub no tienen ninguna protección DRM sin sentido, por lo que puedes leerlos fácilmente en cualquier dispositivo compatible.
Aprende más sobre los formatos de ebook de Leanpub y dónde leerlos