Déjenos sus datos y le enviaremos un resumen por correo electrónico.
Consiento el tratamiento de mis datos personales para el envío de material publicitario personalizado de conformidad con la Política de privacidad. Al confirmar el envío, acepta recibir material de marketing
Gracias.

El formulario se ha enviado correctamente.
Encontrará más información en su buzón.

Innowise es una empresa internacional de desarrollo de software de ciclo completo fundada en 2007. Somos un equipo de más de 1800+ profesionales de TI que desarrollan software para otros profesionales de todo el mundo.
Conócenos
Innowise es una empresa internacional de desarrollo de software de ciclo completo de software de ciclo completo fundada en 2007. Somos un equipo de más de 1600+ profesionales de TI que desarrollan software para otros profesionales de todo el mundo.

Modernización del software logístico con una actualización de Java: 30% procesamiento de pedidos más rápido

Innowise ha modernizado la interfaz de usuario y los componentes de software obsoletos que presentaban deficiencias técnicas.

Cliente

Industria
Logística
Región
Europa
Cliente desde
2022

Nuestro cliente es una de las empresas de logística con más éxito de Europa, conocida por sus incomparables soluciones de gestión de la cadena de suministro. Su vasta huella operativa se extiende por numerosos países, ofreciendo una gama de servicios que atienden a una clientela diversa.

La información detallada sobre el cliente no puede revelarse en virtud de los términos del acuerdo de confidencialidad.

Desafío

Modernizar el software logístico para afrontar los retos del futuro

La arquitectura existente de nuestro cliente había empezado a mostrar su vejez. Se identificaron los siguientes retos:
  • Vulnerabilidades de seguridad críticas: en el vertiginoso mundo de la logística, cualquier resquicio de seguridad puede dar lugar a importantes brechas, comprometiendo datos y operaciones sensibles.
  • Tecnología obsoleta: al basarse en pilas tecnológicas anticuadas, sus sistemas carecían de la velocidad, la eficacia y las prestaciones que exigen las operaciones logísticas modernas.
  • Problemas de mantenimiento: varios componentes de su software estaban tan anticuados que mantenerlos se estaba convirtiendo en una ardua batalla, si no imposible en algunos casos.
Consciente de estos problemas, el cliente acudió a nosotros con grandes expectativas. No solo buscaban una solución a estos problemas, sino una revisión completa que garantizara que su software estaba preparado para los retos futuros.

Solución

Migración del software a la versión más reciente de Java

En Innowise, llevamos a cabo una evaluación exhaustiva del software logístico. A través de nuestro análisis detallado, reconocimos los módulos principales que operaban en la plataforma Java 6 obsoleta. Con nuestra experiencia y métodos eficientes, fuimos capaces de migrar rápidamente y sin problemas esos módulos a Java 17.

Descubrimiento y planificación

La fase inicial de nuestro proyecto de modernización fue la de descubrimiento y planificación. Esta fase fundamental incluía dos actividades clave: la recopilación de requisitos y el análisis de la arquitectura. Posteriormente, proporcionamos al cliente una documentación exhaustiva sobre la visión y el alcance.

Obtención de requisitos

Involucramos a las partes interesadas mediante entrevistas y talleres para comprender sus necesidades empresariales. Como resultado, elaboramos una lista exhaustiva de funciones, necesidades empresariales, expectativas de las partes interesadas y requisitos técnicos.

Análisis de la arquitectura

Nuestros profesionales analizaron el panorama tecnológico actual, teniendo en cuenta los sistemas, las fuentes de datos y la infraestructura existentes. Además, examinamos las entidades de terceros que forman parte integral de las operaciones de la empresa de logística, garantizando una continuidad sin fisuras en sus interacciones.

Además, examinamos los objetivos estratégicos de la empresa y sus requisitos funcionales y no funcionales para comprender sus necesidades y retos específicos. Este enfoque holístico nos permitió desarrollar una hoja de ruta a medida que se alineaba estrechamente con sus objetivos a largo plazo.

A lo largo de esta fase, contratamos a expertos, incluido un ingeniero de bases de datos, para evaluar la arquitectura de datos y diseñar un plan preliminar de migración. Se evaluó la viabilidad de la solución propuesta, teniendo en cuenta la pila tecnológica, la integración y los riesgos.

Las fases de descubrimiento y planificación sirvieron de base dinámica, dando forma al curso del viaje de modernización del software. Mediante la recopilación de requisitos y el análisis de la arquitectura, iniciamos una transformación que redefiniría el panorama tecnológico de la empresa de logística.

Migración de Java 6 a Java 17

Con una hoja de ruta completa en la mano, pasamos a la tarea fundamental de migrar el software logístico de Java 6 a Java 17. Se trataba de algo más que una simple actualización: era una transformación estratégica que requería una planificación minuciosa, una ejecución experta y el compromiso de garantizar una transición sin contratiempos.

Formulación de estrategias

