Seleccionar página
Power BI y conectores personalizados con puertas de enlace

Power BI y conectores personalizados con puertas de enlace

Power BI y conectores personalizados con puertas de enlace

Analítica | Datos | Power BI

En este mismo blog, tiempo atrás, ya hablamos de los conectores personalizados de Power BI y su utilidad a la hora de extraer datos de sistemas a medida propios o de terceros. Si bien Power BI proporciona una cantidad enorme de conectores de forma nativa, no siempre son suficientes y/o no en todas las ocasiones se ajusta a nuestras necesidades específicas.

Es una situación empresarial típica disponer de un ERP para la gestión y administración interna y necesitar extraer sus datos para la elaboración de cuadros de mando, informes y analíticas avanzadas. Con un conector nativo o a medida, puede ser suficiente. Pero, ¿qué hacer si la situación es algo más «compleja»? La respuesta puede estar en las puertas de enlace.

Pero antes… ¿por qué puedo necesitarlas?

Imaginemos un escenario tan simple (y común) como el siguiente:

  1. Como director de operaciones, necesito generar y mantener un cuadro de mando que consolide datos de distintas fuentes.
  2. Esas fuentes son remotas (por ejemplo nuestro ERP corporativo), pero también locales, almacenadas en mi propio PC (tales como hojas Excels y ficheros de distinta naturaleza).
  3. Quiero actualizar de forma automática y periódica el cuadro de mando de modo que se mantenga al día con los últimos datos.
  4. Por último, necesito utilizar la plataforma Power BI Cloud para compartir el informe con los agentes interesados.

Tal y como puede apreciarse, este escenario plantea varios problemas que requieren una estrategia. Porque efectivamente la misma concepción de un cuadro de mando debe suponer un proyecto en sí mismo, por pequeño que pueda parecer. Y la resolución de dicha estrategia requiere asimismo, y por supuesto, herramientas tecnológicas de distinta índole.

Más concretamente, es evidente que necesitaremos soluciones a tres retos concretos: la conexión al ERP para la extracción de sus datos; la conexión a nuestras hojas Excel; y, por último, la compartición del informe. Este último escollo puede resultar a priori trivial, pero quizás sea el más «especial»…

Conectores personalizados, datos remotos y datos locales

Una de las enormes ventajas del uso de Power BI para la construcción de analítica empresarial, es su capacidad para conectar e integrar de forma nativa y centralizada datos provenientes de fuentes muy diversas y de muy distinta naturaleza. Para ello, pone a disposición del usuario una cantidad importante de conectores nativos. Es el caso de la conexión a hojas Excel locales para la extracción y el tratamiento de los datos que contiene. En pocos clics, dispondremos de ellos para empezar a trabajarlos en nuestro cuadro de mando. Un problema resuelto.

¿Qué ocurre con la conexión a datos remotos? Si nuestro ERP, como por fortuna suele ser frecuente en estos tiempos, dispone de un API REST funcional, la solución es casi tan directa como en el caso anterior: Power BI aporta los mecanismos necesarios para consumir dichas APIs. Ok, pero… ¿y si no dispone de ella, o su consumo no es tan obvio? Como para todo hay solución, Power BI dispone la posibilidad de desarrollar conectores personalizados que permiten al programador conectar casi de forma ilimitada con fuentes de datos remotas. Otro problema salvado.

Funcionamiento de la puerta de enlace. Diagrama tomado de docs.microsoft.com

Llega la publicación y…

Llegados a este punto, hemos extraído datos de nuestro ERP a través de un conector personalizado (o a través de un conector nativo vía API REST), hemos extraído datos de nuestras hojas Excel, y hemos diseñado y construido un maravilloso cuadro de mando profesional con todo ello. Es la hora de compartirlo On Cloud con nuestros compañeros y triunfar…

