{"id":4814,"date":"2021-06-02T08:05:00","date_gmt":"2021-06-02T06:05:00","guid":{"rendered":"https:\/\/wata.es\/?p=4814"},"modified":"2026-01-29T16:59:07","modified_gmt":"2026-01-29T15:59:07","slug":"arquitectura-hexagonal-introduccion-y-estructura","status":"publish","type":"post","link":"https:\/\/wata.es\/es\/arquitectura-hexagonal-introduccion-y-estructura\/","title":{"rendered":"Arquitectura hexagonal: introducci\u00f3n y estructura"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Aplicar una buena arquitectura de dise\u00f1o en nuestros proyectos es fundamental&nbsp;para&nbsp;conseguir&nbsp;que \u00e9stos posean&nbsp;una base s\u00f3lida, escalable y&nbsp;adaptable a futuros cambios.&nbsp;La arquitectura hexagonal nos&nbsp;ayuda a&nbsp;alcanzar ese objetivo.&nbsp;<\/p>\n\n\n\n<!--more-->\n\n\n\n<h3 class=\"wp-block-heading\">Arquitectura de software: definici\u00f3n e importancia&nbsp;<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">En el \u00e1rea del desarrollo nos enfrentamos a sistemas cada vez&nbsp;m\u00e1s&nbsp;complejos que requieren de una estructura s\u00f3lida que nos facilite su creaci\u00f3n, mantenimiento y crecimiento en el futuro. Debido a esto,&nbsp;el concepto de arquitectura&nbsp;en el \u00e1mbito del software&nbsp;adquiere una importancia cada vez mayor.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La&nbsp;<strong>arquitectura de&nbsp;software<\/strong>&nbsp;establece un conjunto de marcos definidos y claros para interactuar con el c\u00f3digo fuente adem\u00e1s de definir, de una manera abstracta, el conjunto de componentes, sus interfaces y la comunicaci\u00f3n entre ellos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Esta arquitectura se establece en base a unos objetivos, no solamente funcionales, sino tambi\u00e9n otros tales como <strong>mantenimiento<\/strong>, <strong>testeabilidad<\/strong>, <strong>reutilizaci\u00f3n<\/strong>, <strong>flexibilidad<\/strong> (ante cambios) <strong>e<\/strong> <strong>independencia<\/strong> de otros sistemas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Como ejemplos de arquitecturas podemos encontrar:&nbsp;Modelo-Vista-Controlador, cliente-servidor, orientada a servicios (SOA), dirigida por eventos, arquitectura por capas o arquitectura hexagonal, entre otros.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Introducci\u00f3n a la&nbsp;Arquitectura&nbsp;Hexagonal&nbsp;<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">En el a\u00f1o 2005&nbsp;<em>Alistair&nbsp;Cockburn<\/em>&nbsp;<a href=\"https:\/\/alistair.cockburn.us\/hexagonal-architecture\/\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">public\u00f3 un art\u00edculo<\/a> donde describ\u00eda que la intenci\u00f3n de la Arquitectura Hexagonal&nbsp;era&nbsp;la de permitir que una aplicaci\u00f3n sea usada de la misma forma por usuarios, programas, pruebas automatizadas&nbsp;y&nbsp;scripts, y&nbsp;que pudiera ser&nbsp;tanto&nbsp;desarrollada&nbsp;como&nbsp;probada de forma aislada de sus eventuales dispositivos y bases de datos en tiempo de ejecuci\u00f3n.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Esta&nbsp;arquitectura, tambi\u00e9n llamada&nbsp;<strong>arquitectura de puertos y adaptadores<\/strong>&nbsp;propone separar nuestra aplicaci\u00f3n en distintas capas o regiones,&nbsp;cada una de ellas con su propia responsabilidad permitiendo as\u00ed que evolucionen de manera aislada,&nbsp;y que cada una de ellas sea&nbsp;testeable&nbsp;e independiente de las dem\u00e1s.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para conseguir esta independencia de capas se utiliza el concepto de puertos y adaptadores. Un&nbsp;<strong>puerto<\/strong>&nbsp;no es&nbsp;m\u00e1s&nbsp;que un concepto l\u00f3gico mediante el cual se&nbsp;define un punto de entrada y salida de la aplicaci\u00f3n. La funci\u00f3n del&nbsp;<strong>adaptador<\/strong>&nbsp;es la de implementar la conexi\u00f3n con ese puerto y otros servicios externos. De&nbsp;esta forma&nbsp;podremos tener m\u00faltiples adaptadores para un mismo puerto.&nbsp;Por ejemplo, nuestro framework <em>adaptar\u00e1<\/em> un puerto SQL por cada n\u00famero de servidores de base de datos diferentes que nuestra aplicaci\u00f3n pueda usar.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Existen dos clases de puertos y adaptadores:&nbsp;<strong>primarios&nbsp;<\/strong>y&nbsp;<strong>secundarios<\/strong>.&nbsp;La diferencia entre ellos radica en qui\u00e9n desencadena o est\u00e1 a cargo de la conversaci\u00f3n.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En el caso de los puertos y adaptadores&nbsp;<strong>primarios<\/strong>, es el usuario quien, mediante la interfaz de usuario,&nbsp;realiza&nbsp;una solicitud a la aplicaci\u00f3n. Por ejemplo, a trav\u00e9s de una petici\u00f3n HTTP un usuario puede solicitar un listado. Estos&nbsp;puertos y adaptadores pueden&nbsp;apreciarse&nbsp;en la parte izquierda del diagrama hexagonal.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por otro lado,&nbsp;en&nbsp;los puertos y adaptadores&nbsp;<strong>secundarios<\/strong>,&nbsp;la acci\u00f3n es desencadenada&nbsp;por la aplicaci\u00f3n. Por ejemplo,&nbsp;podr\u00eda&nbsp;realizarse&nbsp;una solicitud de persistencia en base de datos proveniente de una&nbsp;acci\u00f3n&nbsp;de un adaptador primario. Estos casos se muestran en la parte derecha del hex\u00e1gono.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><div class=\"wpcp-wp-lightbox-host wpcp-advanced-image-lightbox-icon-hover\"><a class=\"wpcp-wp-lightbox-image-link\" href=\"https:\/\/wata.es\/wp-content\/uploads\/2021\/05\/diagrama-arquitectura-hexagonal-wata-factory.png\" data-wpcp-wp-lb-image=\"1\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"796\" src=\"https:\/\/wata.es\/wp-content\/uploads\/2021\/05\/diagrama-arquitectura-hexagonal-wata-factory-1024x796.png\" alt=\"Diagrama hexagonal que muestra una arquitectura en capas desde el n\u00facleo del dominio hasta los adaptadores de infraestructura\" class=\"wp-image-4830\" srcset=\"https:\/\/wata.es\/wp-content\/uploads\/2021\/05\/diagrama-arquitectura-hexagonal-wata-factory-1024x796.png 1024w, https:\/\/wata.es\/wp-content\/uploads\/2021\/05\/diagrama-arquitectura-hexagonal-wata-factory-300x233.png 300w, https:\/\/wata.es\/wp-content\/uploads\/2021\/05\/diagrama-arquitectura-hexagonal-wata-factory-768x597.png 768w, https:\/\/wata.es\/wp-content\/uploads\/2021\/05\/diagrama-arquitectura-hexagonal-wata-factory-1536x1194.png 1536w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><a href=\"https:\/\/wata.es\/wp-content\/uploads\/2021\/05\/diagrama-arquitectura-hexagonal-wata-factory.png\" data-fancybox=\"wpcp-wp-img-4830\" class=\"wpcp-lightbox-trigger wpcp-advanced-image-lightbox-icon wpcp-position-top-right wpcp-advanced-image-lightbox-icon-hover wpcp-global-lightbox-icon wpcp-lightbox-icon--global wpcp-lb-icon-style-default\" data-wpcp-lb-icon-source=\"global\" aria-label=\"Open image in lightbox\" data-thumb-src=\"https:\/\/wata.es\/wp-content\/uploads\/2021\/05\/diagrama-arquitectura-hexagonal-wata-factory-300x233.png\" data-wpcp-lb-single=\"1\"><span class=\"wpcp-icon-container\"><svg viewBox=\"0 0 20 20\"><path d=\"M17.6585 16.025L14.2437 12.6198C15.1716 11.3338 15.6121 9.7613 15.4871 8.1819C15.362 6.60251 14.6795 5.11847 13.5607 3.99351C12.936 3.36206 12.1916 2.86066 11.3709 2.51845C10.5502 2.17623 9.66952 2 8.77995 2C7.89039 2 7.00969 2.17623 6.18899 2.51845C5.36829 2.86066 4.62395 3.36206 3.99919 3.99351C3.36594 4.61649 2.86312 5.35871 2.51992 6.17708C2.17673 6.99545 2 7.87365 2 8.76068C2 9.64772 2.17673 10.5259 2.51992 11.3443C2.86312 12.1627 3.36594 12.9049 3.99919 13.5279C5.11957 14.6901 6.62279 15.4103 8.23285 15.5562C9.84291 15.7022 11.4517 15.2641 12.7639 14.3224L16.1788 17.7275C16.3849 17.9034 16.6473 18 16.9186 18C17.1899 18 17.4523 17.9034 17.6585 17.7275C18.1138 17.16 18.1138 16.5925 17.6585 16.025ZM5.59278 12.0523C5.16258 11.6298 4.82094 11.1263 4.58774 10.5709C4.35455 10.0156 4.23446 9.41951 4.23446 8.81744C4.23446 8.21536 4.35455 7.6193 4.58774 7.06394C4.82094 6.50859 5.16258 6.00503 5.59278 5.58257C6.01644 5.15359 6.52144 4.81292 7.07838 4.58039C7.63532 4.34786 8.23308 4.22811 8.83687 4.22811C9.44066 4.22811 10.0384 4.34786 10.5954 4.58039C11.1523 4.81292 11.6573 5.15359 12.081 5.58257C12.5112 6.00503 12.8528 6.50859 13.086 7.06394C13.3192 7.6193 13.4393 8.21536 13.4393 8.81744C13.4393 9.41951 13.3192 10.0156 13.086 10.5709C12.8528 11.1263 12.5112 11.6298 12.081 12.0523C11.6573 12.4813 11.1523 12.822 10.5954 13.0545C10.0384 13.287 9.44066 13.4068 8.83687 13.4068C8.23308 13.4068 7.63532 13.287 7.07838 13.0545C6.52144 12.822 6.01644 12.4813 5.59278 12.0523Z\" \/><\/svg><\/span><\/a><\/div><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">La forma de hex\u00e1gono no tiene nada que ver con su n\u00famero de lados sino m\u00e1s bien&nbsp;con su representaci\u00f3n ya que cada lado representa un puerto hacia dentro o&nbsp;hacia&nbsp;fuera de la aplicaci\u00f3n.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Estructura de capas&nbsp;<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">La arquitectura hexagonal propone describir la aplicaci\u00f3n&nbsp;en&nbsp;varias capas. El motivo es&nbsp;conseguir&nbsp;una divisi\u00f3n conceptual de las diferentes \u00e1reas de la aplicaci\u00f3n. El c\u00f3digo de cada capa describir\u00eda c\u00f3mo comunicarse con las dem\u00e1s usando&nbsp;<strong>interfaces<\/strong>&nbsp;(puertos) e&nbsp;<strong>implementaciones<\/strong>&nbsp;(adaptadores).&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">De este modo&nbsp;tendremos una aplicaci\u00f3n que ser\u00e1:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Independiente de\u00a0frameworks<\/strong>: el proyecto nunca depender\u00e1 de ning\u00fan\u00a0framework\u00a0externo ya que siempre existir\u00e1 una capa que abstrae la l\u00f3gica,\u00a0y har\u00e1 posible cambiar de\u00a0framework\u00a0sin afectar a la aplicaci\u00f3n.\u00a0<\/li>\n\n\n\n<li><strong>Testeable<\/strong>: la l\u00f3gica de negocio se podr\u00e1 testear independientemente de la interfaz y de los agentes externos.\u00a0<\/li>\n\n\n\n<li><strong>Independiente de UI<\/strong>: el sistema no depender\u00e1 de la interfaz gr\u00e1fica y\u00a0\u00e9sta podr\u00e1 ser modificable sin que afecte a la\u00a0l\u00f3gica\u00a0de negocio de la aplicaci\u00f3n.\u00a0<\/li>\n\n\n\n<li><strong>Independiente de la base de datos<\/strong>: el dominio de la aplicaci\u00f3n no conocer\u00e1 c\u00f3mo la informaci\u00f3n es estructurada y guardada en un repositorio.\u00a0\u00a0<\/li>\n\n\n\n<li><strong>Independiente de agentes externos<\/strong>: las reglas de negocio no tienen conocimiento de la existencia de ning\u00fan agente externo. Tan\u00a0solo\u00a0necesitan\u00a0saber qu\u00e9\u00a0requieren dichos agentes\u00a0para\u00a0realizar sus tareas.\u00a0<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Las capas&nbsp;en las&nbsp;que podemos&nbsp;dividir nuestro sistema aplicando&nbsp;esta arquitectura son:&nbsp;<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>1. Capa de dominio&nbsp;<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Es la capa central del hex\u00e1gono y contiene las reglas de negocio. En ella podemos encontrar los <strong>modelos de datos<\/strong>&nbsp;y sus <strong>restricciones<\/strong>.&nbsp;&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Esta capa no conoce c\u00f3mo se estructurar\u00e1, se guardar\u00e1 y se recuperar\u00e1 la informaci\u00f3n&nbsp;del repositorio. Simplemente expondr\u00e1 una serie de interfaces (puertos)&nbsp;que ser\u00e1n adaptados&nbsp;en la capa de infraestructura&nbsp;para cada caso concreto de implementaci\u00f3n de esa persistencia.&nbsp;<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>2. Capa de aplicaci\u00f3n&nbsp;<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Justo por encima de la capa de dominio encontramos la capa de aplicaci\u00f3n, en la que&nbsp;se definen&nbsp;sus&nbsp;distintos casos de uso.&nbsp;La definici\u00f3n de los <strong>casos de uso<\/strong> se hace&nbsp;pensando en las interfaces disponibles en el hex\u00e1gono de la aplicaci\u00f3n y no en alguna de las tecnolog\u00edas disponibles que podamos utilizar.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En esta capa tambi\u00e9n se adaptan las distintas peticiones que recibe la aplicaci\u00f3n a trav\u00e9s desde la capa de infraestructura.&nbsp;Por ejemplo, un caso de uso aceptar\u00e1 los datos de entrada que provienen de la capa de infraestructura y realizar\u00e1 las acciones necesarias para devolverle unos datos de salida.&nbsp;<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>3. Capa de infraestructura&nbsp;<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Esta es la capa&nbsp;m\u00e1s&nbsp;exterior del hex\u00e1gono&nbsp;y corresponde a las implementaciones o adaptaciones de las interfaces o puertos de las dem\u00e1s capas.&nbsp;&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Normalmente esta capa corresponde al&nbsp;<strong>framework<\/strong>&nbsp;pero tambi\u00e9n contiene librer\u00edas de terceros,&nbsp;SDKs&nbsp;o cualquier otro c\u00f3digo externo a la aplicaci\u00f3n.&nbsp;&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La capa de infraestructura implementa los servicios definidos en la capa de aplicaci\u00f3n (adaptadores secundarios). Por ejemplo, si tenemos definido en ella un servicio para enviar emails o SMS, en esta capa implementaremos ese servicio de acuerdo a los requisitos del proveedor o cualquier librer\u00eda externa.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Adem\u00e1s, esta capa contiene&nbsp;todo lo relativo a la interacci\u00f3n con el usuario (adaptadores primarios). Obtendr\u00e1 unos datos de entrada que ser\u00e1n utilizados para solicitar el caso de uso correspondiente en la aplicaci\u00f3n y devolver\u00e1 unos datos de salida.&nbsp;Aqu\u00ed, podemos encontrar los controladores&nbsp;HTTP o scripts de l\u00ednea de&nbsp;comandos, entre otros.&nbsp;<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>4. Comunicaci\u00f3n entre capas&nbsp;<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Tal y como hemos comentado, cada capa debe definir una serie de puertos que ser\u00e1n adaptados para cada implementaci\u00f3n concreta. Estos puertos son las interfaces de clases que definen&nbsp;c\u00f3mo cada capa&nbsp;externa puede comunicarse con la capa actual.&nbsp;&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para conseguirlo,&nbsp;haremos uso de la <strong>inyecci\u00f3n de dependencias<\/strong>, inyectando las dependencias en la clase en vez de instanciarlas dentro. De esta forma&nbsp;tendremos las clases de las dem\u00e1s capas desacopladas&nbsp;haciendo&nbsp;que dependan de una interfaz,&nbsp;en vez de una implementaci\u00f3n concreta.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">As\u00ed, lo que estamos&nbsp;consiguiendo es invertir el control&nbsp;de la aplicaci\u00f3n, evitando que nuestro programa&nbsp;dependa de una tecnolog\u00eda en concreto, permitiendo&nbsp;que sea la tecnolog\u00eda la que se adapte a los requisitos de la aplicaci\u00f3n.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Conclusi\u00f3n&nbsp;<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">En&nbsp;WATA&nbsp;Factory<strong>&nbsp;hemos apostado por este patr\u00f3n de&nbsp;arquitectura en&nbsp;algunos de&nbsp;nuestros proyectos m\u00e1s grandes<\/strong>. Nos&nbsp;permite&nbsp;lograr un aislamiento de cada una de las capas, nos&nbsp;proporciona flexibilidad a la hora de realizar cualquier cambio de infraestructura o de alg\u00fan servicio externo,&nbsp;testear f\u00e1cilmente&nbsp;y,&nbsp;sobre todo,&nbsp;nos&nbsp;ayuda a&nbsp;aplicar&nbsp;SOLID, obteniendo un&nbsp;c\u00f3digo m\u00e1s limpio y mantenible&nbsp;en el tiempo.&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Aplicar una buena arquitectura de dise\u00f1o en nuestros proyectos es fundamental&nbsp;para&nbsp;conseguir&nbsp;que \u00e9stos posean&nbsp;una base s\u00f3lida, escalable y&nbsp;adaptable a futuros cambios.&nbsp;La arquitectura hexagonal nos&nbsp;ayuda a&nbsp;alcanzar ese objetivo.&nbsp;<\/p>\n","protected":false},"author":25,"featured_media":4820,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[89,183],"tags":[],"class_list":["post-4814","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-noticias","category-tecnologia"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Arquitectura hexagonal: introducci\u00f3n y estructura - WATA Factory<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/wata.es\/es\/arquitectura-hexagonal-introduccion-y-estructura\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Arquitectura hexagonal: introducci\u00f3n y estructura - WATA Factory\" \/>\n<meta property=\"og:description\" content=\"Aplicar una buena arquitectura de dise\u00f1o en nuestros proyectos es fundamental&nbsp;para&nbsp;conseguir&nbsp;que \u00e9stos posean&nbsp;una base s\u00f3lida, escalable y&nbsp;adaptable a futuros cambios.&nbsp;La arquitectura hexagonal nos&nbsp;ayuda a&nbsp;alcanzar ese objetivo.&nbsp;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wata.es\/es\/arquitectura-hexagonal-introduccion-y-estructura\/\" \/>\n<meta property=\"og:site_name\" content=\"WATA Factory\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/watafactory\/\" \/>\n<meta property=\"article:published_time\" content=\"2021-06-02T06:05:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-01-29T15:59:07+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/wata.es\/wp-content\/uploads\/2021\/05\/arquitectura-hexagonal-introduccion-arquitectura-wata-factory.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1080\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Carlos Mayo\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@watafactory\" \/>\n<meta name=\"twitter:site\" content=\"@watafactory\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Carlos Mayo\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/wata.es\\\/es\\\/arquitectura-hexagonal-introduccion-y-estructura\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wata.es\\\/es\\\/arquitectura-hexagonal-introduccion-y-estructura\\\/\"},\"author\":{\"name\":\"Carlos Mayo\",\"@id\":\"https:\\\/\\\/wata.es\\\/es\\\/#\\\/schema\\\/person\\\/8f6349fc27eb1ecc607aef49c7e2f57c\"},\"headline\":\"Arquitectura hexagonal: introducci\u00f3n y estructura\",\"datePublished\":\"2021-06-02T06:05:00+00:00\",\"dateModified\":\"2026-01-29T15:59:07+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/wata.es\\\/es\\\/arquitectura-hexagonal-introduccion-y-estructura\\\/\"},\"wordCount\":1518,\"publisher\":{\"@id\":\"https:\\\/\\\/wata.es\\\/es\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/wata.es\\\/es\\\/arquitectura-hexagonal-introduccion-y-estructura\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/wata.es\\\/wp-content\\\/uploads\\\/2021\\\/05\\\/arquitectura-hexagonal-introduccion-arquitectura-wata-factory.jpg\",\"articleSection\":[\"Noticias\",\"Tecnolog\u00eda\"],\"inLanguage\":\"es\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/wata.es\\\/es\\\/arquitectura-hexagonal-introduccion-y-estructura\\\/\",\"url\":\"https:\\\/\\\/wata.es\\\/es\\\/arquitectura-hexagonal-introduccion-y-estructura\\\/\",\"name\":\"Arquitectura hexagonal: introducci\u00f3n y estructura - WATA Factory\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wata.es\\\/es\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/wata.es\\\/es\\\/arquitectura-hexagonal-introduccion-y-estructura\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/wata.es\\\/es\\\/arquitectura-hexagonal-introduccion-y-estructura\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/wata.es\\\/wp-content\\\/uploads\\\/2021\\\/05\\\/arquitectura-hexagonal-introduccion-arquitectura-wata-factory.jpg\",\"datePublished\":\"2021-06-02T06:05:00+00:00\",\"dateModified\":\"2026-01-29T15:59:07+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/wata.es\\\/es\\\/arquitectura-hexagonal-introduccion-y-estructura\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/wata.es\\\/es\\\/arquitectura-hexagonal-introduccion-y-estructura\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/wata.es\\\/es\\\/arquitectura-hexagonal-introduccion-y-estructura\\\/#primaryimage\",\"url\":\"https:\\\/\\\/wata.es\\\/wp-content\\\/uploads\\\/2021\\\/05\\\/arquitectura-hexagonal-introduccion-arquitectura-wata-factory.jpg\",\"contentUrl\":\"https:\\\/\\\/wata.es\\\/wp-content\\\/uploads\\\/2021\\\/05\\\/arquitectura-hexagonal-introduccion-arquitectura-wata-factory.jpg\",\"width\":1920,\"height\":1080,\"caption\":\"Formas hexagonales conc\u00e9ntricas con fondo de gradiente arco\u00edris pastel\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/wata.es\\\/es\\\/arquitectura-hexagonal-introduccion-y-estructura\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/wata.es\\\/es\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Arquitectura hexagonal: introducci\u00f3n y estructura\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/wata.es\\\/es\\\/#website\",\"url\":\"https:\\\/\\\/wata.es\\\/es\\\/\",\"name\":\"WATA Factory\",\"description\":\"IT Consulting &amp; Outsourcing for your company\",\"publisher\":{\"@id\":\"https:\\\/\\\/wata.es\\\/es\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/wata.es\\\/es\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/wata.es\\\/es\\\/#organization\",\"name\":\"WATA Factory\",\"url\":\"https:\\\/\\\/wata.es\\\/es\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/wata.es\\\/es\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/wata.es\\\/wp-content\\\/uploads\\\/2019\\\/12\\\/logowata.png\",\"contentUrl\":\"https:\\\/\\\/wata.es\\\/wp-content\\\/uploads\\\/2019\\\/12\\\/logowata.png\",\"width\":688,\"height\":176,\"caption\":\"WATA Factory\"},\"image\":{\"@id\":\"https:\\\/\\\/wata.es\\\/es\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/watafactory\\\/\",\"https:\\\/\\\/x.com\\\/watafactory\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/wata\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/wata.es\\\/es\\\/#\\\/schema\\\/person\\\/8f6349fc27eb1ecc607aef49c7e2f57c\",\"name\":\"Carlos Mayo\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/67c590dac899d8fb5d9e1e36353e68ed05db48c453a1b20ffcec5635514b6562?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/67c590dac899d8fb5d9e1e36353e68ed05db48c453a1b20ffcec5635514b6562?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/67c590dac899d8fb5d9e1e36353e68ed05db48c453a1b20ffcec5635514b6562?s=96&d=mm&r=g\",\"caption\":\"Carlos Mayo\"},\"sameAs\":[\"https:\\\/\\\/wata.es\"],\"url\":\"https:\\\/\\\/wata.es\\\/es\\\/author\\\/carlos-mayo\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Arquitectura hexagonal: introducci\u00f3n y estructura - WATA Factory","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/wata.es\/es\/arquitectura-hexagonal-introduccion-y-estructura\/","og_locale":"es_ES","og_type":"article","og_title":"Arquitectura hexagonal: introducci\u00f3n y estructura - WATA Factory","og_description":"Aplicar una buena arquitectura de dise\u00f1o en nuestros proyectos es fundamental&nbsp;para&nbsp;conseguir&nbsp;que \u00e9stos posean&nbsp;una base s\u00f3lida, escalable y&nbsp;adaptable a futuros cambios.&nbsp;La arquitectura hexagonal nos&nbsp;ayuda a&nbsp;alcanzar ese objetivo.&nbsp;","og_url":"https:\/\/wata.es\/es\/arquitectura-hexagonal-introduccion-y-estructura\/","og_site_name":"WATA Factory","article_publisher":"https:\/\/www.facebook.com\/watafactory\/","article_published_time":"2021-06-02T06:05:00+00:00","article_modified_time":"2026-01-29T15:59:07+00:00","og_image":[{"width":1920,"height":1080,"url":"https:\/\/wata.es\/wp-content\/uploads\/2021\/05\/arquitectura-hexagonal-introduccion-arquitectura-wata-factory.jpg","type":"image\/jpeg"}],"author":"Carlos Mayo","twitter_card":"summary_large_image","twitter_creator":"@watafactory","twitter_site":"@watafactory","twitter_misc":{"Escrito por":"Carlos Mayo","Tiempo de lectura":"6 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/wata.es\/es\/arquitectura-hexagonal-introduccion-y-estructura\/#article","isPartOf":{"@id":"https:\/\/wata.es\/es\/arquitectura-hexagonal-introduccion-y-estructura\/"},"author":{"name":"Carlos Mayo","@id":"https:\/\/wata.es\/es\/#\/schema\/person\/8f6349fc27eb1ecc607aef49c7e2f57c"},"headline":"Arquitectura hexagonal: introducci\u00f3n y estructura","datePublished":"2021-06-02T06:05:00+00:00","dateModified":"2026-01-29T15:59:07+00:00","mainEntityOfPage":{"@id":"https:\/\/wata.es\/es\/arquitectura-hexagonal-introduccion-y-estructura\/"},"wordCount":1518,"publisher":{"@id":"https:\/\/wata.es\/es\/#organization"},"image":{"@id":"https:\/\/wata.es\/es\/arquitectura-hexagonal-introduccion-y-estructura\/#primaryimage"},"thumbnailUrl":"https:\/\/wata.es\/wp-content\/uploads\/2021\/05\/arquitectura-hexagonal-introduccion-arquitectura-wata-factory.jpg","articleSection":["Noticias","Tecnolog\u00eda"],"inLanguage":"es"},{"@type":"WebPage","@id":"https:\/\/wata.es\/es\/arquitectura-hexagonal-introduccion-y-estructura\/","url":"https:\/\/wata.es\/es\/arquitectura-hexagonal-introduccion-y-estructura\/","name":"Arquitectura hexagonal: introducci\u00f3n y estructura - WATA Factory","isPartOf":{"@id":"https:\/\/wata.es\/es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/wata.es\/es\/arquitectura-hexagonal-introduccion-y-estructura\/#primaryimage"},"image":{"@id":"https:\/\/wata.es\/es\/arquitectura-hexagonal-introduccion-y-estructura\/#primaryimage"},"thumbnailUrl":"https:\/\/wata.es\/wp-content\/uploads\/2021\/05\/arquitectura-hexagonal-introduccion-arquitectura-wata-factory.jpg","datePublished":"2021-06-02T06:05:00+00:00","dateModified":"2026-01-29T15:59:07+00:00","breadcrumb":{"@id":"https:\/\/wata.es\/es\/arquitectura-hexagonal-introduccion-y-estructura\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wata.es\/es\/arquitectura-hexagonal-introduccion-y-estructura\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/wata.es\/es\/arquitectura-hexagonal-introduccion-y-estructura\/#primaryimage","url":"https:\/\/wata.es\/wp-content\/uploads\/2021\/05\/arquitectura-hexagonal-introduccion-arquitectura-wata-factory.jpg","contentUrl":"https:\/\/wata.es\/wp-content\/uploads\/2021\/05\/arquitectura-hexagonal-introduccion-arquitectura-wata-factory.jpg","width":1920,"height":1080,"caption":"Formas hexagonales conc\u00e9ntricas con fondo de gradiente arco\u00edris pastel"},{"@type":"BreadcrumbList","@id":"https:\/\/wata.es\/es\/arquitectura-hexagonal-introduccion-y-estructura\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/wata.es\/es\/"},{"@type":"ListItem","position":2,"name":"Arquitectura hexagonal: introducci\u00f3n y estructura"}]},{"@type":"WebSite","@id":"https:\/\/wata.es\/es\/#website","url":"https:\/\/wata.es\/es\/","name":"WATA Factory","description":"IT Consulting &amp; Outsourcing for your company","publisher":{"@id":"https:\/\/wata.es\/es\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/wata.es\/es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/wata.es\/es\/#organization","name":"WATA Factory","url":"https:\/\/wata.es\/es\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/wata.es\/es\/#\/schema\/logo\/image\/","url":"https:\/\/wata.es\/wp-content\/uploads\/2019\/12\/logowata.png","contentUrl":"https:\/\/wata.es\/wp-content\/uploads\/2019\/12\/logowata.png","width":688,"height":176,"caption":"WATA Factory"},"image":{"@id":"https:\/\/wata.es\/es\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/watafactory\/","https:\/\/x.com\/watafactory","https:\/\/www.linkedin.com\/company\/wata\/"]},{"@type":"Person","@id":"https:\/\/wata.es\/es\/#\/schema\/person\/8f6349fc27eb1ecc607aef49c7e2f57c","name":"Carlos Mayo","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/67c590dac899d8fb5d9e1e36353e68ed05db48c453a1b20ffcec5635514b6562?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/67c590dac899d8fb5d9e1e36353e68ed05db48c453a1b20ffcec5635514b6562?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/67c590dac899d8fb5d9e1e36353e68ed05db48c453a1b20ffcec5635514b6562?s=96&d=mm&r=g","caption":"Carlos Mayo"},"sameAs":["https:\/\/wata.es"],"url":"https:\/\/wata.es\/es\/author\/carlos-mayo\/"}]}},"_links":{"self":[{"href":"https:\/\/wata.es\/es\/wp-json\/wp\/v2\/posts\/4814","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wata.es\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wata.es\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wata.es\/es\/wp-json\/wp\/v2\/users\/25"}],"replies":[{"embeddable":true,"href":"https:\/\/wata.es\/es\/wp-json\/wp\/v2\/comments?post=4814"}],"version-history":[{"count":4,"href":"https:\/\/wata.es\/es\/wp-json\/wp\/v2\/posts\/4814\/revisions"}],"predecessor-version":[{"id":15418,"href":"https:\/\/wata.es\/es\/wp-json\/wp\/v2\/posts\/4814\/revisions\/15418"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wata.es\/es\/wp-json\/wp\/v2\/media\/4820"}],"wp:attachment":[{"href":"https:\/\/wata.es\/es\/wp-json\/wp\/v2\/media?parent=4814"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wata.es\/es\/wp-json\/wp\/v2\/categories?post=4814"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wata.es\/es\/wp-json\/wp\/v2\/tags?post=4814"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}