Basándonos en nuestra experiencia, diseñamos una estrategia integral para el proceso de migración. La estrategia abordaba los entresijos técnicos al tiempo que tenía en cuenta las posibles interrupciones de las operaciones empresariales. El objetivo no era solo migrar la base de código, sino también aprovechar las nuevas capacidades que ofrecía Java 17 para mejorar el rendimiento y las funciones del software.

Migración de la base de código

Reconociendo los cambios fundamentales entre estas dos versiones de Java, nuestro paso inicial fue una auditoría exhaustiva de la base de código existente, seguida de la creación de una sólida copia de seguridad como medida a prueba de fallos. Aprovechando un entorno de migración aislado, nuestros ingenieros actualizaron las dependencias de software para garantizar una compatibilidad perfecta con las funciones y métricas de rendimiento mejoradas de Java 17.

Un aspecto crítico de nuestra estrategia de migración fue mejorar los mecanismos de registro del sistema. Aprovechando nuestra experiencia, reforzamos los módulos de la aplicación para capturar una amplia gama de datos, desde actividades y excepciones de los usuarios hasta amenazas a la seguridad, como operaciones indebidas e intentos de inicio de sesión incorrectos. Estas medidas avanzadas de registro no eran meros añadidos, sino que formaban parte integrante de los requisitos generales de seguridad y cumplimiento del cliente.

La arquitectura del software fue otro punto central. Dada la necesidad de agilidad y escalabilidad del cliente, y basándonos en nuestra propia experiencia con entornos tecnológicos en evolución, nuestro equipo cambió el software a un patrón de arquitectura de microservicios. Este diseño desacoplado y modular facilitó el despliegue independiente de servicios, un mejor aislamiento de fallos y la escalabilidad, un requisito para una entidad logística con operaciones expansivas.

Sin embargo, el verdadero reto reside en la modernización del código. Era imperativo integrar la Stream API y las expresiones lambda de Java 8 para que el código fuera conciso y fácilmente comprensible. Mientras tanto, examinamos todas las colecciones para garantizar la alineación con los estándares de Java 17. La adopción de la palabra clave "var" fue otro paso para modernizar nuestro código. Además, se renovaron las operaciones con cadenas para adaptarlas a las especificaciones de Java 17 y, siempre que fue posible, cambiamos las cadenas de sentencias if/else por las sentencias switch, más versátiles, introducidas en la nueva versión de Java. Garantizar que todos estos cambios no tuvieran consecuencias no deseadas fue nuestra máxima prioridad, subrayada por rigurosas pruebas de la lógica de todos los métodos públicos.

Las pruebas rigurosas fueron la piedra angular de nuestro proceso de migración. Cada módulo migrado se sometió a pruebas exhaustivas para garantizar que no sólo cumplía los requisitos funcionales, sino que además se integraba a la perfección con otros componentes. Nuestras pruebas han demostrado que este riguroso enfoque de examen minimizó el riesgo de problemas posteriores a la migración.

He aquí un desglose de cómo probamos esta transición en nuestros entornos:

  • Entorno de desarrollo (DEV): En esta fase inicial, nuestros desarrolladores adaptaron el código específicamente a las funcionalidades logísticas. Realizaron pruebas básicas, centrándose en la optimización de rutas, el seguimiento de cargas y la gestión de flotas para garantizar que las funciones fundamentales funcionaran a la perfección.
  • Entorno de pruebas de producción (IPT): Esta fue nuestra zona de pruebas avanzadas. Simulamos situaciones reales, como reservas de cargas de gran volumen y búsquedas de rutas en horas punta, para comprobar si había algún problema. Este entorno nos ayudó a garantizar que nuestro software se comunicaba a la perfección con otros sistemas logísticos, como bases de datos de almacenamiento y herramientas de gestión del transporte.
  • Entorno de prueba sujeto (IFT): Cada vez que nos encontrábamos con un reto logístico o un error único, acudíamos al IFT. Este entorno también fue decisivo para formar a nuestros equipos logísticos, verificar la seguridad del software en medio de datos de carga sensibles y aplicar correcciones técnicas específicas.
  • Entorno de producción (PROD): Con la confianza que nos daban los resultados de nuestro IPT, lanzamos el software actualizado en PROD. Allí observamos su rendimiento en un entorno logístico real, con usuarios, cargas y rutas de transporte reales.

Migración de datos

La migración de datos ocupó un lugar destacado en nuestro proyecto de modernización de software. Reconociendo su papel fundamental, contratamos a nuestros experimentados desarrolladores de bases de datos desde el inicio del proyecto. Se embarcó en una revisión en profundidad de las estructuras y patrones de datos existentes. Armados con este conocimiento, elaboramos un plan preciso destinado a migrar sin problemas cada byte de datos preservando su integridad. No se trataba sólo de trasladar registros, sino de garantizar que cada vínculo, configuración y estructura relacional se reflejara perfectamente en el nuevo entorno.
Además, nuestra revisión se apoyó en la integración del framework Hibernate, un movimiento estratégico de Innowise. A través de esta capa de persistencia, nos aseguramos de que nuestros módulos de software pudieran interactuar fluidamente con las bases de datos sin estar estrictamente vinculados a la base de datos Oracle. Esta integración deliberada estaba orientada a preparar nuestra solución para el futuro, haciéndola adaptable y compatible con una plétora de tecnologías de bases de datos. Una vez finalizada la migración, nuestros ingenieros llevaron a cabo un riguroso proceso de verificación, asegurándose de que la base de datos recién estructurada se ajustaba a nuestro proyecto arquitectónico y estaba preparada para ofrecer un rendimiento óptimo en todas las tareas futuras.