Como no podía ser de otra forma, Power BI permite llevar a cabo la publicación de un informe en poco más de tres clics. Pero una vez publicado, ¿qué puede ocurrir al consultarlo en la plataforma Power BI Cloud y tratar de actualizar los datos? Que, efectivamente, no es posible hacerlo. ¿Por qué? La razón no es de extrañar, y puede deberse a uno o varios motivos:

  1. Si hemos utilizado un conector personalizado para la conexión a nuestro ERP, ten en cuenta que dicho conector está instalado en el PC. ¿Cómo entonces puede Power BI Cloud ejecutarlo? No tiene acceso a él, para él es un agente desconocido…
  2. Además, para la construcción de nuestro cuadro de mando, hemos utilizado información de hojas Excel que también se encuentran en nuestro PC. ¿Cómo iba entonces Power BI Cloud a acceder a ellas para actualizar el cuadro de mando? No sabe dónde están…

La primera respuesta a este problema podría ser desplazar todos nuestros datos a un lugar online accesible desde fuera de nuestro PC, o tratar de cambiar incluso la forma de compartir nuestro informe (¿en PDF? ¿a través del fichero Power BI?). Pero, ¿por qué renunciar a la potencia de Power BI por un simple escollo? Hay una última esperanza: las puertas de enlace.

Puerta de enlace, la solución a medida

Tal y como se puede apreciar en el diagrama anterior, la puerta de enlace es un mecanismo aportado por Power BI que permite a su Cloud acceder a nuestros recursos (por supuesto de forma segura) a través de un «pasadizo» a medida. Dicho de otra forma, permite a Power BI conectar con todas las fuentes de datos que utilizamos de forma local para actualizar y reconstruir en la nube nuestros informes y cuadros de mando y, finalmente, poder compartirlos.

La puerta de enlace es una aplicación de escritorio descargable desde el sitio oficial de Power BI. Tras ser instalada y configurada, se encarga de detectar los conectores personalizados instalados en nuestro PC y, a través de nuestra cuenta de usuario Power BI, comunicar con el espacio Cloud de la plataforma. Una vez publicado nuestro informe o cuadro de mando, el propio Cloud detectará las puertas de enlace disponibles. Bastará con seleccionarla y asociarla a nuestro reporte para que Power BI puede finalmente operar con todos nuestros datos y actualizarlos de forma periódica, automática e ilimitada.

Tal y como hemos podido comprobar, la problemática y complejidad de la analítica empresarial no siempre se ciñe a lo puramente «científico». Para implementar soluciones profesionales y avanzadas en el ámbito de los datos, sea al nivel que sea (desde el uso de hojas Excel hasta la extracción de datos de sistemas remotos), es necesario plantear una estrategia, diseñar las soluciones a los retos derivados de esta, y buscar una combinación de herramientas tecnológicas que nos presten el soporte adecuado.

Conectores Power BI para analítica de datos ¿Necesitas uno para tus sistemas?

Gemelos digitales o una canción del verano interminable

Gemelos digitales o una canción del verano interminable

Gemelos digitales o una canción del verano interminable

Datos | Gemelo digital | Industria 4.0

¿Y si resultase que «Gemelo Digital» es sólo una nueva forma de referirse a la digitalización de toda la vida? ¿Y si se afirmase que la construcción de un «Gemelo Digital» no es nada en sí mismo? ¿Estamos ante una nueva vuelta de tuerca en la tristemente ya vieja moda basada en reciclar términos antiguos para «rehacerlos» atractivos (y más comerciales)? Ni sí ni no.

Digitalización o la casa por el tejado

Llevemos a cabo un rápido análisis cronológico sobre lo que ha ocurrido en materia de digitalización en los últimos años.

Digitalización es sencillamente una técnica basada en utilizar software y hardware con el (¿único?) objetivo de mejorar los procedimientos de una organización, ya sea a nivel administrativo y/o a nivel productivo.

Con esta idea cristalina, las empresas comenzaron a afrontar procesos de transformación digital basados en el desarrollo y la implantación de sistemas de administración y gestión. Y de la mano de este primer gran advenimiento digital llegó el siguiente gran descubrimiento: por entonces ni lo sabíamos ni nos importaba, pero estábamos digitalizando el dato. Estaba a nuestra disposición y era hora de explotarlo.

Y las empresas dan un siguiente paso: analítica empresarial y automatización de reportes (sí, básicamente es eso). Hemos mejorado organizativamente, tenemos información digital compartida y somos capaces de usarla para. ¿Nos detenemos aquí? Por supuesto que no, llega la nueva era: Big Data, Machine Learning, IA… ¿Gemelo Digital? ¿Qué es? ¿Qué significa? Acompáñanos en esta pequeña pero apasionante historia.

