Banner blog article - Avoiding the pitfalls of legacy application migration

Par Adrian Tully

Selon un rapport de la Cloud Security Alliance, 90 % des directeurs informatiques ont vu leurs projets de migration échouer ou être perturbés. Les échecs dus à un manque de compréhension ou à une mauvaise application des pratiques du secteur, ou les aspects non fonctionnels d’un projet de migration, qui ne garantissent pas l’évolutivité, la fiabilité et les performances, peuvent tous avoir un impact sur la réussite d’un projet de migration. Il existe une meilleure façon d’aborder la migration de vos applications legacy. Prenez bien note de ce qui suit !

Visual article avoiding the pitfalls of legacy application migration

1. Technologie POWER

Votre base de code RPG au format fixe s’exécute sur une plateforme qui permet également à l’IA d’IBM de fonctionner, c’est le point d’appui de la mise à disposition de clouds hybrides, elle est classée numéro 1 en termes de fiabilité par ITIC Global Reliability (et ce, depuis 12 ans). La plateforme POWER qui est à la base de l’IBM i nous permet d’utiliser les technologies les plus récentes pour fournir la logique d’entreprise dont notre organisation a besoin de manière stable et fiable. Pourquoi s’éloigner d’une plate-forme fiable qui a fait ses preuves et qui fait l’objet d’un développement constant pour rester à la pointe de la technologie ?

2. Un nouveau risque

Nous gérons de nouveaux risques tous les jours. Chaque fois que nous apportons un changement à nos systèmes de production, il y a un risque : l’entreprise a-t-elle autorisé la mise en place d’une nouvelle version ? Les équipes opérationnelles sont-elles prêtes à procéder à la mise en œuvre ? Les étapes de l’installation sont-elles claires ? Ces risques ne disparaissent pas simplement parce qu’il s’agit d’une plateforme habituelle ou d’un langage de programmation pour lequel nous disposons d’une équipe d’experts, mais ils sont en grande partie atténués. Nous avons déjà procédé de cette manière, nous le faisons normalement avec succès et les parties prenantes de l’entreprise sont satisfaites de savoir que nous serons en mesure de déployer nos changements avec un minimum d’impact négatif sur leurs systèmes et leurs clients.

Aujourd’hui, nous essayons de proposer une nouvelle plateforme (risque), une nouvelle application (risque), avec une nouvelle interface (risque) pour l’entreprise. Nous allons réécrire (risque) l’application sur laquelle ils s’appuyaient avec de nouveaux mécanismes de livraison du changement (risque) sur une architecture qui n’a pas fait ses preuves (risque). Une révolution dans la façon dont l’entreprise fonctionne (risque), une perturbation des processus actuels (risque) pour apporter de nouvelles améliorations (espoir).

Avant de nous arrêter sur le mot « perturbation », devons-nous vraiment prendre l’équipe d’experts en RPG et en applications commerciales et la transformer en une équipe restreinte de programmeurs juniors sur lesquels nous nous appuierons pour construire le nouveau monde Java, et qui s’occupera de l’entreprise pendant que nous écrirons les nouvelles applications nécessaires ? Les risques augmentent en flèche et il existe une meilleure façon d’aborder la question – il est possible d’éviter de se compliquer la tâche pour les prochains mois et d’envisager une voie plus prudente. Nous apporterons des changements plus modestes plus rapidement, avec moins de risques, moins d’exposition à l’échec, moins d’impact sur les utilisateurs et les clients. Cependant, nous pouvons encore moderniser, nous pouvons améliorer notre base de code pour en faire quelque chose de plus familier pour les nouveaux codeurs. Nous n’utilisons plus RPG3 (pour la majorité), et le langage RPG a évolué vers un code moderne en format libre qui peut utiliser le meilleur de la plate-forme IBM POWER.

3. Legacy vs Heritage

Historiquement, on ne pouvait pas compter sur les convertisseurs de code, mais aujourd’hui, avec un taux de conversion de près de 100 % en format RPG entièrement libre dans votre application sur mesure, tout cela a changé. ARCAD Transformer RPG peut être utilisé sur la source de votre application legacy pour créer un RPG free form moderne tout en conservant toutes les fonctionnalités existantes. De plus, RPG est le langage natif de l’IBM i, nous n’avons donc pas à risquer les problèmes de performance inconnus auxquels nous sommes confrontés lorsque nous passons à un nouveau langage sur une nouvelle plate-forme.

Ce code en free format permet à votre application d’être à l’épreuve du temps. Le RPG Free Format étant plus facile à lire, plus facile à coder et plus facile à documenter, il réduit les coûts et le temps nécessaires à la maintenance de votre application existante. Le free format ouvre également votre base de talents à une nouvelle génération de développeurs d’applications. Vous pouvez intégrer vos programmeurs .NET et Java dans votre équipe d’application existante, car la courbe d’apprentissage du RPG free format est très faible pour les développeurs RPG existants, mais aussi pour les développeurs de systèmes ouverts. Sans la structure fixe du code, le RPG a un style moderne qui est facile à comprendre pour les nouveaux développeurs, en particulier lorsqu’il est associé à l’outil adéquat.

