Modernisation d’applications Client / Serveur vers les architectures ouvertes.

Contexte

Les applications clients serveur ont connu un grand essor dans les années 90 et nombre de sites possèdent des patrimoines importants dans des technologies aujourd’hui obsolètes.

L’usage de ces AGL a été tiré par l’agilité et la richesse des IHM, à l’époque, extrêmement novatrices comparées aux écrans en mode caractère.

Les IDE, permettant de maquetter facilement les écrans, ont été souvent utilisés comme outils de spécification sur des applications périphériques réalisées à la demande des utilisateurs. Au fur et à mesure de l’évolution des besoins, ces applications ont grossi de manière incrémentale jusqu’à devenir critiques. La plupart du temps, cette évolution s’est opérée sans remise en cause du socle applicatif.

Les applications Client / Serveur s’appuient sur des langages évènementiels et souvent permissifs ce qui implique une explosion du nombre de cas de déclenchement d’un traitement. La programmation évènementielle n’ayant été que tardivement normée, on observe une duplication des traitements alors qu’il aurait fallu fonctionnaliser au maximum pour optimiser et sécuriser les évolutions et la maintenance.

L’accès aux données est également souvent géré de manière dispersée avec des requêtes saupoudrées dans tout le code, rendant délicate toute modification du modèle de données.

Aujourd’hui, les systèmes Client / Serveur préoccupent les DSI en raison des nombreuses contraintes associées :

 

Contraintes Techniques et limitations de l’architecture Client / Serveur

  • Les L4G Client / Serveur ne sont plus ou ne seront plus maintenus prochainement
  • Le support du 64 bits est mal géré par les compilateurs
  • Les langages sont procéduraux ou au mieux orientés
  • L’architecture native est orientée traitement alors que les contraintes d’urbanisation nécessitent une architecture orientée services
  • Il n’y a pas d’ouverture Web native
  • La communication avec les applications sur terminaux mobiles est difficile
  • L’interopérabilité avec les nouvelles architectures n’est pas assurée, rendant l’ouverture du SI sur les Clients et Partenaires difficile
  • Problématique de déploiement et d’accès distants aux applications
  • La fiabilité et coûts de maintenance difficiles à maîtriser
  • Les compétences se raréfient, notamment aspirées par les nouvelles architectures d’où découlent des pertes de compétences technique et fonctionnelle
  • L’explosion de la volumétrie des données gérées génère parfois des problèmes de performancesLes solutions de modernisation

 

Il existe 3 méthodes majeures pour transformer des applications Client-Serveur en architecture 3 Tiers Java/J2EE ou .net :

Type de migrationCaractéristique projetCoûts
Réécriture manuelle
  • Durée de projet : longue
  • Qualité de code : haute
  • Risque : élevé compte tenu de la durée du projet
  • Coût projet : élevé
  • Coûts de maintenance : standards J2EE et .net
  • Évolutivité : forte
fleche-roi-tabModernisation application (automatique customisé)
  • Durée de projet : médium
  • Qualité du code : médiane haute
  • Risque : maîtrisé
  • Coût projet : médium
  • Coûts de maintenance : proches des standards J3EE et .net
  • Évolutivité : forte
Conversation automatique
du code
  • Durée de projet : courte
  • Qualité de code : faible, le code reste structuré comme du C/S mais dans des classes J2EE ou .net
  • Souvent utilisé pour des applications de petites tailles
  • Coût projet : médium/faible
  • Coûts de maintenance : élevés
  • Évolutivité : faible

 

Problématique du ROI d’un projet de modernisation d’applications Client /Serveur

Dans un projet de modernisation,  ROI est un facteur clé :

Lire l’article sur la problématique du ROI d’un projet de modernisation de système d’Information

 

Démarche projet

La démarche projet est synthétisée ci-dessous. Elle commence par une phase d’étude et de prototypage pour passer à une phase industrielle une fois les points clés traités.

schema 7

Exemple de modernisation d’applications Client / Serveur :

Application PowerBuilder vers une architecture J2EE

 

power-builder

 

Applications

Migration Power Builder vers java
Migration Power Builder vers .net
Migration NSDK vers java
Migration NSDK vers .net

 

Les outils de transformation Move Solutions

Nous mettons à votre disposition notre atelier logiciel qui vous apporte des gains de  productivité et de qualité importants :

La Suite « MOVE-RECODE »

RECODE-BaseGestion du Référentiel
RECODE-ImpactAnalyse et Diagnostic
RECODE-DataMigration des Données
RECODE-TrackingTransformation de Source
RECODE-TestContrôle Qualité
RECODE-DocGénération de documentation
RECODE-PilotMétrique de Pilotage

Voir les références de Move Solutions

 

Environnements

Notre technologie nous permet d’intervenir sur tous les environnements techniques:

Système d’exploitation MVS, DOS VSE, VM, GCOS 7, GCOS 8, VMS, ICL, UNIX, AS400, WINDOWS, HP3000 vers Unix, linux, AS400…

SGBD: DB2, ORACLE, SYBASE, SQLserver, SQL, INFORMIX, DL1, IDMS, IDS2, TOTAL, ADABAS, DATACOM, IMAGE..

Langages : Cobol, CICS, Fortran, C, Assembleur, CSP, Telon, Pacbase, natural, Ideal, NSDK, Powerbuider … vers Java, Dot Net, RPG, Cobol…

Téléchargez la plaquette conversion de système