El dato: Ah s**t, here we go again

Lo del dato no es algo nuevo. Está en un correo, en una libreta, en un bloc de notas… El dato ha estado, está y estará siempre ahí. Por resumir la idea de forma contundente, el dato no ha sido inventado por la digitalización. ¿Acaso los responsable y directores de finanzas (por poner un ejemplo), en los años 60s, no utilizaban datos para construir informes de situación, con sus gráficas y todo? Pues claro que sí.

Una vez aclarado esto, ¿qué ha hecho entonces la digitalización por el dato? Primero, efectivamente, propiciar su digitalización, que no es otra cosa que almacenarlo en un cajoncito mucho más manejable, explotable y transversal. Ya no hay que acudir a mil fuentes distintas para obtener un paquete de datos. Ahora están en un «único sitio».

En segundo lugar, en cierto modo lo ha universalizado, lo ha extendido. La digitalización es capaz de convertir y extraer datos que antes no existían o, mejor dicho, que antes se mantenían ocultos y no se consideraban. Con digitalización, es mucho más cómodo recopilar absolutamente todo lo que se quiera recopilar.

Y tercero, lo ha hecho fiable. O, al menos, ha aportado y aporta mecanismos suficientes para hacerlo único, central y, hasta cierto punto, inmutable. El mismo acceso inmediato al dato y la transversalidad de este hacen que la verificación de su integridad sea más robusta.

Big Data, el hermano listo

Y con la digitalización del dato, el interés en alza de la propia digitalización y la necesidad de avanzar en el control y la gestión de procesos, llegan las primeras «movidas», los primeros soniquetes de verano: el Big Data. Y con él, la confusión.

El Big Data sí existe

El Big Data existe. El Big Data funciona. El Big Data son muchas cosas. El Big Data no es necesariamente la solución a los problemas. Surge como la solución a la generación, ingesta masiva y tratamiento (ya sea a modo de estructuración, de transformación o de modelado) de cantidades ingentes de datos digitalizados.

En muchas ocasiones, se nombra como solución a un problema concreto de negocio, cuando en realidad es una herramienta (un conjunto amplísimo de técnicas y herramientas, para ser más exacto) que puede ayudar a alcanzar precisamente una solución a un problema de negocio.

¿Necesita toda empresa recopilar cantidades ingentes de datos y aplicar mecanismos de Big Data? No. ¿Hay empresas que necesitan acudir a ello para mejorar sus procesos? Por supuesto que sí. Que la moda no confunda, de poco sirve una barca en un páramo.

Machine Learning, Inteligencia Artificial y la ciencia ficción

Pues ya está todo listo para llegar al futuro, a una «Odisea en el espacio«, a un «Blade Runner» palpable: la Inteligencia Artificial. Pero nótese antes de nada que la Inteligencia Artificial no es tan Inteligente sin todo el camino anterior. Y he aquí otro punto negativo en la moda de la terminología. A lo largo de todo este tiempo se ha (hemos) hecho creer que este Big Data, esta IA o este Machine Learning eran soluciones estanco que de forma mágica mejoraban, no se sabe bien por qué, la vida de las empresas.

Llegar a la implementación de un modelo de IA o ML responde a necesidades muy concretas, analizadas y estudiadas del negocio o de los procesos críticos de una empresa, y la inversión realizada en ellos (que no es baja) debe tener un ROI muy definido, acotado y razonado. Y, por encima de todo, requiere haber andado un camino largo y seguro en el ámbito digital que no todo el mundo está dispuesto ni necesita recorrer.

Y lo que es peor: a cada paso digital, más exclusiva parece la solución, más reservada a las grandes corporaciones capaces de invertir mucho dinero en soluciones digitales. Y nada más lejos de la realidad. El propio carácter etéreo y casi místico que se inyecta en términos como «Datos», «Big Data», «IA» o «Machine Learning» es culpable de hacer ver dichas herramientas como soluciones inalcanzables, de casi ciencia ficción.

La llegada del Gemelo Digital