Despliegue

A medida que el software atravesaba sus etapas de migración y empezaba a evolucionar hacia su forma más avanzada, cada paso de la fase de implantación se abordó con meticuloso cuidado y precisión. Para garantizar la continuidad y la mínima interferencia en las operaciones diarias del cliente, aplicamos una estrategia de implantación escalonada. 
Este enfoque nos permitió introducir sistemáticamente las nuevas funcionalidades y características, garantizando que cada adición se integrara a la perfección sin causar desafíos inesperados o interrupciones en los procesos en curso del cliente. Nuestro objetivo principal era ofrecer una experiencia de software mejorada y, al mismo tiempo, garantizar la continuidad de la actividad del equipo de nuestro cliente.

Tecnologías y herramientas

Front-end

Angular 15, RxJs, TypeScript, Material UI

Back-end

Java 17, Groovy; Spring Boot (3.1.3)

DevOps/Cloud

Fase 1: Jenkins, SonarQube Apache Tomcat, Ansible;

Fase 2: Google Cloud Run, Google Cloud Functions, Google Kubernetes Engine, Terraform, Google Cloud Build

Equipo

4
Ingenieros Java
4
Angular Ingenieros
2
QA
2
AQA
2
BA
2
DBD
1
DevOps
1
Jefe de proyecto
equipo-innowise

Resultados

30% aumento de la eficacia, mejora de la seguridad y preparación del software para dominar el mercado en el futuro

Innowise llevó a cabo una revisión completa del software, consiguiendo una notable reducción de 30% en el procesamiento de pedidos, lo que elevó directamente la satisfacción del cliente. Nuestros esfuerzos no se limitaron a mejorar la eficiencia operativa, sino que eliminamos todas las vulnerabilidades de seguridad, garantizando que los datos críticos de la empresa permanecieran protegidos.

Lo verdaderamente encomiable es que, en medio de estas mejoras sustanciales, garantizamos una transición fluida que permitió a los empleados realizar sus tareas sin interrupciones. Pero nuestra visión iba más allá de los problemas inmediatos. Con la transición a Java 17 y la integración de las tecnologías más avanzadas, el software está preparado para el futuro. Hemos construido una base sólida que atiende a:

  • Escalabilidad para gestionar un volumen de datos cada vez mayor.
  • Capacidad para soportar el uso simultáneo de al menos 500 usuarios sin sacrificar la capacidad de respuesta.
  • Flexibilidad para introducir o adaptar interfaces.
  • Medidas de seguridad mejoradas, complementadas por una comunicación totalmente cifrada mediante HTTPS/TLS 1.3.
  • Capacidad para aumentar profesionalmente las funciones de las aplicaciones.

La revisión del software coloca a la empresa en una posición dominante, preparada para navegar y sacar provecho de la dinámica del mercado, en constante evolución.

Duración del proyecto
  • Enero de 2022 - En curso

30%

tramitación más rápida de los pedidos

100%

vulnerabilidades conocidas resueltas

Póngase en contacto con nosotros

Reservar una llamada o rellene el siguiente formulario y nos pondremos en contacto con usted cuando hayamos procesado su solicitud.

    Por favor, facilítenos detalles del proyecto, duración, tecnologías, especialistas informáticos necesarios y otra información relevante.
    Grabe un mensaje de voz sobre su proyecto
    para ayudarnos a comprenderlo mejor.
    Adjunte los documentos adicionales si es necesario
    Cargar archivo

    Puede adjuntar hasta 1 archivo de 2 MB en total. Archivos válidos: pdf, jpg, jpeg, png

    Le informamos de que cuando haga clic en el botón Enviar, Innowise procesará sus datos personales de acuerdo con nuestra Política de privacidad con el fin de proporcionarle la información adecuada.

    ¿Qué pasa después?

    1

    Una vez recibida y procesada su solicitud, nos pondremos en contacto con usted para detallar las necesidades de su proyecto y firmar un acuerdo de confidencialidad que garantice la confidencialidad de la información.

    2

    Después de examinar los requisitos, nuestros analistas y desarrolladores elaboran una propuesta de proyecto con el alcance de las obras, el tamaño del equipo, el tiempo y las estimaciones de costos.

    3

    Concertamos una reunión con usted para discutir la oferta y llegar a un acuerdo.

    4

    Firmamos un contrato y comenzamos a trabajar en su proyecto lo más rápido posible.

    Gracias.

    Su mensaje ha sido enviado.
    Procesaremos su solicitud y nos pondremos en contacto con usted lo antes posible.

    Gracias.

    Su mensaje ha sido enviado.
    Procesaremos su solicitud y nos pondremos en contacto con usted lo antes posible.

    flecha