Un líder logístico italiano confía a Spindox el nuevo diseño de su customer portal 

Arquitectura de microservicios con nuevos gráficos y su propia versión para móvil. Así es la nueva tecnología que sustituye a Adobe Flash. 

Uno de los principales actores del sector de la logística y el transporte en Italia ha confiado a Spindox la tarea de plantear desde cero su customer portal, redefiniendo la experiencia del usuario y la arquitectura tecnológica. Con la necesidad de renovar dicho portal, surge la oportunidad: a finales de 2020, el plug-in de Adobe Flash (instalado en 2010) se elimina de todos los navegadores, volviéndose completamente inutilizable. El desafío no es solo el de sustituir urgentemente el portal antiguo, sino además el de mejorar notablemente el rendimiento y la interfaz de usuario.  

Esta nueva solución ofrece una arquitectura de microservicios, que representa un verdadero cambio de paradigma respecto al enfoque monolítico del anterior. Ahora, el nuevo portal permite a los usuarios hacer un seguimiento de los envíos en tiempo real, gestionar el proceso de logística inversa y realizar búsquedas históricas de pedidos y envíos. Estas funcionalidades, además de estar disponibles vía web, ahora también son viables en smartphones, exponiendo APIs para poder comunicarse con aplicaciones externas desarrolladas por clientes y proveedores. 

Solución

Spindox avanza de la arquitectura monolítica a la arquitectura de microservicios, haciendo que cada uno de estos últimos se ocupe de gestionar una única funcionalidad. El uso de las tecnologías óptimas para el desarrollo de cada componente individual ha mejorado significativamente el rendimiento de la aplicación en su conjunto. Para disponer de un entorno integrado con todas las funcionalidades necesarias, se utilizó el framework Jhipster

  • Servicio de autenticación y autorización UUA con el protocolo OAuth2
  • Puerta de acceso a los recursos
  • Registro para el enrutamiento, el equilibrio de carga y la escalabilidad de las solicitudes

La comunicación entre los microservicios se realiza a través de la interfaz REST. Esto garantiza la independencia entre los servicios y evita cualquier forma de acoplamiento. 

Para el front-end del nuevo customer portal se usó el framework Angular 8, que es receptivo y fácil de usar. 

Para la capa de datos es utilizó una tecnología NoSQL. En particular, la elección recayó en Couchbase, que permite una lectura más rápida de los datos y garantiza al usuario una experiencia más sencilla. Además, para mejorar el rendimiento en la medida de lo posible, se realizaron comunicaciones asíncronas y seguras gracias al broker de mensajes RabbitMQ

Ventajas

El nuevo customer portal permite a los usuarios seguir los envíos en tiempo real y ver la ubicación de los pedidos en un mapa gracias a la integración de OpenStreetMap. El portal se puede utilizar no solo desde un ordenador, sino también desde smartphones y tablets, gracias también al diseño intuitivo de su interfaz. Permite extraer información sin pasar por la GUI, mediante la exposición de inferfaces REST. 

La arquitectura del customer portal de microservicios trae consigo numerosos beneficios: 

  • Rapidez, resistencia y facilidad de despliegue: el tiempo de lanzamiento del software es muy corto. Además, la arquitectura de microservicios le permite ser flexible a los cambios y responder rápidamente a las necesidades del cliente. En una arquitectura monolítica, como es sabido, un solo cambio supone revisar toda la aplicación, en cambio, los microservicios permiten una intervención “quirúrgica” vertical. Incluso, con la codificación adecuada, los servicios pueden ser liberados “en caliente” sin la necesidad de detener el portal
  • Experimentación y sustituibilidad: gracias a la facilidad con la que se puede liberar un microservicio, es posible experimentar con nuevas tecnologías. Cuando estas son las adecuadas, resulta en un rendimiento superior. Si, por el contrario, surgen problemas, sigue siendo fácil sustituir un servicio por otro nuevo, siempre que funcione con las mismas interfaces. 
  • Escalabilidad: si un servicio se convierte en un cuello de botella, es posible aumentar el número de instancias del servicio, sin tener que modificar el código. Hacer un servicio más pequeño y específico aumenta los beneficios relacionados con la independencia entre las partes, incluso cuando aumenta el número de partes a gestionar.