Y la nueva estrella del momento, el Gemelo Digital. Pero, ¿qué es? Desde un punto de vista teórico, puede definirse como la simulación integral o parcial de un proceso y/o de su comportamiento a lo largo del tiempo basada en datos captados del mundo real. Suele pensarse en máquinas y sistemas físicos, pero un gemelo digital puede versar sobre un flujo de producción o un proceso de fabricación.

La clave del Gemelo Digital es la clave de la digitalización misma. ¿A dónde quieres llegar? ¿Por qué quieres llegar? ¿Qué esperas encontrar cuando llegues? Quizás el lugar esté más cerca de lo que piensas, o piensas que está cerca pero te lleva a sitios a los que nunca pensaste llegar. El Gemelo Digital es una herramienta más para implementar soluciones a problemas y mejorar la vida de una empresa y, como en el caso de todas las anteriores, requiere de otras muchas para su correcto desarrollo.

Sólo pediría una cosa: no tratemos de modas, tratemos de soluciones. Alcanzables, justas y de valor real.

¿Quieres dar el primer paso en digitalización? Llámanos sin compromiso y diseñamos tu Mínimo Producto Viable

Cómo gestionar tu tienda virtual, problemas y soluciones

Cómo gestionar tu tienda virtual, problemas y soluciones

Cómo gestionar tu tienda virtual, problemas y soluciones

Datos | E-commerce | Transformación digital

Con este tipo de herramientas puedes gestionar los datos de tus clientes, sus pedidos, el stock de productos, facturas, etc. Pero, ¿qué ocurre cuando el negocio escala? ¿Y si quieres vender en diferentes canales online o tiendas físicas?

A continuación intentamos resolver estos y otros problemas que surgen cuando tu negocio de venta online sube de nivel. Te ayudamos a descubrir cómo gestionar tu tienda virtual de forma eficiente.

Problema 1: la gestión del inventario

Las herramientas de tienda online nos proporcionan información básica sobre la cantidad que tenemos disponible de un determinado producto. Con la incorporación de algunos plugins adicionales se puede obtener información más detallada sobre todos los movimientos de un producto y en algunos casos se puede hacer una gestión más o menos completa de un inventario.

Sin embargo, cuando se gestionan variantes de un mismo producto, esto es muy habitual en tiendas de moda y prendas de vestir, la gestión del stock y sus movimientos se convierte en un auténtico infierno. Habitualmente se trata de conjuntos muy amplios de variantes de productos, listados muy largos que estas herramientas no están preparadas para gestionar.

El problema de la gestión del inventario se agrava aún más cuando vendemos a través de más de un canal, tienda física por ejemplo, o servimos los pedidos desde varios almacenes.

En este escenario surgen casos en los que, por ejemplo, no todas las unidades de una variante están disponibles en la tienda online, o de las que están disponibles, no todas ellas se sirven desde un mismo almacén. En este caso se hace imprescindible el uso de un sistema central que gestione todos los movimientos de cualquiera de los almacenes y tiendas de las que disponemos. Esta responsabilidad suele recaer sobre lo que se conoce como un Sistema de Planificación de Recursos Empresariales (ERP).

Cómo gestionar tu tienda virtual. Problemas comunes a la hora de gestionar un negocio online

Un ERP es un sistema que nos ayuda a gestionar y trazar todos los procesos de un negocio, en especial aquellos relacionados con la producción, la distribución y la contabilidad. Existen multitud de ejemplos con diferentes funcionalidades y objetivos pero mencionamos aquí sólo los más importantes: SAP Hana, Microsoft Dynamics 365 y Odoo.

Sincronizar todos tus canales de venta, incluida tu tienda online, y todos tus almacenes con tu ERP te permitirá gestionar de manera centralizada todas las transacciones, manteniendo así el stock sincronizado en tiempo real y el acceso a la información del estado de un producto o variante independientemente del canal en el que se esté distribuyendo.

Problema 2: contabilidad y facturación

¿Cómo gestionar tu tienda virtual a nivel administrativo? Aunque todos las herramientas de tienda online mencionadas permiten la gestión de la facturación de los pedidos realizados online, incluso alguna de ellas permite una gestión avanzada de asignación y cálculo de impuestos, es más complicado encontrar soluciones a problemas de contabilidad más complejos, tales como: la gestión de diferentes diarios contables, la asignación de cuentas específicas a cada cliente, la asignación automática de posiciones fiscales dependiendo de reglas de localización o regímenes especiales, etc.

