Flowable

adesso Blog

Dans le contexte économique actuel, pouvoir effectuer des migrations de données de façon efficace est crucial. Cela permet notamment de garantir une continuité des opérations et d'améliorer la productivité. Cet article se concentre sur l'application pratique de Quarkus pour migrer une quantité significative de données et de documents vers Flowable.

En tirant parti de Quarkus et des API Flowable, nous avons réussi notre transition vers une plateforme moderne, évolutive et agile, entièrement conforme à la norme BPMN. Notre priorité était d’offrir une plus grande performance et de garantir que les activités quotidiennes du client n’aient pas été affectées. Découvrez les stratégies que nous avons développées et les défis que nous avons surmontés.

Permettre une migration fluide pour une valeur ajoutée qui dure dans le temps

Nous avons récemment participé à l'une des initiatives stratégiques de notre client dans le cadre de leur programme de Citizen Development ou développement citoyen. Le client souhaitait redévelopper une application existante abandonnée en utilisant la plateforme Flowable. Il voulait tirer parti de l'expertise existante et des composants conçus de façon personnalisée au sein de l'écosystème. C'est un scénario typique de nos projets, à deux exceptions près :

  • 1. L'application est accessible au public.
  • 2. Le système hérité est en ligne depuis plusieurs années et la migration (d'une partie) des données d’entreprise et des documents associés constituait une exigence stricte.

Pour garantir une transition en douceur, nous avons élaboré un plan de migration complet, indiquant toutes les activités et mesures à prendre. Ce plan vise à protéger l'intégrité des données, à maintenir les normes de qualité les plus élevées et à prévenir toute perturbation des opérations commerciales de l'application.

Malgré l’ampleur ambitieuse du projet, nous avons rencontré une contrainte significative lors de la phase de configuration : nous n'avions pas d'accès direct à l'infrastructure Flowable, y compris à la base de données. Notre seul mode de communication possible avec Flowable consistait à passer par des API exposées par Flowable Work. Cette limitation a nécessité une planification méticuleuse et des solutions innovantes afin de garantir une migration réussie des données, sans compromettre l'intégrité ou la performance du nouveau système.

Livraison plus rapide et contrôle total pour le client

L'architecture de la nouvelle solution dans Flowable a été soigneusement planifiée afin d'exploiter pleinement les capacités de Flowable en matière de stockage de données commerciales. Les métadonnées ont été systématiquement stockées dans des solutions Flowable, tandis que les documents étaient gérés en tant qu'éléments de contenu Flowable. Cette décision stratégique a permis d'organiser efficacement toutes les informations pertinentes au sein de l'écosystème Flowable, offrant ainsi un accès simplifié et une gestion efficace. Cette approche s'aligne avec notre programme de développement citoyen. Le service informatique de l'organisation fournit la plateforme et les outils permettant aux utilisateurs de créer leurs propres applications en utilisant des outils Low-Code, tout en réduisant le besoin en systèmes ou infrastructures externes.

Tout d'abord, nous avons conçu le plan de migration et établi des indicateurs clés de performance (KPI) pour évaluer la qualité de la migration des données et mettre en œuvre des mesures de restaurations. Nous avons programmé plusieurs itérations pour faciliter l'apprentissage et l'amélioration tout au long du processus.

Notre méthodologie impliquait des tests et une validation minutieuse à chaque étape. Chaque itération impliquait quant à elle le transfert d'un sous-ensemble de données, suivi de contrôles de qualité et d'évaluations de performance complets. Cette stratégie incrémentale a amélioré le processus et a permis une adaptation rapide aux défis émergents.

Flowable

Figure 1 : flux de migration

Notre équipe a utilisé Quarkus pour concevoir un outil de migration robuste et efficace. Quarkus est un cadre Java reconnu pour ses temps de démarrage rapides et sa faible empreinte mémoire. Il s'est avéré être le choix idéal. L'outil pouvait être intégré de manière transparente avec les API Flowable, permettant un transfert de données sécurisé et précis. Nous avons prêté une attention toute particulière à la garantie de cohérence et l'intégrité des données tout au long du processus de migration.

Lors de la migration, nous avons rencontré plusieurs défis, notamment des divergences de formats et de structures de données, entre le système hérité et Flowable. Pour y remédier, nous avons mis en place des stratégies de transformation et de cartographie des données, garantissant ainsi la compatibilité et la cohérence des données migrées. De plus, nous avons établi un mécanisme de restauration pour revenir rapidement à l'état précédent en cas de problèmes critiques.

L’un des défis que nous avons rencontré était celui de la performance. Le transfert d'une si grande quantité de données a nécessité plusieurs heures d'exécution. Pour y remédier, nous avons décidé de mettre en œuvre des stratégies de parallélisme et d'accélération du processus. Nous avons adopté Mutiny pour exécuter le parallélisme dans Quarkus, améliorant considérablement l'efficacité de notre outil de migration. Cette approche nous a permis de répartir la charge de travail sur plusieurs threads, réduisant le temps de migration global et nous facilitant la réalisation de différents essais de migration, garantissant ainsi que le projet puisse respecter les délais.

Un autre défi était lié aux capacités de l'environnement d'exécution pour l'outil de migration. Ces capacités étaient contraintes par des protocoles de sécurité imposés par le client. Nous avions accès à un environnement docker. Nous avons donc implémenté un conteneur de test fonctionnant avec Quarkus pour faciliter l'extraction des données à partir du dump de la base de données provenant de l’ancien système. Cette configuration a permis une extraction efficace des données pertinentes pour la migration, grâce à Hibernate et JPA (dans la version Quarkus "Panache"). De plus, le cycle de vie du conteneur de test a été étroitement lié à celui de l'application Java, garantissant un arrêt correct à la fin de l'exécution. Le schéma suivant illustre ce que je viens de décrire.

Flowable

Figure 2 : architecture de l'outil de migration

De plus, nous avons soigneusement conçu et mis en œuvre un mécanisme de restauration sophistiqué afin de garantir la réversibilité de toute modification appliquée pendant le processus de migration. Ce mécanisme s'appuie sur des fichiers de trace et de journaux détaillés pour faciliter le nettoyage complet de l’environnement. Cette fonctionnalité de rollback s'est avérée particulièrement avantageuse pour réaliser plusieurs essais de migration, nous permettant de peaufiner et d'optimiser l'ensemble du processus de manière sécurisée.

Conclusion

Grâce à une planification minutieuse, combinée à notre approche adaptative et itérative, nous avons pu garantir un processus de migration de données fluide et réussi pour notre client, malgré la nature complexe du projet. Avec la transition vers Flowable, nous avons non seulement modernisé le paysage applicatif du client, mais nous l’avons également positionné pour tirer parti de toutes les capacités d'une plateforme conforme à BPMN, faisant ainsi progresser la stratégie du client dans son approche de développement citoyen. Notre stratégie de migration de données s'est révélée fiable, évolutive et précise, permettant à notre client d'exécuter différentes migrations de données de manière itérative, de vérifier la qualité des données et d'établir un comportement stable du processus de migration en production.

N'hésitez pas à nous contacter si vous avez besoin de plus de détails. Notre centre de compétence Business Automation bénéficie d'une vaste expérience en matière de projets de migration de données.


En savoir plus​

  • Service Sheet

    Développement citoyen avec adesso

    Découvrez comment le développement citoyen permet à vos équipes de créer plus rapidement des solutions intelligentes, tout en améliorant l'agilité et en réduisant les goulots d'étranglement informatiques. En savoir plus

  • Website

    Optimisez l'efficacité grâce à l'automatisation des processus

    L'automatisation des processus métier peut rationaliser vos opérations, éliminer les tâches répétitives et positionner votre entreprise sur la voie du succès à long terme dans un monde de plus en plus numérique. En savoir plus

  • Success Story

    Automatisation des processus chez PostFinance

    Découvrez comment nous avons permis à PostFinance d'automatiser des processus métier essentiels, d'augmenter l'efficacité et de poser les bases d'une transformation numérique durable. En savoir plus

  • Website

    Transformez les données en valeur commerciale avec l'IA

    Découvrez comment les stratégies de données pilotées par l'IA peuvent transformer l'information en action, aidant à découvrir des perspectives précieuses, à optimiser vos performances et à créer une réelle valeur ajoutée pour votre entreprise. En savoir plus

Photo Gianluca Colaianni

Auteur Gianluca Colaianni

Gianluca Colaianni travaille en tant que consultant manager et chef d'équipe pour adesso Suisse depuis 2021. Il est responsable du flux d'Hyperautomation au sein du centre de compétence Business Automation axé sur les technologies Java, le front-end, le mobile et l'automatisation des tests.

Catégorie:

Développement de logiciels

Mots-clés:

-