Estilos Arquitectonicos Consulta
Estilos Arquitectonicos Consulta
Estilos Arquitectonicos Consulta
COLOMBIA
INGENIERIA DE SISTEMAS
IBAGUE-TOLIMA
2024
ESTILOS ARQUITECTONICOS DE SOFTWARE
Los estilos arquitectónicos de software son patrones o enfoques recurrentes para estructurar
sistemas de software que permiten resolver problemas comunes de diseño y mejorar la
organización y escalabilidad de una aplicación. Al aplicar estos estilos, los arquitectos de software
logran construir sistemas más mantenibles, reutilizables y robustos.
Este es uno de los estilos más comunes y consiste en dividir el software en capas separadas con
responsabilidades específicas. Cada capa se comunica únicamente con la capa inmediatamente
inferior. Las capas típicas incluyen:
2. Arquitectura de microservicios
Sin embargo, es más complejo de gestionar debido a la necesidad de coordinar múltiples servicios.
3. Arquitectura de cliente-servidor
Este estilo se basa en la interacción entre un servidor, que proporciona servicios, y uno o varios
clientes, que los consumen. Es el modelo típico de muchas aplicaciones web y móviles. El cliente
realiza peticiones y el servidor responde, procesando la lógica o accediendo a bases de datos.
Similar a los microservicios, pero en una escala mayor. SOA está orientada a la creación de sistemas
donde los componentes se comunican mediante servicios y contratos bien definidos. La diferencia
con los microservicios es que SOA suele estar más centralizada, mientras que los microservicios
están más descentralizados.
6. Arquitectura de monolito
Un enfoque tradicional donde toda la aplicación se despliega y ejecuta como una única unidad. Es
más sencillo de desarrollar y desplegar inicialmente, pero presenta problemas de escalabilidad y
mantenimiento a medida que crece la aplicación.
Este estilo se organiza en una serie de componentes de procesamiento, llamados filtros, que se
conectan a través de tuberías (pipes). Los datos fluyen a través de estos filtros, que los procesan y
luego los envían a la siguiente etapa. Se usa frecuentemente en sistemas de procesamiento de
datos, como compiladores.
En este enfoque, todos los componentes del sistema acceden a un repositorio común para
almacenar y recuperar datos. Es habitual en sistemas que dependen fuertemente de una base de
datos centralizada, donde múltiples módulos o servicios acceden a una fuente común de datos.
9. Arquitectura de N-capas
Es una extensión de la arquitectura en capas. Divide la aplicación en más de tres capas, agregando
a menudo una capa adicional de lógica entre la interfaz de usuario y la base de datos. Es útil para
sistemas más grandes y complejos que necesitan mayor modularidad.
Este estilo busca desacoplar el núcleo de la aplicación de sus interfaces externas. La idea es que el
sistema se comunica con el exterior a través de "puertos" (interfaces) y "adaptadores"
(implementaciones concretas de esas interfaces). Así, el núcleo es independiente de detalles
externos como bases de datos o APIs.
Cada estilo tiene sus propias ventajas y desventajas, y la elección de uno u otro depende del tipo
de aplicación que se esté desarrollando, los requisitos de escalabilidad, mantenibilidad y la
estructura del equipo de desarrollo.