Afin de répondre à de nouveaux besoins métier, beaucoup d’entreprises disposant d’un patrimoine applicatif sur mainframe envisagent de le moderniser en le migrant sur des environnements ouverts. D’autres peuvent choisir de conserver une base de données sur le mainframe et de moderniser les applications construites autour, en les réécrivant sous forme d’applications Web.

Dans les deux cas, l’existant sur mainframe représente souvent une taille considérable, qui peut atteindre plusieurs millions de lignes de code. Pour cette raison, de tels projets ne peuvent s’envisager que sur le long terme. La réécriture doit être effectuée de manière progressive, portion de code par portion de code, et cinq à dix ans peuvent être nécessaires pour l’achever.

Entretemps, l’entreprise ne va pas suspendre ses activités en attendant que l’ensemble de ses applications soient migrées. Elle doit donc faire fonctionner simultanément du code situé sur le mainframe et de nouvelles applications s’exécutant dans des environnements ouverts. Or, ces dernières peuvent avoir besoin d’interagir avec celles qui sont restées sur le mainframe : pour éviter de générer des surcoûts inutiles, l’intégration entre les deux mondes doit se faire sans modifier le code existant, de manière à rester simple et rapide à mettre en œuvre.

Selon la stratégie de modernisation choisie par l’entreprise, trois approches sont possibles pour répondre à ce besoin : les nouvelles applications peuvent simplement récupérer les données dont elles ont besoin sur le mainframe ; elles peuvent inclure directement des écrans mainframe ; ou elles peuvent intégrer des écrans mainframe modernisés au préalable.

1/ Intégrer les données et résultats des transactions mainframe au sein des applications web

Dans le premier cas, les nouvelles applications ont simplement besoin d’accéder à des données issues du mainframe. Celles-ci peuvent être stockées par exemple dans une base comme DB2, ou bien résulter de transactions IMS ou CICS. Dans ce cas, il faut simplement être capable de récupérer la donnée ou le résultat souhaité pour l’intégrer dans la nouvelle application : un service Web JSON ou XML permet de le faire de manière simple et non-intrusive.

Ce type de besoin peut être illustré par le cas d’une grande entreprise de transports dont les opérations critiques sont gérées par une plateforme System z depuis des décennies. Ses nouveaux objectifs de développement lui imposent de s’ouvrir à de nouveaux marchés nécessitant de faire évoluer ses applications mainframe au plus vite et d’en ouvrir l’accès à une nouvelle population d’utilisateurs. Or les évolutions souhaitées impliquent la mise en place d’un projet s’étalant sur une dizaine d’années. Pour contourner ce problème, l’entreprise doit trouver une solution évolutive lui permettant d’être rapidement compétitive.

L’entreprise a donc choisi de migrer son application métier mainframe vers un environnement Web, tout en s’appuyant en parallèle sur une solution permettant à l’application en construction de récupérer, sur le mainframe, les données et résultats de transactions dont elle a besoin. Pour cela, l’entreprise invoque le code mainframe depuis la nouvelle application Web à travers un service Web JSON. Celui-ci s’exécute automatiquement sur le mainframe, puis le service Web renvoie à l’application uniquement les résultats dont elle a besoin. Implémentée en une seule journée, cette solution ne nécessite aucune modification de l’application mainframe, ni compétence spécialisée. Cette solution est évolutive et totalement transparente pour les nouveaux utilisateurs : ces derniers utilisent seulement la nouvelle application web alors même que les données et transactions sont issues de la plateforme mainframe. Le basculement complet vers la nouvelle plateforme peut ainsi s’opérer au fil du projet sans impacter les utilisateurs.

2/ Intégrer des écrans mainframe dans les nouvelles applications web

Dans ce second cas, les utilisateurs des applications migrées ont besoin d’interagir par moments avec des programmes gérés par le mainframe, la problématique étant de faire cohabiter les mondes du mainframe et du web en intégrant des écrans 3270 au sein d’applications Web. La solution consiste à permettre aux nouvelles applications d’appeler les applications mainframe à travers des services Web et d’afficher directement une succession d’écrans mainframe dans l’interface des utilisateurs.

Cette solution est privilégiée par une importante organisation bancaire engagée dans la réécriture d’une application métier. Lors de l’exécution du code encore situé sur le mainframe, la nouvelle application déclenche un service Web qui se place à l’endroit requis et elle présente ensuite les écrans 3270 souhaités. Les utilisateurs ont ainsi un poste de travail unique et retrouvent dans la nouvelle interface des écrans dont ils sont familiers, sans avoir besoin de se déplacer pour se servir des anciens terminaux. A terme, le moniteur transactionnel du site central sera supprimé de manière transparente pour les utilisateurs afin de conserver uniquement les données.

3/ Intégrer des écrans mainframe modernisés au sein des applications Web

Dans ce dernier cas, l’enjeu est identique au précédent, mais l’entreprise souhaite moderniser les écrans reliés au mainframe afin que leur ergonomie soit en harmonie avec celle de ses nouvelles applications. Dans ce cas, la solution consiste à convertir les écrans 3270 en pages Web, toujours sans toucher au code.

C’est l’approche choisie par un établissement financier ayant réécrit une partie de ses applications mainframe sous forme d’applications Web. Elle souhaitait y intégrer rapidement des données et des écrans venant de sa plateforme z/OS, tout en faisant en sorte que cette intégration soit transparente pour les utilisateurs et sans avoir à redévelopper cette partie applicative sur sa nouvelle plateforme.

La solution consistant à convertir les écrans 3270 en pages HTML conformes à la charte graphique des nouvelles applications, offre un gain de temps considérable contrairement à une solution de réécriture. Cette solution permet également de supprimer les besoins de formation à l’interface 3270, notamment pour les nouveaux utilisateurs. Au final c’est une solution économiquement beaucoup plus rentable et rapide qu’une réécrire applicative.

Dans ces trois approches, la migration des applications mainframe vers les technologies Web peut s’effectuer rapidement et de façon progressive. Dans tous les cas, et en fonction des objectifs et du contexte, elle permet de ne pas perturber les utilisateurs, de supprimer les besoins de formation, d’éviter toute modification du code au niveau des applications mainframe, et au final de limiter les coûts.

 

__________
Eric Kloppert est consultant Mainframe de Syspertec