Veuillez laisser vos coordonnées, nous vous enverrons notre aperçu par e-mail.
Je consens à ce que mes données personnelles soient traitées afin d'envoyer du matériel de marketing personnalisé conformément à la directive sur la protection des données. Politique de confidentialité. En confirmant la soumission, vous acceptez de recevoir du matériel de marketing
Merci !

Le formulaire a été soumis avec succès.
Vous trouverez de plus amples informations dans votre boîte aux lettres.

Innowise est une société internationale de développement de logiciels à cycle complet fondée en 2007. Nous sommes une équipe de plus de 1800+ professionnels de l'informatique qui développent des logiciels pour d'autres professionnels dans le monde entier.
À propos de nous
Innowise est une société internationale de développement de logiciels à cycle complet fondée en 2007. Nous sommes une équipe de plus de 1600+ professionnels de l'informatique développant des logiciels pour d'autres professionnels dans le monde entier.

Modernisation du logiciel logistique par une mise à jour Java: traitement des commandes plus rapide 30%

Innowise a modernisé l'interface utilisateur et les composants logiciels obsolètes qui présentaient des déficits techniques.

Client

Industrie
Logistique
Région
Europe
Client depuis
2022

Notre client est l'une des entreprises de logistique les plus prospères d'Europe, réputée pour ses solutions inégalées de gestion de la chaîne d'approvisionnement. Sa vaste empreinte opérationnelle s'étend sur de nombreux pays, offrant une gamme de services qui s'adressent à une clientèle diversifiée.

Les informations détaillées concernant le client ne peuvent être divulguées en vertu des termes de l'accord de confidentialité.

Défi

Moderniser les logiciels logistiques pour relever les défis de demain

L'architecture existante de notre client commençait à montrer des signes de vieillissement. Les défis suivants ont été identifiés:
  • Vulnérabilités critiques en matière de sécurité: dans le monde rapide de la logistique, toute faille de sécurité peut entraîner des violations importantes, compromettant des données et des opérations sensibles.
  • Technologie obsolète: reposant sur des piles technologiques dépassées, leurs systèmes ne possédaient pas la vitesse, l'efficacité et les fonctionnalités exigées par les opérations logistiques modernes.
  • Problèmes de maintenance: plusieurs composants de leur logiciel étaient tellement obsolètes que leur maintenance devenait un combat difficile, voire impossible dans certains cas.
Conscient de ces problèmes, le client s'est tourné vers nous avec de grandes attentes. Il ne cherchait pas seulement une solution à ces problèmes, mais une refonte complète, afin de s'assurer que son logiciel était prêt à relever les défis à venir.

Solution

Migration du logiciel vers la version la plus récente de Java

Chez Innowise, nous avons entrepris une évaluation complète du logiciel logistique. Grâce à notre analyse détaillée, nous avons identifié les modules de base qui fonctionnaient sur la plateforme Java 6 obsolète. Grâce à notre expertise et à nos méthodes efficaces, nous avons pu migrer rapidement et en douceur ces modules vers Java 17.

Découverte et planification

La phase initiale de notre projet de modernisation a été celle de la découverte et de la planification. Cette phase cruciale comportait deux activités clés : la collecte des besoins et l'analyse de l'architecture. Par la suite, nous avons fourni au client une documentation complète sur la vision et le champ d'application.

Détermination des besoins

Nous avons impliqué les parties prenantes par le biais d'entretiens et d'ateliers afin de comprendre leurs besoins opérationnels. Nous avons ainsi dressé une liste complète des fonctionnalités, des besoins commerciaux, des attentes des parties prenantes et des exigences techniques.

Analyse de l'architecture

Nos professionnels ont analysé le paysage technologique actuel, en tenant compte des systèmes, des sources de données et de l'infrastructure existants. En outre, nous avons examiné de près les entités tierces qui font partie intégrante des opérations de l'entreprise de logistique, afin d'assurer une continuité sans faille dans leurs interactions.

