{"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>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>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>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>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>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>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>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>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>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>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>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\"><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\" \/><\/figure>\n\n\n\n<p>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>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>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>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>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>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>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>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>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>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>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>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>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>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>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>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 v27.4 - 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\\\/#\\\/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\\\/#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\\\/#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\\\/#website\",\"url\":\"https:\\\/\\\/wata.es\\\/\",\"name\":\"WATA Factory\",\"description\":\"IT Consulting &amp; Outsourcing for your company\",\"publisher\":{\"@id\":\"https:\\\/\\\/wata.es\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/wata.es\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/wata.es\\\/#organization\",\"name\":\"WATA Factory\",\"url\":\"https:\\\/\\\/wata.es\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/wata.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\\\/#\\\/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\\\/#\\\/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\\\/carlosmayo\\\/\"}]}<\/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\/#\/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\/#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\/#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\/#website","url":"https:\/\/wata.es\/","name":"WATA Factory","description":"IT Consulting &amp; Outsourcing for your company","publisher":{"@id":"https:\/\/wata.es\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/wata.es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/wata.es\/#organization","name":"WATA Factory","url":"https:\/\/wata.es\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/wata.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\/#\/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\/#\/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\/carlosmayo\/"}]}},"_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}]}}