télécharger 146.45 Kb.
|
Mise en œuvre d’une stratégie de migration de Visual Basic 6.0 vers Visual Basic .NET Iván Sanabria Alexander Gómez Alvaro Rivera Carlos Maroto Héndel Valverde Federico Zoufaly ArtinSoft Avril 2005 Résumé : Cet article présente le processus de migration de Visual Basic 6.0 vers Visual Basic .NET. Il aborde tous les aspects de la migration, depuis l'analyse des exigences techniques et économiques aux recommandations pour choisir une solution de migration (recommandations qui intègrent les stratégies reconnues et les meilleures pratiques). Vous apprendrez comment réduire au minimum les délais et le travail nécessaires pour la migration, en adoptant des stratégies qui ont fait leurs preuves. (23 pages imprimées) S'applique à : Microsoft Visual Basic 6.0 Microsoft Visual Basic .NET Microsoft Visual Studio .NET 2003 Microsoft Visual Studio .NET 2005 Microsoft .NET Framework 1.1 Microsoft .NET Framework 2.0 Table des matières Introduction Migrer, remplacer, réécrire ou réutiliser ? Savoir prendre la bonne décision Mettre en œuvre un projet de migration automatisée Conclusion Références Introduction De nombreuses idées fausses circulent sur la méthode la plus appropriée pour mettre à niveau une application Visual Basic 6.0 vers Visual Basic .NET et sur le travail nécessaire pour cette migration. L'objectif de ce document est de vous aider à préparer au mieux votre stratégie de migration. Il décrit notamment les facteurs dont vous devez tenir compte au cours des diverses étapes d'une migration réussie. Il recommande également les meilleures pratiques qui ont été identifiées à l'occasion de différents projets de migration. Quelques facteurs courants motivent la modernisation des applications Visual Basic. Ils vont des facteurs de type « réaction », où l'application Visual Basic 6.0 doit pouvoir répondre à de nouveaux besoins métier, à ceux de type « anticipation », où l'entreprise veut optimiser l'application actuelle pour saisir une opportunité de se développer, d'élargir sa clientèle ou encore d'ajouter de nouveaux produits et services à son offre. Ces facteurs incluent également la nécessité d'augmenter l'efficacité opérationnelle pour contrebalancer les frais de maintenance élevés des applications obsolètes, tout en maximisant les avantages liés à l'utilisation de la technologie .NET. Migrer, remplacer, réécrire ou réutiliser ? Quand une entreprise est parvenue à la conclusion qu'une application Visual Basic ne répond plus à ses besoins et qu'elle ne peut plus l'ignorer, elle pense à la modernisation. Elle doit pourtant d’abord d'étudier les alternatives possibles à la modernisation. Les critères de décision sont (i) la qualité du code de l'application et (ii) la valeur économique de l'application. Dans ce cas précis, la qualité se rapporte à l'adéquation de l'application aux besoins métier et techniques. Elle doit être évaluée en fonction des paramètres suivants :
La valeur économique est un autre élément clé dont il faut tenir compte ; elle est fonction de l'unicité de l'application. Si l'application est de qualité médiocre et que d'autres logiciels tiers offrent les mêmes fonctionnalités, mieux vaut la remplacer. Quatre possibilités de modernisation s'offrent à vous : la migration, la réutilisation, la réécriture ou le remplacement de l'application ou de certains de ses composants. La figure 1 illustre le rapport entre les critères de décision et le processus de modernisation. EMBED PBrush ![]() Figure 1. Options de modernisation
Prendre la bonne décision Lors du lancement du projet, il est important de réaliser une étude de faisabilité pour évaluer la qualité technique et économique de l'application. Les listes de contrôle ci-après répertorient certains points à prendre en compte tandis que vous comparez les options disponibles. Liste de contrôle : migration
Liste de contrôle : réutilisation
Liste de contrôle : réécriture
Liste de contrôle : remplacement
Les points ci-dessus peuvent s'appliquer à des applications complètes ou à certains de leurs composants. En règle générale, lorsqu'il s'agit d'une application de taille importante, plusieurs solutions de modernisation devront être combinées. En choisissant la méthode la plus appropriée pour un composant d'application spécifique, gardez à l'esprit que de nombreux développeurs affirmeront invariablement que la meilleure solution consiste à réécrire toute application nécessitant une mise à niveau. Ils estiment en effet que l'expérience acquise leur permettra d'écrire une seconde mouture plus performante. Il va sans dire que la réécriture d'une application mal conçue peut sembler une évidence, car elle permettra d'en corriger les lacunes. Toutefois, analysez tous les arguments pour la mise à niveau, la réécriture, le remplacement ou le maintien de l'application en Visual Basic 6.0 afin de vous faire la meilleure idée de ce qu'il convient de faire. Si l'application répond déjà aux besoins de votre entreprise, qu'elle ne requiert pas d'améliorations et que votre personnel connaît déjà Visual Basic 6.0, le maintien de l'application au format Visual Basic 6.0 est une bonne solution. Votre entreprise doit néanmoins en évaluer les risques en tenant compte des considérations sur le cycle de vie des produits Microsoft et des opportunités offertes par Visual Basic .NET et le .NET Framework à votre entreprise (sites en anglais). Si les besoins de l'entreprise exigent une mise à niveau de l'application vers Visual Basic .NET, il faut alors approfondir davantage la comparaison entre réécriture et mise à niveau. La mise à niveau à l'aide de l'outil de migration de Visual Basic 6.0 vers Visual Basic .NET permet de migrer vos applications à moindre coût. L'une des raisons les plus fréquemment invoquées pour migrer une application vers Visual Basic .NET est le souhait d'en faire une application Web, ou d'optimiser une application Web existante en tirant parti de fonctionnalités ASP.NET telles que la trace, la gestion souple des états, l'accès aux données capable de monter en puissance et des performances améliorées. Comme mentionné plus haut, la réécriture génère parfois une application plus performante. Les coûts de développement sont néanmoins beaucoup plus élevés que ceux d'une mise à niveau. Selon les conseils d'ArtinSoft et le Software Research Institute (http://www.spr.com), un développeur Visual Basic expérimenté écrit entre 500 et 1 000 lignes de code Visual Basic .NET déployable par mois. Lors de la mise à niveau d'une application, ce même programmeur sera en mesure de traiter entre 3 500 et 4 000 lignes de code par mois. La mise à niveau est donc de trois à sept fois plus rapide. Cette énorme différence s'explique par le fait que lors de la réécriture, le programmeur doit écrire puis tester et déboguer un nouvel algorithme. Lors d'une mise à niveau, il lui suffit de s'assurer que le code s'exécute comme dans la version précédente. La réécriture offre plusieurs avantages. Elle permet de rectifier une application mal conçue à l'origine et de remplacer les objets COM par des objets .NET plus flexibles, dont l'inscription n'est plus requise durant le déploiement. Il convient toutefois de noter que la mise à niveau est beaucoup plus rapide et qu'il est tout à fait possible de remplacer les objets COM par des objets .NET après la mise à niveau. En résumé, c'est à vous qu'il appartient de choisir la solution la plus appropriée pour votre projet de modernisation. Si vous décidez de laisser l'application en Visual Basic 6.0, inutile d'aller plus loin ! En revanche, s'il ressort que la réécriture de l'application est la meilleure solution, nous ne pouvons que vous recommander de suivre une méthodologie de développement reconnue. Examinez également de près les problèmes connus de votre application afin d'exploiter ces informations plus tard. Si vous estimez que votre application actuelle, de même que son code source, sont exploitables et qu'il est possible d'étendre son cycle de vie en la mettant à niveau vers Visual Studio NET, une migration automatique est la meilleure solution pour votre code. Enfin, comme dans la plupart des projets de modernisation, peut-être déciderez-vous que la meilleure méthode consiste à associer plusieurs des solutions présentées ci-dessus. Mettre en œuvre un projet de migration automatisée Le reste de cet article est consacré à la mise en œuvre d'un projet de migration, une fois qu'il a été décidé de mettre l'application à niveau à l'aide de l'Assistant Mise à niveau Microsoft Visual Basic, en suivant la méthodologie recommandée. À l'instar d'un projet de développement classique, un projet de migration logicielle requiert une phase initiale de planification et de conception. Cette section décrit comment analyser, préparer et faire migrer une application Visual Basic 6.0 ; elle propose la marche à suivre pour mieux planifier votre projet de migration, notamment définir sa portée, estimer son coût et exécuter la migration proprement dite. Équivalence fonctionnelle Dans ce type de projet, un principe important, utilisé dans les projets de migration automatique et connu sous le nom d'équivalence fonctionnelle, est particulièrement recommandé. Dans le contexte d'une migration Visual Basic, il s'agit de faire migrer une application Visual Basic 6.0 vers une application Visual Basic .NET, en conservant exactement toutes les fonctionnalités d'origine. De nouvelles fonctionnalités sont ajoutées par la suite. La logique de l'application n'est pas modifiée et les règles métier demeurent opérationnelles dans la nouvelle application. L'équivalence fonctionnelle est généralement considérée comme une étape intermédiaire dans un projet de migration. Parvenir à l'équivalence fonctionnelle ne constitue généralement pas un avantage métier important ; tout projet de migration doit par conséquent inclure les actions et les fonctionnalités que vous envisagez d’exploiter une fois cette étape intermédiaire terminée. La création d'un système dont les fonctions sont identiques à 100 % à celles du système d'origine est parfois considérée comme une étape peu constructive. Elle offre néanmoins plusieurs avantages dont les entreprises ne prennent trop souvent conscience qu'une fois le projet de réécriture d'une application déjà bien avancé.
|
![]() | «bout code» qu’il faut rajouter dans le code d’une application principale. IL arrive, d’ailleurs, fréquemment qu’un composant soit... | ![]() | |
![]() | «Visual Basic vers Java» de l'application de gestion des sinistres de la société | ![]() | |
![]() | ![]() | ||
![]() | ... | ![]() | «un ordre inventé», résultant de la confrontation de l’économique et du politique. (Donzelot, 1984; Castel, 1995) |
![]() | ![]() | «La migration et les relations internationales contemporaines en Europe (entre le xx° et xxi° siècles)» |