En outre, nous avons examiné les objectifs stratégiques de l'entreprise, ainsi que ses exigences fonctionnelles et non fonctionnelles, afin de comprendre ses besoins et défis uniques. Cette approche holistique nous a permis d'élaborer une feuille de route sur mesure qui s'aligne étroitement sur les objectifs à long terme de l'entreprise.

Tout au long de cette phase, nous avons fait appel à des experts, dont un ingénieur en bases de données, pour évaluer l'architecture des données et élaborer un plan de migration préliminaire. La faisabilité de la solution proposée a été évaluée en tenant compte de la pile technologique, de l'intégration et des risques.

Les phases de découverte et de planification ont servi de base dynamique, façonnant le parcours de la modernisation du logiciel. Grâce à la collecte des besoins et à l'analyse de l'architecture, nous avons déclenché une transformation qui allait redéfinir le paysage technologique de l'entreprise de logistique.

Migration de Java 6 à Java 17

Avec une feuille de route complète en main, nous nous sommes attelés à la tâche cruciale de migrer le logiciel de logistique de Java 6 à Java 17. Plus qu'une simple mise à jour, il s'agissait d'une transformation stratégique qui a nécessité une planification minutieuse, une exécution compétente et un engagement à assurer une transition en douceur.

Strategy formulation

Forts de notre expérience, nous avons élaboré une stratégie globale pour le processus de migration. Cette stratégie a pris en compte les complexités techniques tout en tenant compte des perturbations potentielles des activités de l'entreprise. L'objectif n'était pas seulement de migrer la base de code, mais aussi de tirer parti des nouvelles capacités offertes par Java 17 pour améliorer les performances et les fonctionnalités du logiciel.

Migration de la base de code

Reconnaissant les changements fondamentaux entre ces deux versions de Java, notre première étape a été un audit complet de la base de code existante, suivi de la création d'une sauvegarde robuste comme mesure de sécurité. En s'appuyant sur un environnement de migration isolé, nos ingénieurs ont mis à jour les dépendances logicielles afin d'assurer une compatibilité transparente avec les fonctionnalités améliorées et les mesures de performance de Java 17.

Un aspect essentiel de notre stratégie de migration consistait à améliorer les mécanismes de journalisation du système. En nous appuyant sur notre expertise, nous avons renforcé les modules d'application pour capturer un large éventail de données - des activités des utilisateurs et des exceptions aux menaces de sécurité telles que les opérations incorrectes et les tentatives de connexion erronées. Ces mesures de journalisation avancées n'étaient pas de simples ajouts, mais faisaient partie intégrante des exigences globales du client en matière de sécurité et de conformité.

L'architecture du logiciel était un autre point central. Compte tenu du besoin d'agilité et d'évolutivité du client, et sur la base de notre propre expérience en matière d'évolution des paysages technologiques, notre équipe a fait évoluer le logiciel vers un modèle d'architecture microservices. Cette conception découplée et modulaire a facilité le déploiement indépendant des services, une meilleure isolation des pannes et l'évolutivité - une nécessité pour une entité logistique aux opérations étendues.

Cependant, le véritable défi réside dans la modernisation du code. Il était impératif d'intégrer l'API Stream et les expressions lambda de Java 8 pour que le code soit à la fois concis et facilement compréhensible. Parallèlement, nous avons examiné toutes les collections pour nous assurer qu'elles étaient conformes aux normes de Java 17. L'adoption du mot-clé "var" a constitué une autre étape de la modernisation de notre base de code. En outre, les opérations sur les chaînes de caractères ont été réorganisées pour correspondre aux spécifications de Java 17 et, dans la mesure du possible, nous avons abandonné les chaînes d'instructions if/else au profit des instructions switch, plus polyvalentes, introduites dans la nouvelle version de Java. Notre priorité absolue a été de veiller à ce que tous ces changements n'aient pas de conséquences imprévues, ce qui a été souligné par des tests rigoureux de la logique de toutes les méthodes publiques.

