December 4, 2023
By:
#Equipo Tactech
,
Los hexágonos son una forma geométrica interesante y de nombre original, pero esta vez, lo que nos preocupa es su relación con el mundo del desarrollo y la arquitectura de software. La arquitectura hexagonal es el nombre de “fantasía” para denominar a la basada en puertos y adaptadores.
Alistair Cockburn fue quien la difundió y es reconocido por ser el co autor del afamado “Agile Manifesto”
En este enfoque arquitectónico se busca separar las preocupaciones centrales de una aplicación de su entorno externo, facilitando la prueba y la evolución del sistema.
En la arquitectura hexagonal, la lógica de negocios de una aplicación (también llamada núcleo) está en el centro y se comunica con el mundo exterior a través de puertos.
Estos puertos son interfaces que definen cómo el núcleo interactúa con el exterior. Por otro lado, los adaptadores son implementaciones específicas que conectan el núcleo a las tecnologías y protocolos concretos utilizados en el entorno externo.
De esta manera consigue desacoplar capas permitiendo que evolucionen de manera aislada. Así, este tipo de arquitectura cambia el foco del desarrollador quién se centra más en diferenciar entre el interior y el exterior del software.
Lo primordial es que facilita la sustitución de componentes externos sin afectar la lógica de negocio central. Esto mejora la modularidad, la prueba y la mantenibilidad del sistema. Lo que es sumamente positivo para los equipos de TI pues facilita el mantenimiento a futuro.
La arquitectura hexagonal es especialmente útil en aplicaciones donde la interfaz de usuario, las bases de datos, o cualquier otro componente externo, pueden cambiar con el tiempo.
Ojo, esto no significa que sea la respuesta para todo. Por mucho que esté de moda actualmente. Pero si tiene ventajas especialmente en aplicaciones, donde muchas cosas deben estar cambiando constantemente en distintas variables.
¿Dónde no? No vale la pena en desarrollos simples, con pocos cambios y donde los recursos son más escasos, porque finalmente, es de mayor complejidad por lo tanto la hexagonal suele ser más costosa. Y por supuesto, el conocimiento del equipo, el seguir los principios SOLID, entre otros, son clave para utilizar esta arquitectura.
Porque finalmente, es más compleja e infiere mayores conocimientos que se alejan incluso de sólo lo técnico. Se debe contar con un equipo o con una mentalidad centrada en el diseño modular, la flexibilidad y la adaptabilidad a medida que evoluciona el sistema. La formación continua y la disposición para aprender y adaptarse son cruciales en un entorno que utiliza esta arquitectura-
Bueno, lo primero, es recomendarte que no te dejes llevar solo por la moda. Lo primero es analizar bien cuál es lo que buscas lograr y la necesidad de tu negocio. Lo segundo, sería que cuentes con expertos tech que te puedan asesorar con sinceridad para que trabajes con aquello que se adapte mejor a tus necesidades, presupuesto y potencialidad futura.
Algo también importante es que el conocimiento de esta no es exclusivo, “para los especialistas tech es debido conocer las formas de trabajo en capas, para de igual manera al momento de plantear una solución sepa que su core o lógica de negocio solo se debe mutar cuando el cliente lo requiere mediante cambios al alcance o los limites del proyecto, en cualquier otro caso no se debe tocar nunca las funciones que albergan la lógica de negocio”, afirma Carlos Osorio, tech lead en el Equipon Tactech.
Cof, cof… en Tactech somos expertos, avisado quedas.
Pero para compartirte algunos ejemplos donde tiene un mayor uso:
En aplicaciones financieras, donde las regulaciones y estándares pueden cambiar con frecuencia, la arquitectura hexagonal permite adaptarse rápidamente a nuevos requisitos sin cambiar la lógica central.
En plataformas de comercio electrónico, la interfaz de usuario, las pasarelas de pago y los métodos de envío pueden evolucionar con el tiempo. La arquitectura hexagonal facilita la actualización de estos componentes sin afectar la gestión de productos, carritos de compra, etc.
En entornos IoT, donde los dispositivos y protocolos pueden variar, nos permite manejar la diversidad de manera eficiente, ya que los adaptadores pueden ser diseñados para interactuar con diferentes tipos de dispositivos.
Donde diferentes equipos trabajan en módulos independientes, la arquitectura hexagonal facilita el desarrollo paralelo y la integración, sin problemas de componentes.
Fuentes: Medium, Hubspot, Tokio, Cosas de Devs, Chat GTP y conocimientos del #EquipoTactech.
Fotografía de portada: Thimote Courtier desde Unsplash