Considerando de nuevo el caso de la venta a través de diferentes canales, el problema de la facturación aumenta de complejidad y es necesario gestionar todo este proceso a través de un ERP. De esta forma se accede a la posibilidad de gestionar de manera profesional tanto la facturación como la contabilidad de los cobros.

¿Quieres dar un paso más en la gestión de tu negocio online?

Problema 3: proceso de fabricación

Cada vez se demandan más los productos personalizados por el cliente, que nos obliga a gestionar la fabricación y entrega del producto que nos solicita en tiempo real. En este caso, las herramientas de tienda online habituales no suelen ir más allá de permitir que el pedido se lleve a cabo y al cliente se le notificará sólo el envío del mismo.

Integrar tu tienda virtual con un ERP te permitirá sincronizar el proceso de venta con el de fabricación directamente, justo en el momento en el que el cliente realiza el pedido, se generan las diferentes órdenes de producción e incluso, se puede ir notificando en tiempo real al cliente sobre el estado del proceso.

Problema 4: gestión de tareas

El incremento en el número de ventas trae consigo un aumento en el número de recursos necesarios para gestionarlas, y de aquí surge la necesidad de gestionar las tareas que cada uno de ellos debe realizar.

La gestión de diferentes equipos de venta, gestión de cuentas de cliente, tareas de logística, procesos de calidad, atención al cliente, etc., son todas tareas que difícilmente se pueden gestionar haciendo uso sólo de las herramientas básicas de tiendas online.

También en este caso, la gestión de todos estos procesos, y su sincronización con la tienda online, se puede realizar a través de la implantación de un ERP. Por ejemplo:

  1. Un cliente de Barcelona realiza un pedido en la tienda online, lo que genera automáticamente un pedido en modo borrador en el ERP que se asigna al equipo de ventas de España norte para su validación.
  2. Un comercial valida el pedido y el sistema genera automáticamente la orden de expedición para el almacén ubicado en Barcelona y envía un correo electrónico al cliente con los detalles.
  3. La empresa de logística notifica la entrega y el sistema genera automáticamente el borrador de la factura y la asigna al equipo de contabilidad.
  4. Al mismo tiempo se genera una tarea programada para que dentro de un mes un comercial contacte con el cliente para llevar a cabo una campaña de postventa.
  5. El equipo de contabilidad valida la factura y se envía automáticamente al cliente.

Todos estos procesos son implementados en un ERP, y prestan una noción exacta de cómo gestionar tu tienda virtual de forma eficiente.

Problema 5: estado del negocio en su conjunto

La herramienta que gestiona tu tienda virtual sólo te permite ver la dimensión “ventas”, además sólo de las ventas realizadas en esa tienda virtual.

Sin embargo, para tener una visión clara del estado y el rendimiento de tu negocio, es necesario adquirir y combinar la información de todas las dimensiones del mismo. Un sistema ERP te permite gestionar la información de ventas y compras, otros ingresos y gastos, previsiones, presupuestos, caja, bancos, etc. De esta manera podrás con un solo clic saber el resultado de explotación de tu negocio.

¿Quieres saber más sobre cómo gestionar tu tienda virtual?

Arquitecturas limpias y DDD, un recorrido práctico. Parte 2

Arquitecturas limpias y DDD, un recorrido práctico. Parte 2

Arquitecturas limpias y DDD, un recorrido práctico. Parte 2

Arquitectura | DDD | Desarrollo

En el anterior post de esta serie sobre arquitecturas limpias y DDD, se introdujeron los conceptos básicos sobre dicha arquitectura y se discutió sobre la filosofía de diseño separada en capas, sus elementos y características fundamentales y por supuesto sobre las ventajas de su uso.

Llegados a este punto, cabe preguntarse cómo pasar a la acción. Dicho de otro modo, planteado un problema funcional o un caso de uso a implementar, ¿cómo aplicar DDD? A lo largo de este y de los siguientes posts de la serie, se tratarán los siguientes puntos al respecto:

  • Planteamiento de un problema funcional real.
  • Aplicación y uso de lenguaje ubicuo.
  • Diseño estratégico de la solución.
  • Diseño táctico e implementación.
Diagrama de arquitectura hexagonal

