Hasta hace poco, las plataformas de comercio digital estaban desplegadas casi exclusivamente por arquitecturas monolíticas. En esta clase de arquitecturas, las funcionalidades más típicas o requeridas vienen pre-empaquetadas por defecto y los requerimientos del proyecto son relativamente fáciles de cubrir. Si bien este tipo de marco de trabajo sigue siendo viable y genera ingresos para muchas empresas hoy en día, también plantea algunos desafíos, y es que, a medida que el tiempo avanza, los clientes tienen unas mayores y más complejas exigencias.
Hoy en día una empresa puede obtener prácticamente todo lo que necesita de esa clase de plataformas, siempre y cuando cuente con tiempo y recursos para las customizaciones y el mantenimiento posterior. Esta clase de plataformas de e-commerce son ricas en capacidades y funcionalidades, pero a veces proporcionan demasiados elementos innecesarios que las convierten en pesadas y difíciles de evolucionar. Como resultado, puede ocurrir que los sistemas monolíticos no sean lo suficientemente ágiles para satisfacer lo que las empresas requieren construir, o necesitan escalar, dentro de un tiempo razonable.
El motor del negocio para una mayor flexibilidad empresarial es el comercio orientado a la experiencia de compra del cliente. Con las arquitecturas monolíticas, las integraciones entre los sistemas suelen consumir gran parte del tiempo de implementación y a menudo esto se traduce en un empobrecimiento de la experiencia del cliente.
Contrariamente a una sola aplicación monolítica que maneja toda la lógica empresarial y ofrece todas las características, un enfoque basado en micro servicios encapsula cada capacidad empresarial en servicios individuales y les permite interactuar entre sí. Los micro servicios son pequeños servicios que se desarrollan y se despliegan individualmente, comunicándose a través de APIs, los microservicios reducen la complejidad del software y permiten escalar verticalmente, aumentando la flexibilidad, velocidad y resiliencia.
Hasta hace no mucho tiempo, las plataformas de comercio electrónico con arquitecturas monolíticas eran la única opción. Esto supone un problema en dos niveles. Por un lado, las plataformas monolíticas operan con un frontend y backend estrechamente acoplados, lo que se traduce en que cualquier solicitud de modificaciones o personalización, implica editar la base de datos, el código y la plataforma de front-end, lo cual es muy intensivo en tiempo. Además, los desarrolladores deben tener en cuenta que los cambios realizados en el proceso de personalización no afecten a futuras actualizaciones (o incluso que las impidan).
Además de esto, como hemos comentado en la introducción, el cliente siempre quiere y necesita más. Las empresas exigen más flexibilidad a sus soluciones de comercio electrónico y un tiempo de comercialización más rápido del que normalmente suelen ofrecer sus paquetes «aceleradores» (sus frameworks listos para usar). La creciente aparición de dispositivos IoT / interconectables, hará que las empresas deban adaptar sus soluciones para respaldarlos. Esto puede ser difícil sin la arquitectura adecuada y tecnologías que den un soporte en consonancia.
El comercio «sin cabeza» o «headless commerce», como se le conoce en países de habla inglesa, desacopla la capa de presentación del front-end, de la plataforma de back-end / capa de datos a través de APIs. Mientras que con una arquitectura monolítica, un equipo de front-end utiliza una aplicación de front-end que está recopilando los datos del back-end, los microservicios están descentralizados.
La interfaz o “la cabeza” (aquí nos estamos refiriendo a la interfaz de usuario, sea cual sea: web, app, comercio social, kiosko digital, IoT… ) puede actualizarse o cambiarse individualmente, sin interferir con el backend. El backend (aquí englobamos elementos como infraestructura, precios, pago y seguridad) corre en el fondo de forma invisible para el usuario. El frontend y el backend se comunican entre sí mediante llamadas API simples. De esta forma, para mostrar diferentes diseños en diferentes dispositivos específicos con el UX óptimo, una capa de interfaz de usuario personalizada llama a una capa API para contenido, datos y funcionalidad de comercio electrónico estándar.
Si lo anterior te ha parecido algo complicado o abstracto, simplemente quédate con el concepto de que la interfaz de usuario y la funcionalidad de e-commerce van desacopladas, de tal manera que sólo acabas usando lo que realmente necesitas. (Si quieres ampliar información al respecto, te recomendamos acudas a la web de CommerceTools).
Por norma general, arquitecturas «headless» commerce son más habilitadoras para los desarrolladores:
Imagen con créditos a: Rawpixel Ltd Flickr via Compfight cc