Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Arq Soft
Arq Soft
Estructura: cómo organizar las partes del sistema y cómo conectarlas. Para esto utilizamos
patrones de arquitectura ya sea eventos, capas, micro servicios nos va a decir que componentes
necesitamos y como se interconectan.
Razonar: la idea es que la arquitectura de software sirva para que el equipo de desarrollo y en
general el equipo técnico pueda tener discusiones acerca del sistema a un alto nivel, este alto nivel
lo da la arquitectura y facilita las discusiones.
Decisiones de diseño: tenemos que definir para nuestra arquitectura cuales son las decisiones de
diseño que van a guiar el trabajo del equipo.
Ejm:
Decisión de diseño: Los micro servicios van a trabajar todos contra una misma base de datos y
no que cada micro servicio tenga una base de datos individual.
Atributos de calidad: Son muy importantes para el arquitecto pues le permiten definir qué es lo
que va más allá de lo funcional que va a garantizar que el sistema funcione bien.
Ejm:
Tenemos varios Atributos de calidad, lo ideal es elegir los más importantes para la aplicación
Facilidad de mantenimiento
Desplegabilidad
Escalabilidad
Elasticidad
Entre otros muchos
Lo que quiere decir básicamente Ralph Johnson es que dependiendo de la persona o empresa, la
arquitectura puede tener distintos elementos, por ejemplo:
Si la arquitectura la está revisando el Product Ouner o el dueño del producto pues para él
seguramente van a ser muy importantes las características y como están reflejadas en la
arquitectura del producto.
Si la revisa un desarrollador probablemente para este debe ser muy importante el lenguaje de
programación o el framework que se va a utilizar.
Para el soporte técnico lo más importante puede ser la infraestructura, donde van a estar
desplegadas las maquinas, en qué lugar se encuentran las bd.
De eso entonces se trata esta definición, de entender que dependiendo del equipo hay distintos
elementos fundamentales para la arquitectura.
Si estamos comenzando desde cero sin ningún Framework, entonces vienen muchas dudas sobre
¿qué estructura de carpetas hacer?, ¿organizar por capas o por dominio?, ¿Cómo empiezo a
estructurar todo esto? Etc. Muchas preguntas se vienen y frenan todo por muchísimo tiempo, es
aquí entonces donde vienen los patrones de arquitectura
Los patrones de arquitectura son soluciones o estructuras que ayudan a definir la aplicación desde
el nivel más grande. No es como el patrón de diseño que está muy enfocado a un problema en
particular, por ejemplo, si necesitamos implementar un Ctrl + z en la aplicación para esto existe el
patrón de memento y sin ningún problema ese es la situación que enfrento y así es como la
resuelvo.
Con un Patrón de arquitectura nos enfocamos a gran nivel, como estructuro la aplicación para
luego comenzar a poner los distintos componentes en cada una, es aquí donde vienen los
patrones de arquitectura por capas, orientadas a eventos y muchos otros.
¿Qué es un Framework?
Un Framework es un marco de trabajo, es un conjunto de:
Es decir, con un Framework lo que hacemos es ahorrarnos al final trabajo, esto mejora mucho
nuestro código, nos obliga a hacer buenas prácticas y seguir los estándares, además si entramos a
un proyecto que otra persona lo ha programado y está escrito con framewoks es más fácil
adaptarse al proyecto y se pueda programas sobre él.
Una de las grandes ventajas es que ya tenemos muchas cosas hechas, funcionalidades ya
desarrolladas.