Problema: control de operaciones en manufactura

Tomemos como ejemplo un problema de digitalización característico de una empresa manufacturera y su flujo de producción, donde los operarios deben realizar ciertas tareas para acabar una orden de trabajo que, en última instancia, permite fabricar un producto.

La forma de trabajo habitual de los operarios es la siguiente:

  • De cada orden de trabajo que les facilitan, toman una o varias de las operaciones que deben realizar, según sus conocimientos y certificaciones, y comienzan a trabajar en ellas.
  • Marcan la tarea como asignada al operario y en progreso, para que nadie la tome de nuevo.
  • Una vez acabada la tarea, la marcan como finalizada y vuelven al principio del proceso.

Cabe destacar, como restricción, que las operaciones sólo pueden encontrarse en un estado a la vez, es decir, o están por hacer, o están en proceso o están finalizadas. De manera resumida, su flujo es el siguiente:

Flujo simple de gestión de operaciones

¡Veamos como podemos implementar este problema!

Nuestro aliado el lenguaje ubicuo. Conceptos de negocio

The use of language on a project is subtle but all-important […] to create a supple, knowledge-rich design calls for a versatile, shared team language, and a lively experimentation with language that seldom happens on software projects.

 

Eric Evans – Domain-driven design. pp.23 – 24.

Una de las partes más importantes de DDD es el lenguaje. De las sesiones del equipo (equipo de desarrollo y expertos del dominio, se entiende) debe emerger un lenguaje consensuado entre todos que explique el modelo de forma unívoca. Para ello, hay que prestar especial atención a lo que nos comunican los propios expertos del dominio.

Para este ejemplo en particular, tomaremos la explicación anterior como la información que tenemos del dominio (imaginemos que ha sido un experto quien nos la ha facilitado) y extraeremos, de manera somera, los conceptos y entidades más importantes:

  • Operario. Usuario técnico que ejecuta las operaciones. Cada operario tiene habilidades (skills) que les permitirá o no ejecutar una operación.
  • Orden. Una orden de trabajo es el conjunto de operaciones que uno o varios operarios deben llevar a cabo para producir un bien o servicio, dado unos recursos consumibles.
  • Operación. Las operaciones son la unidad mínima de trabajo que un operario debe ejecutar para conseguir acabar una orden de trabajo. Todas las operaciones pertenecen a una orden concreta, deben ejecutarse por operarios con los skills necesarios y son cambiadas de estado durante el flujo de trabajo del operario. Pueden encontrarse en 3 estados diferentes: TODO, DOING y DONE.

Diseño estratégico: la hora de la verdad

Durante la etapa de diseño estratégico el equipo de desarrollo, junto con los expertos del dominio, deben definir los bounded contexts, el lenguaje ubicuo y los context maps que expliquen el dominio del problema.

Para ello es recomendable seguir, entre otras, la técnica de Event Storming. Con esta técnica podemos definir qué comportamiento existe en nuestro dominio, qué elementos intervienen y cómo se relacionan entre ellos. Toda esta información posteriormente ayudará a determinar los building blocks de nuestro proyecto software.

Continuando con el ejemplo planteado, en la imagen siguiente se puede ver un modelado de cambio de estado de operaciones.

Diagrama de flujo completo del sistema de operaciones

De esta imagen y su análisis, y siguiendo la nomenclatura de Event Storming, se puede obtener suficiente información del dominio como para realizar una primera implementación. Pero eso lo dejaremos para el siguiente post.

En el próximo capítulo de esta serie, se llevará a cabo el diseño táctico y la implementación de la solución.

¿Quieres dar el primer paso en digitalización? Llámanos sin compromiso y diseñamos tu Mínimo Producto Viable

Arquitecturas limpias y DDD, un recorrido práctico. Parte 1

Arquitecturas limpias y DDD, un recorrido práctico. Parte 1

Arquitecturas limpias y DDD, un recorrido práctico. Parte 1

Arquitectura | DDD | Desarrollo

Cuando se aborda un nuevo proyecto de software en el que intervienen múltiples stakeholders, se implican diversos componentes o sistemas terceros, o trata de implementar grandes flujos de negocio, es decir, un proyecto con un alto nivel de complejidad, se afronta el mismo problema de siempre: ¿Qué estrategia de diseño tomar? ¿Qué lenguaje de negocio utilizar? ¿Qué patrones de arquitectura tecnológica aplicar?

