Migration de RPG vers Java dans un logiciel ERP

Catégorie:
Back-end solution, Software Consulting, Ateliers de découverte, Tech Stack Update
Branche:
IT Services & Consulting
Ville:
Ettlingen (Allemagne) et Wels (Autriche)
Modèles de coopération:
Team Outsourcing
Modèle de paiement:
Temps et matériel
Durée:
à partir de novembre 2021

Le client

En 2021, nous avons conclu un partenariat avec Aptean, leader technologique dans le domaine des logiciels d’entreprise destinés aux moyennes entreprises de l’industrie et du commerce de gros. L’entreprise fournit des logiciels ERP non standard parce qu’ils sont aussi proches que possible des exigences des groupes cibles en matière de processus et d’application dans les secteurs des machines, du commerce, de la médecine et de l’automobile. Le logiciel

Défi

Les systèmes ERP ont été mis en œuvre il y a plusieurs années avec les clients finaux. Par défaut, ils sont pris en charge et développés par les fabricants pour une période de deux ans. Cependant, au fil du temps, les entreprises se développent et les processus évoluent, ce qui entraine la nécessité d’adapter les systèmes à l’activité de l’entreprise. Pendant un certain temps, les clients ont embauché leurs propres développeurs qui comprenaient la syntaxe du RPG (AS/400) ou qui travaillaient avec différents fournisseurs. Cependant, tout cela se passait en dehors de la documentation et ne fonctionnait donc que sur une base ad hoc pour répondre aux besoins de l’entreprise. Bien que les systèmes ERP aient continué à fonctionner, le RPG est désormais une technologie ancienne pour laquelle il est difficile de trouver des développeurs dans le cadre d’un développement ultérieur.

Les entreprises sont donc confrontées à un choix : soit elles décident de retourner chez le fournisseur du système ERP et de reconstruire le système, ce qui est extrêmement couteux, soit elles migrent leur système personnalisé vers une technologie plus récente. C’est le plus souvent ce que décident les entreprises, en collaboration avec les équipes du client et VM.PL.

Notre solution

Lors de la phase initiale, trois programmeurs ont travaillé sur les projets. Actuellement, le client emploie une équipe VM.PL de 15 personnes qui, outre les programmeurs, comprend un chef de projet, un consultant commercial et un responsable de la satisfaction de la clientèle.

Tout au long du processus, nous travaillons directement avec le client, en consultant directement les clients finaux. Nous avons réalisé des projets de migration de RPG vers Java 11 pour des entreprises actives dans des domaines tels que :

Fourniture de gaz pour l’industrie médicale et alimentaire

  1. Fabrication de machines industrielles
  2. Production de pompes à chaleur et de systèmes de chauffage
  3. Production de produits d’impression
  4. Fourniture de solutions de télécommunications

 

Migration de RPG à Java

 

Le processus de migration commence par la découverte de l’ancien système ERP avec les versions originales des bibliothèques de chaque client, qui sont entièrement écrites en RPG. Chaque entreprise disposant d’un tel système ERP a des modifications et des fonctionnalités construites pour les besoins de son activité. Après avoir analysé l’ancien code, nous avons construit un nouveau cadre client complet avec ses spécificités basées sur Java 11.

Notre tâche consiste à créer une nouvelle version du système ERP avec toutes les modifications nécessaires au système nouvellement mis en œuvre. Nous avons appris au sein de l’équipe à interpréter ce code, à mettre en œuvre les modifications apportées par les clients et à analyser les opérations de l’ancien programme.

Outre les activités de back-end, nous utilisons l’outil Java Emitter Template (JET) pour générer les champs, les valeurs, les descriptions et les graphiques nécessaires au fonctionnement du système ERP.

Notre équipe n’a aucun problème à comprendre le système RPG, qui n’est pourtant pas facile à comprendre en raison du niveau de complexité des systèmes ERP.

« Un grand nombre de systèmes importants, par exemple des systèmes bancaires ou d’autres plateformes ERP, sont basés sur du code RPG, et de moins en moins de programmeurs peuvent le manipuler parce que peu de gens l’apprennent encore. Nous avons un avantage technologique significatif parce que nos équipes comprennent le fonctionnement du code et ses dépendances ». (Daniel Hodaniewicz, ingénieur back-end)

