En 2021 inicié un apasionante proyecto de transformación digital, proceso bastante complicadete, que puedo decir que este año culmina.
Este proceso tiene como punto de partida un sistema monolítico, junto con otros satélite que lo acompañan (también monolitos), sistema que no permite alcanzar los objetivos empresariales por sus limitaciones frente las exigencias actuales del negocio.
Se establecieron 2 vectores de cambio (la modernización de aplicaciones y las aplicaciones compuestas). Para abordarlos nos vimos en la necesidad de determinar una batería de arquitecturas de referencia. Si te preguntas qué es eso de las arquitecturas de referencia (RA) y para qué sirven, quédate.
Efecto dominó en la arquitectura
El efecto dominó se produce cuando
un pequeño cambio origina un cambio similar a su lado, que a su vez causa otro similar, y así sucesivamente en una secuencia lineal.
En la arquitectura el efecto dominó existe, y debes tenerlo muy presente en todas tus decisiones arquitectónicas; me explico…
La arquitectura de un sistema describe su estructura (organización) fundamental: componentes, relaciones, dependencias y ensamblaje de los mismos, así como su comunicación interna y con el exterior.
Esa estructura depende del estilo arquitectónico que se use y, por tanto, deriva en un diseño u otro, diseño que afecta al sistema en «unas cosillas» que son muy, muy, pero que muy importantes: las características arquitectónicas.
Veremos en otro momento y con más en profundidad qué son las características arquitectónicas, pero quédate con la idea de que son los
aspectos importantes del sistema, los rasgos que presenta, independientemente del ámbito del problema (parte funcional)
Entre las características que puede, o no, presentar nuestro sistema, encontramos factores tan importantes como: disponibilidad, escalabilidad o mantenibilidad.
Dicho esto, ¿por qué son tan importantes las RA? Te lo describo gráficamente:
![Subordinación de las características arquitectónicas a las arquitecturas de refeencia](https://i0.wp.com/binariuscogitans.com/wp-content/uploads/2024/06/CadenaRA.png?resize=640%2C169&ssl=1)
Explicado en forma narrativa: las características arquitectónicas que va a presentar un sistema, por el efecto dominó, están subordinadas a las arquitecturas de referencia.
¿Qué es una arquitectura de referencia?
Voy a darte una mala noticia: el término «Arquitectura de Referencia» tiene varios significados, múltiples propósitos y usos, diferentes niveles de detalle y abstracción, y muy poca definición que podamos decir que sea ampliamente compartida.
Vale, pero querrás una definición o algo que te ayude a entender de qué rábanos estamos hablando. Yo me quedo con el objetivo que declara un documento explicativo de la arquitectura de referencia del Departamento de Defensa de los Estados Unidos de América:
El objetivo principal de una arquitectura de referencia es guiar y limitar las instancias de las arquitecturas de solución.
Dado este objetivo, quizás podríamos definirla como
Un documento o conjunto de documentos que proporciona un marco de referencia en un dominio BDAT o sector vertical, estableciendo las estructuras y elementos recomendados de productos y servicios TI, y sus interacciones, para conformar una solución, guiando y limitando el desarrollo de arquitecturas de solución pero nunca implementándolas directamente, sino que imponen los límites a arquitecturas más concretas
Las RA podemos verlas como un deporte; como el tenis o el fútbol:
- Delimitamos el campo de juego = Marco
- Definimos unas reglas de juego = Pautas
- Establecemos unos actores = Elementos
Debemos estar dentro del marco de actuación, no fuera de él, y usar unas pautas que determinen las reglas que nos van a guiar y los elementos a conjugar, puesto que las RA subordinan, por el efecto dominó, las características arquitectónicas que va a presentar el sistema que diseñemos (la solución final al problema o necesidad a resolver).
No todos los caminos conducen a Roma
Una solución se fundamenta en los requerimientos que se proporcionan desde los proyectos (requerimientos tanto funcionales como no funcionales), pero no es suficiente. A su vez, una solución deben estar guiada por las RA que tengas establecidas desde el departamento de Arquitectura; estas RA nos delimitan el campo de juego, las reglas del juego y los jugadores.
Pero cada empresa, y cada departamento de arquitectura, podemos decir que «es de su padre y de su madre», es decir, cada empresa determina sus propias RA y éstas, como rezaba una canción del grupo «Siniestro Total», dependen de “quienes somos, de dónde venimos, a dónde vamos…”.
No; no todos los caminos conducen a Roma; dependiendo de la cultura, visión, objetivos, estrategias y demás palabras de esas que cuando las usas pareces ser una persona culta y sabida, cada empresa puede tener sus RA particulares, específicas, distintivas, únicas… y, por ende, la solución final a un mismo problema o necesidad puede verse diseñada de forma distinta por parte de un arquitecto.
![Guiado de las arquitecturas de referencia sobre las soluciones](https://i0.wp.com/binariuscogitans.com/wp-content/uploads/2024/06/EfectoRA_SA.png?resize=640%2C268&ssl=1)
Conclusión
Pues sí, ya te digo: ¡si no tienes arquitectura de referencia, no eres nadie! Una RA describe la esencia de la arquitectura, los aspectos más significativos y relevantes, la visión y evolución requeridas para cubrir necesidades futuras, para servir de guía y asistencia en la confección de sistemas complejos.
En mi caso, salirse del monolito y aplicar el concepto de aplicaciones compuestas, ha requerido determinar toda una nueva arquitectura (o arquitecturas) de referencia, arquitecturas que explicaremos en próximos artículos.
El reto consiste en crear una RA accesible y fácil de leer que, al mismo tiempo, no sea ambigua y sea eficaz para todas las partes interesadas. El tamaño de la RA depende del dominio y del objetivo. El contenido y la estructura de las RA vendrá determinado por la temática a tratar y los objetivos a alcanzar.
Espero que éste y venideros artículos te puedan resultar, como profesional, tan apasionantes como me ha resultado a mí planificar y ejecutar este viaje. ¡Nos leemos!