COBOL, ou Common Business Oriented Language, est l'un des plus anciens langages de programmation utilisés, datant d'environ 1959. Selon une étude réalisée en 2022, plus de 800 milliards de lignes de COBOL sont utilisées sur des systèmes de production, contre 220 milliards estimés en 2017. Le COBOL pour certains est un langage difficile à comprendre et inefficace. Pourquoi ne pas migrer vers un langage plus récent ? Pour les grandes organisations, il s'agit généralement d'une proposition complexe et coûteuse, compte tenu du faible nombre d'experts COBOL dans le monde. Lorsque la Commonwealth Bank of Australia a remplacé sa plateforme COBOL principale en 2012, cela a pris cinq ans et coûté plus de 700 millions de dollars.
Cherchant à présenter une nouvelle solution au problème de la modernisation des applications COBOL, IBM a dévoilé Code Assistant for IBM Z, qui utilise un modèle d'IA générateur de code pour traduire le code COBOL en Java. Code Assistant for IBM Z, dont la disponibilité générale est prévue pour le quatrième trimestre 2023, sera présenté en Preview version lors de la conférence TechXchange d'IBM à Las Vegas au début du mois de septembre.
« Si vous pouvez trouver un programmeur COBOL, il est cher. J'ai vu des chiffres montrant qu'ils peuvent demander des salaires parmi les plus élevés parce que beaucoup d'applications critiques sont écrites en COBOL et qu'elles ont besoin de maintenance », a déclaré Roy Illsley, analyste en chef d'Omdia. La migration du code vers Java signifie qu'il y a beaucoup plus de programmeurs, ajoute-t-il, et si les applications fonctionnent sur Linux on Z, elles pourront potentiellement être transférées hors de l'ordinateur central plus facilement à l'avenir. (Bien que cela ne soit pas toujours aussi facile qu'il n'y paraît).
Envoyé par IBM
C'est pourquoi les fonctions d'IA générative de watsonx Code Assistant for Z sont destinées à aider les développeurs à évaluer et à déterminer le code qui a le plus besoin d'être modernisé, ce qui leur permet de mettre à jour plus rapidement les grandes applications et de se concentrer sur les tâches critiques.
92 % des personnes interrogées ont déclaré que les applications COBOL de leur entreprise sont « stratégiques pour la future stratégie informatique » - COBOL continue d'alimenter des applications extrêmement critiques dans le secteur bancaire, le secteur public, les compagnies aériennes, les assurances et bien d'autres encore. L'alignement du portefeuille d'applications sur les nouvelles technologies a été cité par les répondants à l'enquête comme l'un des principaux moteurs de la modernisation continue du COBOL.
Code Assistant for IBM Z est conçu pour aider les entreprises à remanier leurs applications mainframe, idéalement en préservant les performances et la sécurité, selon le responsable scientifique d'IBM Research, Ruchir Puri. Fonctionnant localement dans une configuration sur site ou dans le cloud en tant que service géré, Code Assistant est alimenté par un modèle de génération de code, CodeNet, qui peut comprendre non seulement COBOL et Java, mais aussi environ 80 langages de programmation différents.
« IBM a construit un nouveau modèle de code IA génératif de pointe pour transformer les programmes COBOL hérités en Java d'entreprise avec un degré élevé de naturel dans le code généré », a déclaré Puri. « En plus de la transformation du code, Code Assistant prend en charge le cycle de vie complet de la modernisation des applications et aide les développeurs à comprendre, à remanier, à transformer et à valider le code traduit dans une architecture moderne. »
Puri explique que CodeNet, qui a été formé avec 1,5 trillion de tokens et possède 20 milliards de paramètres, a été conçu avec une grande fenêtre contextuelle - 32 000 tokens - pour « capturer le contexte plus large » afin de « transformer plus efficacement le COBOL en Java ». Les paramètres sont les éléments d'un modèle appris à partir de données d'entraînement historiques et définissent essentiellement la capacité du modèle à résoudre un problème, tel que la génération de texte, tandis que les jetons représentent le texte brut (par exemple, "fan", "tas" et "tic" pour le mot "fantastique". Quant à la fenêtre contextuelle, elle fait référence au texte que le modèle prend en compte avant de générer du texte supplémentaire.
« IBM a conçu watsonx Code Assistant for Z pour adopter une approche ciblée et optimisée. Il est conçu pour convertir rapidement et avec précision le code optimisé pour IBM Z, accélérer la mise sur le marché et élargir le pool de compétences », a déclaré Kareem Yusuf, vice-président chargé de la gestion des produits et de la croissance.
IBM souhaite fournir des outils pour chaque étape du processus de modernisation, en commençant par son outil d'inventaire et d'analyse ADDI (Application Discovery and Delivery Intelligence). Les autres étapes comprennent le remaniement des services commerciaux en COBOL, la transformation du code en code Java et la validation du résultat à l'aide de tests automatisés
Le code Java produit par watsonx Code Assistant for Z sera orienté objet, mais continuera à interopérer avec le reste de l'application COBOL, selon IBM, ainsi qu'avec des services clés tels que CICS, IMS, DB2 et d'autres moteurs d'exécution z/OS.
L’annonce d’IBM divise la communauté des développeurs
L’annonce d’IBM de faire appel à l’IA pour traduire le code COBOL en Java peut sembler séduisante, mais elle soulève aussi de nombreuses questions et critiques. D’une part, certains se demandent si la traduction automatique du code est vraiment fiable et efficace, ou si elle ne risque pas d’introduire des erreurs, des bugs ou des vulnérabilités.
D’autre part, certains s’interrogent sur l’intérêt de passer du COBOL au Java, qui sont deux langages très différents, tant au niveau de la syntaxe que de la sémantique. Le Java n’est pas forcément plus performant, plus moderne ou plus portable que le COBOL, et il nécessite aussi des compétences spécifiques pour le maintenir et le faire évoluer.
Enfin, certains soupçonnent IBM de vouloir imposer son outil watsonx Code Assistant for Z comme une solution miracle pour fidéliser ses clients mainframe, alors qu’il existe peut-être d’autres alternatives plus adaptées à leurs besoins et à leurs contraintes. Bref, l’annonce d’IBM ne fait pas l’unanimité et mérite d’être examinée avec prudence et discernement.
Aujourd'hui, environ 84 % des clients d'IBM utilisant des ordinateurs centraux utilisent COBOL - principalement des clients des secteurs financier et gouvernemental. Et si la division mainframe d'IBM représente toujours une part importante de son activité globale, l'entreprise considère le mainframe comme une passerelle vers les environnements informatiques hybrides étendus et lucratifs qu'elle héberge et facilite également.
Selon une nouvelle étude de l'IBM Institute for Business Value, les entreprises ont 12 fois plus de chances d'exploiter leurs actifs mainframe existants plutôt que de reconstruire leur parc d'applications à partir de zéro au cours des deux prochaines années. Dans le même temps, l'étude montre que le principal défi pour ces mêmes organisations est le manque de ressources et de compétences.
« En apportant des capacités d'IA générative par le biais de watsonx à de nouveaux cas d'utilisation, nous prévoyons de réaliser de réels progrès pour nos clients », a déclaré Kareem Yusuf, PhD, Senior Vice President, Product Management and Growth, IBM Software. « IBM conçoit watsonx Code Assistant for Z pour adopter une approche ciblée et optimisée. Il est conçu pour convertir rapidement et avec précision le code optimisé pour IBM Z, accélérer la mise sur le marché et élargir le pool de compétences. Cela permet d'améliorer les applications et d'ajouter de nouvelles fonctionnalités tout en préservant les performances, la résilience et la sécurité inhérentes à IBM Z. »
Source : IBM
Et vous ?
La traduction automatique du code est-elle fiable et efficace ? Quels sont les risques liés à la traduction automatique du code ?
Le Java est-il plus performant, plus moderne ou plus portable que le COBOL ?
IBM watsonx Code Assistant for Z est-il la seule solution pour fidéliser les clients mainframe ? Existe-t-il d’autres alternatives plus adaptées aux besoins et aux contraintes des clients mainframe ?
Voir aussi :
IBM va suspendre l'embauche dans le cadre de son plan de remplacement de 7 800 emplois par l'IA, le PDG Krishna dit qu'IBM suspendra l'embauche pour des rôles remplaçables
IBM aurait délibérément "mal classé" les ventes de mainframes dans le but d'enrichir les cadres supérieurs, selon une action en justice
IBM aide les entreprises à transférer leurs applications mainframe vers le cloud, en lançant IBM Z as-a-service sur IBM Cloud et IBM Wazi as-a-Service, ainsi que IBM Z and Cloud Modernization Stack