ARCAD Transformer RPG vous permet de convertir en un clic le format RPGLE en RPG free format et vous pouvez le faire à partir de votre plugin eclipse sur RDi. Il a été développé en collaboration avec l’équipe de compilateurs RPG d’IBM et si le compilateur est satisfait de la conversion, vous pouvez être assuré que vous conserverez l’avantage commercial que vous avez développé au cours des dernières décennies.

Visual article avoiding the pitfalls of legacy application migration

Comment l’outil ARCAD for DevOps peut aider les responsables informatiques à contrôler les coûts et à accélérer la livraison de logiciels sur IBM i ?

4.Des outils standard tels que Git sur IBM i

Nous avons converti notre ancien code à format fixe en un code RPG free format moderne et nous voulons maintenant améliorer la façon dont nous travaillons avec ce code. Maintenant que nos développeurs travaillent sur du code moderne, ils essaient de gérer leurs multiples branches de développement. Du côté des entreprises non-i, les équipes de développement sont déjà familiarisées avec Git et ses référentiels et peuvent facilement gérer la fusion des changements de fonctionnalités dans la branche release, et il n’y a aucune raison pour que nous, sur IBM i, ne puissions pas tirer parti des outils disponibles. Nous pouvons stocker le RPG dans nos dépôts Git, nous pouvons l’utiliser pour gérer nos branches, notre développement simultané et la fusion des changements dans une version unique à déployer en production.

Avec ARCAD for DevOps vous pouvez maintenant prendre cette source depuis Git et automatiser votre pipeline de développement :

  • Nous pouvons déclencher automatiquement le build d’une branche ou d’une version lorsque les dernières modifications ont été poussées dans le référentiel.
  • En utilisant les plugins ARCAD pour les outils d’automatisation et la fonctionnalité webhook à l’intérieur, nous pouvons commencer à moderniser non seulement le code de notre application mais aussi la façon dont elle est construite, la façon dont elle est testée, et la façon dont elle progresse à travers le cycle de développement.
  • Nous pouvons supprimer une grande partie de l’activité manuelle que nos codeurs étaient auparavant contraints d’effectuer – et gérer les environnements de test de manière à ce que les données de test soient actualisées automatiquement.
  • Nous pouvons également automatiser les tests unitaires afin d’utiliser les meilleurs tests pour les changements apportés à notre application.
  • Nous pouvons détecter les erreurs plus tôt dans le cycle avant qu’elles ne deviennent des problèmes de production coûteux et préoccupants.

5. Une suite de tests moderne

ARCAD iUnit permet à vos développeurs de mettre en commun leurs tests unitaires individuels et de combiner les meilleurs tests dans un référentiel unique afin de s’assurer que les changements sont toujours entièrement testés avant d’atteindre la QA. Cela permet de réduire le temps de cycle et d’éliminer le retraitement des tests unitaires ad hoc qui sont spécifiques à un seul développeur. L’intégration d’ARCAD iUnit avec la solution de couverture de code d’IBM vous permet de justifier la stratégie de test, ce qui donne aux parties prenantes et aux auditeurs une plus grande confiance dans votre processus de livraison des changements qu’ils ont demandés. L’amélioration des résultats des tests vous aide également à trouver les lacunes – quelles fonctions ne sont pas testées et où se situent les risques. Vous ne vous contentez pas de rassurer l’entreprise, vous mettez en place des améliorations solides dans votre cycle de développement. ARCAD iUnit a été construit en ligne avec jUnit et tous les cas de test d’ARCAD iUnit peuvent être exportés dans jUnit – de cette façon, vous n’avez pas besoin de former à nouveau vos nouveaux codeurs et ils peuvent continuer à utiliser les tests unitaires avec lesquels ils sont à l’aise. ARCAD iUnit fournit également une interface que vos anciens codeurs peuvent suivre facilement, avec l’identification automatique des paramètres requis et la possibilité de simuler des appels de procédure, des échanges de fichiers, ou même des appels à des programmes qui n’existent pas encore. Tout cela peut également être initié par le biais de votre pipeline automatisé, les tests unitaires de vos modifications faisant partie du processus. Il n’est pas nécessaire de retourner auprès de vos développeurs pour vérifier si les modifications ont fait l’objet d’un test unitaire quelconque, car tout cela fait désormais partie du processus, les données étant automatiquement collectées et stockées.

