Estilos de Arquitectura de Software: Conceptos y Aplicaciones
Clase 14 de 24 • Fundamentos de Arquitectura de Software (2018)
Contenido del curso
- 9

Separación de Problema y Solución en Toma de Requerimientos
05:09 - 10

Requerimientos de Producto y Proyecto en Arquitectura de Software
09:56 - 11

Gestión de Riesgos en la Implementación de Sistemas
05:10 - 12

Restricciones en el Desarrollo de Software: Concepto y Ejemplos
02:16 - 13
Arquitectura de Software: Adaptación y Escenarios de Uso
00:18
- 14

Estilos de Arquitectura de Software: Conceptos y Aplicaciones
04:45 - 15

Estilos de Arquitectura de Software: Llamada y Retorno
07:18 - 16

Estilos de Arquitectura de Flujo de Datos: Lote Secuencial y Tubos-Filtros
05:07 - 17

Estilos de Arquitectura de Software Centrada en Datos
06:43 - 18

Arquitectura de Componentes Independientes y Comunicación por Eventos
08:59 - 19

Comparación de Arquitecturas Monolíticas y Distribuidas
07:11 - 20
Calidad de Software: Atributos Clave y Mejoras
00:13
¿Cuál es el panorama actual de arquitectura de software?
La arquitectura de software es un campo en constante evolución, lleno de librerías, frameworks, y conocimientos arquitectónicos implícitos en diferentes comunidades. Por ejemplo, términos como MVC (Modelo-Vista-Controlador) o Flux con React son parte del lenguaje arquitectónico moderno, aunque su aplicación puede no ser universal para todas las tecnologías. Este vasto conocimiento implícito a menudo puede llevar a suposiciones, como la idea de que los proyectos deben comenzar con una arquitectura de microservicios simplemente porque es la tendencia, sin un análisis profundo de los compromisos o beneficios específicos que ofrece.
¿Qué es un estilo de arquitectura?
Un estilo de arquitectura en software es algo genérico, un conjunto de decisiones de diseño que, dados ciertos contextos, proporcionan restricciones beneficiosas a las decisiones arquitectónicas futuras. Por ejemplo, al hablar de páginas web, todas comparten la estructura cliente-servidor, donde un navegador web interactúa con un servidor para obtener documentos HTML. Este patrón genérico define un estilo de arquitectura que se enfoca más en los problemas arquitectónicos a nivel de conectores entre aplicaciones, como las comunicaciones entre un navegador y un servidor o entre una aplicación móvil y una API.
Importancia y aplicación de los estilos de arquitectura
Los estilos de arquitectura son esenciales para reutilizar exitosamente soluciones pasadas en nuevos contextos similares. Al aplicar un estilo de arquitectura, no solo reutilizamos conocimiento previamente probado, sino que también aprovechamos restricciones y decisiones ya tomadas en base al éxito de implementaciones anteriores. Este enfoque estructurado nos guía para lograr resultados exitosos mediante la optimización de decisiones arquitectónicas para objetivos específicos.
Ejemplos y beneficios de los estilos de arquitectura
- Cliente-Servidor: Este estilo facilita la interacción de aplicaciones como navegadores web con servidores, permitiendo la carga de páginas web a los clientes.
- Microservicios: Aunque muy popular, requiere un análisis detallado de sus beneficios y trade-offs en relación a la tecnología específica del proyecto.
- Red de pares (peer-to-peer): Facilita la comunicación directa entre dos sistemas, útil en aplicaciones como las redes descentralizadas.
Los estilos de arquitectura ofrecen una estructura sólida y adaptable que puede resultar en soluciones eficientes y escalables, considerando siempre los contextos específicos y las particularidades de cada proyecto. Así, nos encontramos equipados para tomar decisiones arquitectónicas informadas que maximicen el éxito de nuestros sistemas.