Proyectos

13/10/2022

/ , , , , , ,

Nueva arquitectura de microservicios e integración de sistemas

Contexto

La Universidad Nebrija es una universidad española privada e independiente que acoge a más de 12.000 alumnos internacionales, situada a la cabeza de las universidades españolas en el ámbito de la docencia.

Desde el punto de tecnologías de información, al igual que todas las empresas del sector, existen tanto sistemas corporativos como soluciones específicas de mercado para la gestión de su negocio, lo que dificulta consolidar la información entre los sistemas.

UNNE dispone de un conjunto de aplicaciones de escritorio que dan servicios de gestión de académica, matrículas de docencia, gestión de aprendizaje, campus virtuales, etc. Estos sistemas están obsoletos tecnológicamente, trabajan de forma independiente y sin conexión al resto de sistemas corporativos.

Retos

El objetivo es definir e implantar una arquitectura tecnológica que permita la integración de las diferentes soluciones de mercado implantadas, la unificación y sincronización de información, así como la migración de las aplicaciones a medida desarrolladas por UNNE.

Esta actualización tecnológica, no tanto por la tecnología en sí, tiene que hacer frente a retos muy importantes para UNNE:

  • Trabajar desde el minuto cero en el desarrollo de las integraciones para cumplir con los plazos específicos de docencia.
  • Implantar una nueva metodología de trabajo en las distintas áreas de IT.
  • Acompañar al personal técnico de UNNE en la adopción de las nuevas tecnologías a implantar, y vencer la resistencia al cambio.
  • Colaborar de forma ágil con los distintos proveedores de las soluciones de mercado ya implantadas.

La solución

Aunque inicialmente el proyecto debía ser una actualización tecnológica, desde ITERIAM se planteó un proyecto más amplio que incluyese la redefinición de procesos, nuevas metodologías de desarrollo y despliegue aprovechando la utilización de nuevas tecnologías.

Para llevar a cabo una modernización exitosa de estas aplicaciones debíamos hacer un acercamiento mixto. Por un lado, colaborar activamente con los responsables de IT para conocer la situación actual, los sistemas corporativos implantados, los posibles GAPs y limitaciones a la hora de implantar la nueva arquitectura. Por otro lado, recoger los requisitos de las integraciones más urgentes, conocer el alcance funcional y definir los procesos de integración entre los diferentes sistemas.

Las primeras integraciones a realizar correspondían al área financiera, con la integración económica de recibos de matrículas de docencia y la generación de la contabilidad correspondiente, y a la Docencia, con la integración de usuarios y la gestión de membresías de los campus virtuales impartidos por UNNE.

Para cumplir el exigente “time-to-market” trazado por el cliente, las integraciones se deben realizar en periodo estival y tienen que estar disponibles para el inicio del curso académico en septiembre, organizamos varios equipos ágiles de desarrollo, uno por cada área de integración, con un responsable técnico común en contacto directo con el equipo de IT del cliente, para definir la arquitectura, metodología de desarrollo, proponer e implantar las herramientas necesarias.

Siguiendo una arquitectura hexagonal que nos permita ir evolucionando de forma independiente conforme se vayan migrando e incorporando nuevos sistemas, se plantea una arquitectura orientada a microservicios y comunicaciones online asíncronas que permitan la integración de los sistemas mediante procesos desacoplados.

Tecnológicamente, las integraciones y aplicaciones web se realizan sobre entornos dockerizados, utilizando Vue.js para los nuevos frontales y Lavarel sobre PHP 7.3 – por requisitos del cliente – para los microservicios, sin uso de ORMs para no depender de frameworks. La comunicación se realiza a través de colas de mensajería de AWS y Mulesoft, las aplicaciones se despliegan sobre Azure integrando la seguridad con el ADFS de Microsoft 365, y gestionando el despliegue CI/CD con Azure DevOps y Jenkins.

Resultados

En un periodo aproximado de 3 meses, se aborda la integración del sistema académico y financiero, implantando la primera versión de la arquitectura que permitirá migrar de forma desacoplada las aplicaciones de escritorio obsoletas, y la sincronización de la información entre los distintos sistemas corporativos.