ARCAD CodeChecker fait suite à vos tests unitaires et commence à examiner la qualité de votre code en se basant sur des éléments tels que la complexité de votre code, la dette technique de votre application ou le respect des pratiques de développement modernes. Il met également en évidence les points critiques et les vulnérabilités en matière de sécurité. Avec près de 100 règles en place et la possibilité d’en ajouter d’autres, vous êtes en mesure d’en découvrir davantage sur le code source de votre application afin d’éliminer les inefficacités qui se sont accumulées au fil des ans. Vous imposez vos normes au code en cours d’écriture, laissant derrière vous les anciennes pratiques, tout en modernisant votre application pour en faire une application modulaire entièrement libre qui fournit des services à vos utilisateurs finaux plus rapidement que jamais. Mieux encore, maintenant que vous avez amélioré l’application de base, il n’est plus nécessaire de révolutionner l’application. Modernisez vos processus et poursuivez la révolution – tout en permettant à vos développeurs de bénéficier de l’automatisation des étapes qui les éloignaient du code. Vos développeurs seniors n’ont plus besoin de vérifier toutes les modifications apportées par les nouveaux développeurs ; ils peuvent consacrer leur temps à ce en quoi ils excellent, à savoir le codage de votre nouvelle application moderne.

6. Des services web en 10 minutes ?

Bien sûr, les utilisateurs et les clients deviennent de plus en plus exigeants chaque année et sont toujours à la recherche des données dont ils ont besoin de manière rapide et facile (y a-t-il quelque chose qui manque dans la nouvelle application et que nous devons aller chercher sur l’IBM i ?). C’est là que ARCAD API entre en jeu. Sans réécrire votre application écran vert, vous pouvez utiliser la logique que vous avez déjà intégrée dans votre application pour créer des services Web. En enregistrant des scénarios dans une interface glisser-déposer, sans aucune connaissance en programmation, vous pouvez créer un service Web vous permettant d’interroger l’application IBM i et de renvoyer le résultat à votre service Web ; et de mettre à jour l’IBM i avec les informations transmises au service Web. Votre application reste inchangée, et votre logique d’entreprise et votre sécurité restent en place. Les scénarios peuvent gérer des écrans ou des sous-fichiers inattendus, de sorte que, quelle que soit la complexité de votre application, vous pouvez créer un service web pour permettre le partage des données.

Les services web peuvent être déployés dans n’importe quelle infrastructure d’application, sur site, dans le cloud ou hybride. ARCAD API est également compatible avec toutes les API Gateway telles que Kong, Axway, Amplify, etc.

Nous faisons tout cela sans révolution dans l’autre sens. Nos utilisateurs bénéficient des avantages de la modernité sans avoir à tout réapprendre. C’est toujours l’application qu’ils connaissent, elle fonctionne toujours aussi rapidement, un peu plus dans certains cas, et maintenant ils bénéficient d’un développement plus rapide, ainsi que de nouvelles fonctions ajoutées à l’application pour que les clients puissent avoir l’information à portée de main. En retour, cela permet à l’entreprise de regagner du temps pour générer plus de clients, améliorer les relations avec les clients existants en leur permettant de consacrer leur temps à la croissance de l’entreprise.

7. Conclusion

Dans certains cas, il peut être avantageux de migrer votre application existante, mais si nous examinons les résultats d’autres entreprises qui ont tenté cette transformation, nous constatons qu’il ne faut pas sous-estimer la plate-forme IBM i et les outils qui sont disponibles pour elle. Dans de nombreux cas, l’évolution de votre application vers une solution plus moderne pour vos clients est la bonne chose à faire. Combien de bénéfices pour votre entreprise pourriez-vous apporter en un an en utilisant l’équipe d’experts dont vous disposez actuellement, plutôt que de leur demander d’apprendre Java et de passer l’année à essayer de construire une nouvelle application critique dans un langage qu’ils viennent d’apprendre. L’adoption de l’ensemble des outils ARCAD vous permet d’utiliser les pipelines modernes, de passer à une méthodologie Agile pour votre développement, et de fournir des changements plus petits plus souvent grâce à un processus automatisé. Adoptez DevOps et l’efficacité qu’il apporte à votre cycle de changement, améliorez ce que vous avez en place à une vitesse qui vous convient.

La plateforme IBM i sur laquelle vous travaillez est fiable – vos utilisateurs finaux ne se demandent pas si elle fonctionnera le lundi matin après une mise à jour. Ils savent simplement que vous fournissez une logique métier pour améliorer la façon dont ils peuvent gérer l’entreprise et qu’ils obtiennent plus d’avantages plus rapidement sans que tout ne devienne confus. Les outils ARCAD peuvent vous aider à y parvenir à votre rythme.

Nous brisons les barrières qui ont freiné votre développement, nous voulons que vous produisiez plus, que vous ayez plus de succès, que vos meilleurs développeurs fassent ce qu’ils savent faire.

Vous mettez en place une stratégie DevOps sur IBM i ? Engagez vos équipes IBM I – Lisez notre livre blanc !

Contact Us

DEMANDEZ VOTRE DÉMO

Parlons de votre projet !

Nos experts vous conseillent

Démo personnalisée

Sollicitez nos experts