Des tests rigoureux ont constitué la pierre angulaire de notre processus de migration. Chaque module migré a fait l'objet de tests complets pour s'assurer qu'il répondait non seulement aux exigences fonctionnelles, mais aussi qu'il s'intégrait parfaitement aux autres composants. Nos tests ont montré que cette approche d'examen rigoureuse minimisait le risque de problèmes post-migration.

Voici comment nous avons testé cette transition dans nos environnements :

  • Environnement de développement (DEV): Au cours de cette phase initiale, nos développeurs ont adapté le code spécifiquement pour les fonctionnalités logistiques. Ils ont effectué des tests de base, en se concentrant sur l'optimisation des itinéraires, le suivi des cargaisons et la gestion de la flotte, afin de s'assurer que les fonctionnalités fondamentales fonctionnaient de manière transparente.
  • Environnement de test de production (IPT): C'était notre zone de tests avancés. Nous avons simulé des scénarios réels, tels que des réservations de fret à haut volume et des recherches d'itinéraires aux heures de pointe, afin de vérifier s'il y avait des problèmes. Cet environnement nous a permis de nous assurer que notre logiciel communiquait parfaitement avec d'autres systèmes logistiques, tels que les bases de données d'entreposage et les outils de gestion des transports.
  • Environnement de test du sujet (IFT): Chaque fois que nous avons été confrontés à un défi logistique unique ou à un bogue, nous nous sommes tournés vers l'IFT. Cet environnement a également joué un rôle déterminant dans la formation de nos équipes logistiques, la vérification de la sécurité des logiciels au milieu des données sensibles des cargaisons et l'application de correctifs techniques ciblés.
  • Environnement de production (PROD): Forts des résultats de notre IPT, nous avons lancé le logiciel mis à jour dans PROD. C'est là que nous avons observé ses performances dans un environnement logistique réel, avec des utilisateurs, des cargaisons et des itinéraires de transport réels.

Data migration

La migration des données était au premier plan de notre projet de modernisation des logiciels. Conscients de son rôle essentiel, nous avons fait appel à nos développeurs de bases de données expérimentés dès le début du projet. Il s'est lancé dans un examen approfondi des structures et des modèles de données existants. Forts de ces connaissances, nous avons élaboré un plan précis visant à migrer de manière transparente chaque octet de données tout en préservant leur intégrité. Il ne s'agissait pas seulement de déplacer des enregistrements, mais aussi de s'assurer que chaque lien, configuration et structure relationnelle était parfaitement reproduit dans le nouvel environnement.
En outre, notre refonte a été étayée par l'intégration du cadre Hibernate, une décision stratégique prise par Innowise. Grâce à cette couche de persistance, nous nous sommes assurés que nos modules logiciels pouvaient interagir de manière fluide avec les bases de données sans être strictement liés à la base de données Oracle. Cette intégration délibérée visait à assurer la pérennité de notre solution, en la rendant adaptable et compatible avec une pléthore de technologies de bases de données. Une fois la migration terminée, nos ingénieurs ont entrepris un processus de vérification rigoureux, s'assurant que la base de données nouvellement structurée s'alignait sur notre plan architectural et qu'elle était prête pour des performances optimales dans toutes les entreprises à venir.

Déploiement

Au fur et à mesure que le logiciel franchissait les étapes de la migration et commençait à évoluer vers sa forme la plus avancée, chaque étape de la phase de déploiement a été abordée avec un soin et une précision méticuleux. Pour assurer la continuité et minimiser les interférences dans les opérations quotidiennes du client, nous avons mis en œuvre une stratégie de déploiement échelonné. 
Cette approche nous a permis d'introduire systématiquement les nouvelles fonctionnalités et caractéristiques, en veillant à ce que chaque ajout s'intègre de manière transparente sans causer de problèmes inattendus ou de perturbations dans les processus en cours du client. Notre objectif principal était d'offrir une expérience logicielle améliorée tout en assurant la continuité des activités pour l'équipe de notre client.