Las respuestas a estas preguntas deben basarse siempre en el análisis de aspectos tales como la mantenibilidad que se requiere, el nivel de integración, la escalabilidad o simple y llanamente el coste de implementación. No obstante, entre estos aspectos suele olvidarse uno clave: el lenguaje, que no es otra cosa que el mecanismo o punto de unión que debe permitir la conexión entre el mundo del negocio empresarial a digitalizar y el producto digital final. En otras palabras, el aspecto que marcará el éxito.

¿En qué punto entra en juego el concepto de arquitecturas limpias y DDD (Domain-Driven Design)? ¿En qué ayuda a trabajar y optimizar ese aspecto clave? Para empezar, en este artículo se abordarán conceptos básicos de arquitectura.

Arquitecturas limpias y el hexágono mágico

La arquitectura hexagonal se basa en los siguientes principios y objetivos fundamentales:

  • Separar de forma explícita y contundente las capas de usuario, negocio y servidor.
  • Derivar y empujar las dependencias desde las capas de usuario y servidor hacia la lógica de negocio.
  • Aislar e independizar al máximo cada una de las capas, suprimiendo acoplamientos indebidos y dotando a cada componente de una responsabilidad muy específica.
Diagrama de arquitectura hexagonal

Desde un punto de vista práctico, este principio de arquitectura se basa en una idea tan antigua como eficaz: divide y vencerás. Separar o partir el problema en trozos independientes facilitará no sólo la comprensión del problema global, sino que hara más sencilla la implementación de la solución y su posterior mantenimiento. Por otro lado, prepara el terreno para alcanzar una mayor extensibilidad y escalabilidad.

¿Te interesa profundizar aún más en este principio de arquitectura? Este artículo te será de gran ayuda. Exploremos de forma breve y concisa cada uno de los componentes principales de la arquitectura hexagonal.

Capa de presentación

Es sencillamente la interfaz de usuario final. A grandes rasgos, se encarga de mostrar la información al usuario, interpretar sus órdenes y desencadenar las acciones de negocio pertinentes a través de su comunicación al resto de capas intervinientes.

Cabe destacar en este punto que, en ocasiones y con mucha asiduidad, se identifica al usuario o actor externo con un ser humano. Nada más lejos de la realidad. El usuario final puede ser cualquier otra entidad: una máquina, un dispositivo IoT, otro sistema informático, etc. Es un punto a tener muy en cuenta de cara al diseño de esta capa.

Capa de aplicación

Define las tareas que debe realizar el software y dirige los objetos de dominio expresivo para resolver los problemas. Las tareas de las que se encarga esta capa son significativas para el negocio o necesarias para la interacción con las capas de aplicación de otros sistemas.

Esta capa se mantiene «delgada». No contiene reglas de negocio o conocimiento, sino que sólo coordina las tareas y delega el trabajo a las colaboraciones de los objetos de dominio en la capa siguiente. No tiene estado que refleje la situación del negocio, pero puede tener estado que refleje el progreso de una tarea para el usuario o el programa.

Capa de dominio

O también llamada capa de modelo. Es el componente de la arquitectura responsable de representar los conceptos del negocio, la información sobre la situación del negocio y las reglas del negocio. El estado que refleja la situación de la empresa a través de su sistema digital se controla y utiliza aquí, aunque los detalles técnicos de su almacenamiento se delegan en la infraestructura.

En definitiva, es el componente que implementa los flujos de trabajo o producción de la compañía a través de un lenguaje muy próximo al empresarial.

Capa de infraestructura

Esta capa proporciona las capacidades técnicas genéricas que soportan las capas superiores: envío de mensajes para la aplicación, persistencia para el dominio, dibujo de widgets para la UI, etc. Asimismo, es la responsable de la conexión con los sistemas/agentes externos a nuestro dominio.

La capa de infraestructura también puede soportar el patrón de interacciones entre las cuatro capas a través de un marco arquitectónico y es también llamada capa de anticorrupción en cuanto a que evita que las capas de negocio se «contaminen» con elementos en realidad ajenos a éste.

