Passer au contenu

2. Faire migrer l’existant vers .NET

Les applications en place fonctionnent avec .NET. Mais seule une migration leur permet d’en tirer pleinement parti.

L’architecture d’exécution proposée par .NET mar- que une rupture. Les applications .NET sont compilées et exécutées dans la machine virtuelle CRL alors que les applications existantes sont exécutées directement au niveau du système d’exploitation. Microsoft garantit cependant la cohabitation de ces deux architectures. Faut-il, dans ces conditions, opérer la migration vers .NET ? “La migration est nécessaire si l’on souhaite ouvrir ses applications par le biais de services web ou profiter des avancées de .NET“, estime Jean-Louis Bernard, directeur technique de Business Interactif. Autre élément décisif : la possibilité de réutiliser des bibliothèques de fonctions (DLL) existantes pour de nouveaux développements .NET.

Éviter à tout prix le syndrome big-bang

Si l’éditeur cherche à faciliter l’adoption de sa nouvelle plate-forme, seuls Java et Visual Basic bénéficient, pour le moment, d’assistants de migration. L’exercice de traduction est, qui plus est, ardu. Si la traduction de C++ vers C# n’est pas trop difficile, le mapping des API est un tout autre problème. Il faut en effet faire correspondre l’appel d’une méthode Win32 avec son équivalent au sein du framework .NET. Or il n’existe pas toujours d’équivalence.Heureusement, une migration ne s’impose pas systématiquement. “Il faut à tout prix éviter le syndrome big-bang“, conseille Éric Groise, architecte senior chez Octo Technology. L’interopérabilité avec l’existant Microsoft est bien gérée. On peut par exemple appeler le framework .NET depuis un composant COM ou un composant COM depuis un programme C#. Il faut donc faire migrer uniquement les applications qui posent problème.Avec Visual Basic, par exemple, l’effort portera sur les projets développés en VB4 ou 5 qui utilisent encore d’anciennes méthodes d’accès aux données et devront d’abord migrer vers VB6. Les applications Visual C++ 6.0 peuvent être traduites en Visual C++ 7.0 (.NET). Elles devront en revanche abandonner les MFC (Microsoft Foundation Class) et s’appuyer sur les Winforms du framework .NET pour générer leurs interfaces. Autant dire que les développeurs auront tout intérêt à abandonner Visual C++ pour C#. Faire migrer une application ASP revient en revanche à la réécrire. En effet, ASP.NET distingue désormais clairement l’interface utilisateur et les traitements alors que les pages ASP traditionnelles les mélangent trop souvent. Mais là encore, ASP et ASP.NET cohabitent très bien sur un même serveur.





































































































































 
 Les outils de migration 
 Langage     Successeur     Migration 
         
 ASP ?” JSP     ASP.NET     Non. Mais les applications ASP peuvent être exécutées sur .NET. 
         
 VB6     VB.NET     Oui. Avec Upgrade wizard from Visual Basic 6.0 to .NET d’Artisoft. 
         
 VC++ 6     Visual C++ .NET     Non. Visual Studio compile automatiquement le code VC++ en VC++ .NET. 
         
 VJ++ 6     J#     Oui. Avec Visual J# .NET de Microsoft. 
         
 Java ?” J2EE     C#     Oui. Avec JCLA Enterprise Edition d’Artisoft.  
         
 Delphi 6     Delphi .NET     Oui. Compilation native dans la prochaine version de Delphi (Borland). 
         
 Tous langages     VB.NET ?” ASP.NET ?” C#     Non. Mais possibilité de cartographier le code et de mesurer l’impact d’une migration avec Application Mining Suite for Visual Studio .NET de Cast. 
         
 VB ?” C++     VB.NET ?” C++ .NET     Non. Simple cartographie du code et mesure de l’impact d’une migration.  
 



🔴 Pour ne manquer aucune actualité de 01net, suivez-nous sur Google Actualités et WhatsApp.


Frédéric Bordage