Technologies et outils

Front-end

Angular 15, RxJs, TypeScript, Material UI

Back-end

Java 17, Groovy; Spring Boot (3.1.3)

DevOps/Cloud

Phase 1: Jenkins, SonarQube Apache Tomcat, Ansible;

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

Équipe

4
Ingénieurs Java
4
Angular Ingénieurs
2
QA
2
CQA
2
BA
2
DBD
1
DevOps
1
Chef de projet
équipe-innowise

Résultats

30% gain d'efficacité, amélioration de la sécurité et pérennisation du logiciel pour dominer le marché

Innowise a entrepris une révision complète du logiciel, ce qui a permis une diminution remarquable de 30% dans le traitement des commandes, ce qui a directement augmenté la satisfaction des clients. Nos efforts ne se sont pas limités à l'amélioration de l'efficacité opérationnelle, nous avons éliminé toutes les vulnérabilités en matière de sécurité, en veillant à ce que les données critiques de l'entreprise restent protégées.

Ce qui est vraiment louable, c'est qu'au milieu de ces mises à niveau substantielles, nous avons assuré une transition en douceur qui a permis aux employés d'accomplir leurs tâches sans aucune perturbation. Mais notre vision ne se limite pas à répondre aux préoccupations immédiates. En passant à Java 17 et en intégrant des technologies de pointe, le logiciel est désormais à l'épreuve du temps. Nous avons construit une base solide qui répond aux besoins suivants:

  • Évolutivité pour gérer un volume de données croissant.
  • Capacité à supporter l'utilisation simultanée d'au moins 500 utilisateurs sans sacrifier la réactivité.
  • Flexibilité dans l'introduction ou l'adaptation des interfaces.
  • Des mesures de sécurité renforcées, complétées par une communication entièrement cryptée via HTTPS/TLS 1.3.
  • La possibilité d'augmenter professionnellement les fonctionnalités de l'application.

La refonte du logiciel place l'entreprise dans une position dominante, prête à naviguer et à tirer parti de la dynamique d'un marché en constante évolution.

Durée du projet
  • Janvier 2022 - En cours

30%

un traitement plus rapide des commandes

100%

vulnérabilités connues résolues

Contactez nous!

Réserver un appel ou remplissez le formulaire ci-dessous et nous vous contacterons dès que nous aurons traité votre demande.

    S’il vous plaît, ajouter les détails du projet, la durée, la pile technologique, IT spécialistes nécessaires et d'autres informations pertinentes
    S’il vous plaît, ajouter les détails du projet, la durée, la pile technologique, IT spécialistes
    nécessaires et d'autres informations pertinentes
    Joindre des documents supplémentaires au besoin
    Charger file

    Vous pouvez joindre jusqu'à 1 fichier de 2MB au total. Fichiers valides : pdf, jpg, jpeg, png

    Nous vous informons que lorsque vous cliquez sur le bouton Envoyer, Innowise traitera vos données personnelles conformément à notre Politique de confidentialité dans le but de vous fournir des informations appropriées.

    Que se passe-t-il ensuite?

    1

    Après avoir reçu et traité votre demande, nous reviendrons vers vous pour détailler les besoins de votre projet et signer un accord de non-divulgation pour assurer la confidentialité des informations.

    2

    Après avoir examiné les exigences, nos analystes et nos développeurs élaborent une proposition de projet avec l'étendue des travaux, le nombre de membre de l'équipe, les délais et les coûts des coûts.

    3

    Nous organisons une réunion avec vous pour discuter de l'offre et parvenir à un accord.

    4

    Nous signons un contrat et commençons à travailler sur votre projet le plus rapidement possible.

    Merci !

    Votre message a été envoyé.
    Nous traiterons votre demande et vous recontacterons dès que possible.

    Merci !

    Votre message a été envoyé.
    Nous traiterons votre demande et vous recontacterons dès que possible.

    flèche