¿Quieres más información? Echa un vistazo a esta entrada.

En el próximo capítulo de esta serie, se planteará un problema real y el diseño de la solución aplicando éste y otros principios.

¿Quieres dar el primer paso en digitalización? Llámanos sin compromiso y diseñamos tu Mínimo Producto Viable

Digitalizar en plano secuencia

Digitalizar en plano secuencia

Digitalizar en plano secuencia

Transformación digital

No debe haber miedo en afirmar, simplemente por ser en apariencia un concepto opuesto al frío tecnológico, que la digitalización trata de emociones.

Tras cada decisión de optimización, tras cada idea de mejora o tras cada sueño de evolución, hay una persona o un grupo de personas que están dispuestas a invertir su tiempo y su dinero en alcanzar sus objetivos a través de tecnología. Dispuesta a confiar en ti, empresa tecnológica. Y eso es emoción.

Partiendo de esta premisa tan clara y meridiana, inferimos nuestro objetivo más conciso: aportar retorno de inversión, expresión que aterrizada a una escala emocional, se traduce en aportar bienestar y, por qué no, alegría.

Hacia un lugar más exacto

Cuando hablamos de abordar un proyecto de digitalización, hablamos de formar equipo. Implicar a nuestros clientes en el desarrollo de sus ideas es parte del juego, y la única forma que conocemos de que todo llegue a buen puerto. La digitalización coral, como ocurre en un plano secuencia, permite aportar un dinamismo especial, y ayuda a descubrir de forma progresiva el escenario y el contexto al que sus protagonistas se enfrentan. En definitiva, digitalizar en plano secuencia.

En "Senderos de Gloria", el general pasa revista a sus tropas

En «Senderos de Gloria«, el general pasa revista a sus tropas paseando por la mismísima trinchera. Mientras toma el pulso a la realidad de sus hombres, se suceden las explosiones. El espectador, el analista, empieza a darse cuenta de qué hay enfrente (objetivos), cuál es la amenaza (oportunidad) y cuál es el estado actual de las cosas.

Un paso para poder dar el siguiente

Son los conceptos de continuidad e inclusión los que hacen del plano secuencia algo realmente especial. En muchas ocasiones, el éxito de un proceso de digitalización va precisamente de eso. Al final de la escena, tenemos una idea de conjunto clara, y sabemos con seguridad qué ha pasado. Pero llegar a este punto con éxito significa haber ido paso a paso, quitando capas de la cebolla mecánica.

Matthew McConaughey afronta una acción maravillosamente interminable en «True Detective» con una estrategia en mente, pero sin conocer los problemas reales y específicos a los que se enfrentará. Anda por exteriores, se agazapa, penetra en habitaciones, protege y ataca, siempre en alerta y bien planificado, pero sin saber con exactitud qué hay al otro lado. Y cuando el problema llega, aplica la solución concreta, lo que la acerca a la más correcta. Matt itera y avanza.

Un equilibrio prácticamente quirúrgico

Mi plano secuencia digital es un Mínimo Producto Viable, una fase corta, ambiciosa y con un objetivo claro que resulta espectacular (aporta valor), que convierte al espectador en actor (hace equipo), y que pone las cartas sobre la mesa para abordar soluciones (orienta a objetivo). Ahora bien, ¿es complicado? Veamos.

Un plano secuencia sale bien teniendo claro cuál es el objetivo y tomando conciencia de qué papel ha de jugar cada actor

¿Cuántos ángulos, travellings y cambios de ángulo y altura acompañan a Michael Keaton en «Birdman«? La coreografía es tan efectiva y eficiente como difícil de coordinar. ¿Un fallo puede provocar una repetición de la secuencia? Quizás. ¿Es costoso? Claro, pero, ¿no lo es más aún un fracaso en taquilla? Un plano secuencia sale bien teniendo claro cuál es el objetivo y tomando conciencia de qué papel ha de jugar cada actor. Digitalizar en plano secuencia.

Uno de los primeros planos secuencia del cine pertenece a Murnau, de su película «Amanecer», de 1927. Todo está ahí, sólo hay que querer, atreverse y saber utilizarlo.

¿Quieres dar el primer paso en digitalización? Llámanos sin compromiso y diseñamos tu Mínimo Producto Viable