Teach

Aprendes más si compartes

Teach

Una pincelada sobre la arquitectura hexagonal

04 Dec 2023

By: #Equipo Tactech,

#Equipo Tactech
Una pincelada sobre la arquitectura hexagonal

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”

¿Pero qué significa en la práctica la arquitectura hexagonal? ¿Por qué es popular? ¿Y para qué proyectos es más útil? Acá te hacemos un resumen en simple.
 

Una definición simple

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.


La ventaja diferenciadora

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-
 

¿Y cuándo conviene usarla?

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:

  • Sistemas Financieros:

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.

  • Comercio Electrónico:

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.

  • Aplicaciones IoT (Internet de las Cosas):

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.

  • En sistemas empresariales grandes y complejos:

Donde diferentes equipos trabajan en módulos independientes, la arquitectura hexagonal facilita el desarrollo paralelo y la integración, sin problemas de componentes.

 

Insistimos, estos son tan solo unos ejemplos. Pero es bueno conocerlos y conocer la base de esta arquitectura y para que entiendas su sentido a la hora de buscar desarrollar tu proyecto digital con equipos especializados. 

Y como te adelantábamos antes, nosotros podemos ser ese equipo. Juntémonos y conversamos: contacto@tactech.cl. Te asesoramos con sinceridad y expertiz.


Fuentes: Medium, Hubspot, Tokio, Cosas de Devs, Chat GTP y conocimientos del #EquipoTactech.
Fotografía de portada: Thimote Courtier desde Unsplash

¿Te gustó este artículo
emoji
? Si la respuesta es SÍ: dale amor apretando el corazón de abajo o compártelo en tus redes (porque compartir es bueno, se sabe)

Compartir

Más artículos para ti
emoji
Los constantes cambios de Instagram
Tips - Datos útiles para ti
Tips

Los constantes cambios de Instagram

“No puedo creer lo que hicieron, muy mala la actualización: por favor que vuelva MUSICALLY!!!”

Lo que callamos los diseñadores
Mystery Box - Un poquito de todo
Mystery Box

Lo que callamos los diseñadores

A veces sufrimos, sufrimos como Marimar. Para quienes desconocen el personaje Marimar es un noble personaje de una telenovela mexicana, es una bella joven pobre y analfabeta que vive en San Martín de la Costa con sus abuelos y su perro "Pulgoso". Para resumir, la protagonista sufre de principio a fin en toda la historia. Y bueno, a veces a nosotros los diseñadores nos toca un poco sufrir, como a Marimar y es por que nos topamos en la vida con distintas situaciones que nos hacen padecer de esta dolencia tortuosa que guardamos en silencio.
 

Integraciones: las más pedidas y su importancia
Teach - Aprendes más si compartes
Teach

Integraciones: las más pedidas y su importancia

Seguro sabes que las integraciones  son un elemento a veces subestimado pero clave para el éxito de tu empresa en el mundo digital. Te guiaremos a través de este fascinante terreno y descubrir las integraciones más solicitadas y efectivas en la actualidad.