Quels sont les défis à relever ? 

  • Conflits liés à la modification du système ERP 

Lorsqu’une nouvelle version du logiciel est mise en œuvre, nous procédons à la mise à jour de la version séparément pour chaque client. En effet, les modifications peuvent parfois poser des problèmes lorsqu’elles sont créées en fonction des besoins spécifiques du client, de sorte qu’à chaque mise à jour, nous résolvons les conflits de fonctionnalité de manière continue.

  • Problèmes de performance  

Parfois, des problèmes de performance se posent et nous cherchons alors de nouvelles solutions, en optimisant les performances à partir de Java. En analysant le code, nous trouvons également des points à améliorer pour la prochaine mise à jour globale du système.

  • Architecture monolithique du système 

Les systèmes ERP n’ont pas une architecture de microservices individuels, mais constituent un grand monolithe, ce qui signifie, par exemple, que l’appel d’une fonction appelle soudainement dix méthodes différentes provenant de dix domaines différents. Cela nécessite une analyse et une enquête de la part des experts qui ont construit le type de dépendances dans le système ERP.

Le processus de migration peut être divisé en plusieurs étapes :

  1. Réunion du consultant ERP avec le client (analyse et planification)
  2. Développement – migration de RPG à Java
  3. Mise en œuvre et essais
  4. Maintenir le système pendant au moins un an

 

Mise à jour de la version du système ERP

 

Certains clients disposent déjà d’un système plus récent, et nous personnalisons le système de base. Par conséquent, en plus de la migration du code, nous nous occupons également des changements de version. Si la version du système ERP du client est, par exemple, 4.1, nous la mettons à niveau vers la version 7.2. Cette solution avantageuse augmente l’efficacité et améliore la sécurité du système. Lors de la mise à niveau de la version du système, nous vérifions quelles modifications ont été apportées au système du client afin qu’elles soient déjà prises en compte dans la nouvelle version.

Construire une application Web et mobile personnalisée

 

Nous construisons un nouveau système de cartes de carburant avec l’équipe du client pour une entreprise de manutention et de transport de marchandises liquides. L’entreprise du client final fonctionne avec un système ERP interne qui gère, entre autres, des véhicules, des stations-service, des stations de lavage, etc. Le projet vise à unifier les quatre systèmes qui sont actuellement dispersés et à créer une plateforme unique pour mettre en place des cartes que les chauffeurs utiliseront pour faire le plein.

Une équipe composée d’un analyste ERP, de développeurs et d’un chef de produit organise régulièrement des ateliers sur le site du client final afin d’obtenir des informations détaillées sur les exigences de conception nécessaires à l’élaboration de nouvelles fonctionnalités.

Le processus de développement suit une approche Agile, et nous construisons progressivement des prototypes, en ajoutant des fonctionnalités que le client teste et développe ensuite plus en détail.

Les résultats

Nous apportons systématiquement des améliorations aux systèmes des clients qui nécessitent un transfert vers des technologies plus récentes. Nous renforçons la coopération dans le cadre des projets par des réunions à distance et en personne afin d’établir des relations sur une base continue, de renforcer la confiance mutuelle et de discuter des processus en profondeur.

Grâce à sa maitrise de la langue allemande, l’équipe VM.PL communique couramment avec les clients finaux, ce qui améliore considérablement la qualité et le rythme de travail, la compréhension mutuelle et l’atmosphère.

De client

VM.PL était prêt à apprendre notre cadre de travail et s’est rapidement immergé dans notre logiciel et nos sujets. Nous avons pu l’utiliser dans des projets clients en très peu de temps, et les retours des clients nous ont montré, tout comme les retours de l’équipe de projet à l’interne, que la collaboration et la qualité du travail étaient très satisfaisantes.

Johannes Sebald
Consultant Senior PS

Technologies


Conception, développement et assurance qualité de la plateforme financière

Conception, développement, DevOps ou Cloud - de quelle équipe avez-vous besoin pour accélérer le travail sur vos projets ?

Discutez avec vos partenaires de consultation pour voir si nous sommes compatibles.

Jakub Orczyk

Membre du Conseil d’administration/Directeur des ventes VM.PL

Réservez une consultation gratuite
kuba (2)