3. Estilos de Arquitectura de software
Generalmente, no es necesario inventar una nueva arquitectura de software para cada sistema de información. Lo habitual
es adoptar una arquitectura conocida en función de sus ventajas y requerimientos de Software.
La arquitectura de un sistema a construir puede basarse en un estilo arquitectónico en particular
4. Qué es un estilo de arquitectura
Es el diseño de mas alto nivel de la estructura de un sistema
Diseño de alto nivel (high level design)
HLD es el diseño general del sistema. Proporciona una descripción general de un sistema, identificando los
componentes principales que se desarrollarían para el producto.
Es un conjunto de decisiones de diseño que son aplicables en un contexto de desarrollo específico
Establecen un vocabulario común y la topología del sistema
Estilos de Arquitectura de software
5. Según la comunicación
ESB
Bus de servicios (mensajes): Define un sistema de
software que puede enviar y recibir mensajes usando
uno o más canales de forma que las aplicaciones
pueden interactuar sin conocer detalles específicos la
una de la otra.
https://www.youtube.com/watch?v=8i68GwKZjZE
Estilos de Arquitectura de software
6. Según la comunicación
SOA
Todas las aplicaciones están diseñadas para ser integradas con otras aplicaciones, por lo que deben de exponer
como servicios todas las operaciones necesarias para que otras aplicaciones pueden interactuar con ella.
Estilos de Arquitectura de software
7. Según el despliegue
Cliente/Servidor:
El sistema se descompone en servicios y sus servidores
asociados, y en clientes que acceden y usan dichos
servicios.
Estilos de Arquitectura de software
8. Arquitectura centrada
en datos
En la arquitectura centrada en datos, los datos se
centralizan y otros componentes acceden con frecuencia
a ellos, que modifican los datos. El objetivo principal de
este estilo es lograr la integralidad de los datos. La
arquitectura centrada en datos consta de diferentes
componentes que se comunican a través de repositorios
de datos compartidos.
Estilos de Arquitectura de software