La involucración del área de IT desde el primer momento del proyecto permite la rápida implantación y adopción de las nuevas tecnologías en los ámbitos de desarrollo, infraestructura y sistemas.

Actualmente ITERIAM ofrece a UNNE un servicio para el desarrollo y migración del parque de aplicaciones.

Proyectos

01/09/2022

/ , , , , , ,

Planes de salud digitales

Contexto

Sanitas ofrece a sus asegurados distintos planes de prevención de salud, categorizados como digitales y asistenciales. Los asistenciales son aquellos que el asesor puede dar de alta el plan a un cliente, y los digitales son aquellos en los que el cliente se da de alta sobre dicho programa desde la app.

Con el objetivo de ofrecer el mejor servicio a sus clientes, los asesores realizan un seguimiento individualizado de los objetivos en sus planes contratados. Sin embargo, este seguimiento resulta muy costoso para los asesores, ya que implica utilizar aplicaciones distintas dependiendo del tipo de plan, y no existe sincronización entre ambas aplicaciones.

Por ello, Sanitas se plantea el objetivo de desarrollar una única aplicación que a los asesores la gestión de todos los planes de forma conjunta, simplificando el proceso de gestión y mejorando la usabilidad del sistema.

Retos

La actualización tecnológica de un sistema no solo depende de la tecnología, es muy importante la metodología de trabajo en un proyecto de migración de entornos obsoletos a entornos actualizados. Adicionalmente, en este caso se añadía la complejidad del tiempo, ya que la nueva aplicación debería estar lista con el inicio del año fiscal.

Para la gestión de los programas digitales y asistenciales se necesita encontrar una plataforma única, flexible y escalable que le permita abordar el desarrollo de nuevos programas y la evolución y mantenimiento de los actuales, además de permitir dar de alta a no asegurados.

Además, se desea aprovechar para la creación de un nuevo programa digital preventivo para ayudar a los asegurados en la prevención de enfermedades, trabajando áreas como la nutrición, la actividad física y la promoción de hábitos saludables. Dicho plan se une a otros planes digitales que se han ido elaborando en los últimos años como nutrición, entrenador personal, embarazo o salud infantil.

La solución debe permitir mejorar los costes de licenciamiento y de servicios profesionales necesarios para el desarrollo y mantenimiento de los sistemas para poder optimizar los presupuestos disponibles.

Por último, el sistema debe sincronizarse con sistemas terceros para la actualización periódica de los datos clientes, estado de los planes, etc., facilitar al explotación de datos y el reporte de información.

La solución

Para llevar a cabo una modernización exitosa de estas aplicaciones debemos hacer un acercamiento mixto. Por un lado, colaborar activamente con los responsables de las aplicaciones para conocer todo el alcance funcional, recoger los nuevos requisitos y definir correctamente todas las integraciones entre ellas y con los sistemas corporativos. Por otro lado, analizar en profundidad el código fuente de las aplicaciones ya existentes mediante el uso de herramientas.

Con este acercamiento podemos tener un conocimiento completo de las aplicaciones para su ejecución, que se plantea en tres grandes líneas:

  • Migración de planes asistenciales al nuevo modelo de datos unificado.
  • Creación de un MVP del nuevo plan preventivo digital, incorporando funcionalidades de forma progresiva.
  • Migración de los planes digitales.

Como solución técnica se desarrolla un front-end en Angular 12, comunicado con el back-end mediante una arquitectura de microservicios Java Spring Boot sobre Docker Swarm.

Adicionalmente, se desarrollaron procesos batch (Spring Batch) para la sincronización con los sistemas terceros.

Resultados

Desde el punto de vista de los asesores, se mejora su productividad y rendimiento la disponer de un entorno unificado, mejorando la visión 360 del cliente, la gestión y la usabilidad del sistema.

Desde el punto de vista global de Sanitas, se consigue un ahorro de costes en licencias al dejar de utilizar Dynamics para la gestión de los planes asistenciales, así como una mejora importante en el time-to-market en la integración de nuevos planes.