Module BDC-VB

[ Retour Accueil ]

Créer des composants réutilisables

Durée de réalisation estimée : 12H00

Objectifs

Public et pré-requis

ce module s'adresse aux développeurs qui connaissent la programmation orientée objet avec le langage VB (module POO-VB ou niveau équivalent).

Sommaire

Ce module se compose de 2 parties principales :

  1. Les composants réutilisables
  2. Le déploiement
[ Commander ]

1.  Les composants réutilisables

Forts des connaissances acquises au module précédent concernant les modules de classe, nous allons pouvoir créer nos premiers composants exécutables !

En fait, seuls les projets de petite taille peuvent rester monolithiques. Lorsqu’un projet commence à devenir quelque peu complexe, il est généralement préférable de le structurer de façon modulaire basée sur la conception de composants spécifiques dits composants "métiers" ou/et sur l’intégration de composants existants prêts à l’emploi.

Cette approche n’est pas nouvelle, mais elle est tend à se généraliser dans l’industrie du développement de logiciels, qu’elle que soit la plate-forme adoptée. Avant de démarrer un nouveau projet, la plupart des entreprises font aujourd’hui appel à des spécialistes qualifiés d’architectes, chargés de cerner et de décrire le besoin en s’appuyant la plupart du temps sur le système de notations UML. Il s’agit donc d’un domaine de compétence à part entière qui vient s’inscrire en amont de la phase de développement. Si vous souhaitez faire connaissance avec cette branche d’activité en plein essor, vous pourrez néanmoins trouver des informations sur le site :

http://www.microsoft.com/france/msdn/architects/default.mspx

Bien entendu, la conception de composants n’est pas réservée aux seuls architectes et nous allons voir comment les réaliser en .NET.

Scénario du chapitre

Bien qu’ils commencent tous par un module de classe, il existe différents types de composants que nous allons découvrir au fil des exemples proposés dans ce chapitre.

En fait, nous constaterons que la conception d'un composant de code ainsi que celle d'un contrôle utilisateur (module UserControl) est restée assez proche de celle des composants COM développés avec Visual Basic 6. Toutefois, les adeptes observeront rapidement les nuances qui vont dans le sens de la simplification.

Du fait qu'un composant de code repose sur un module de classe tel que nous avons appris à les créer au module précédent, nous commencerons par reprendre le scénario de notre agence de voyages, en séparant les classes de la partie cliente, dans deux projets distincts qui seront regroupés au sein d'une solution.

Nous apprendrons ensuite à créer un contrôle utilisateur .NET, dont le principe reste dans la lignée des contrôles OCX. Autorisant l'intégration rapide de nouvelles fonctionnalités sous forme de contrôles personnalisés, tous les développeurs Visual Basic savent qu'ils ont grandement contribué au succès de ce langage. Un contrôle utilisateur vient enrichir les contrôles disponibles dans la Boîte à outils de Visual Studio et se développe dans un module de classe héritant de la classe System.Windows.Forms.UserControl.

Nous verrons, avec deux exemples différents, qu'un contrôle utilisateur peut être obtenu soit en combinant plusieurs contrôles existants, dits "contrôles constitutifs", soit par héritage d'un contrôle de base. La conception d’un composant en partant de zéro demande un peu plus d’efforts, mais reste néanmoins possible.

Nous parlerons également d'interopérabilité, de façon à voir comment utiliser un composant COM à partir d'un assembly .NET et inversement. Nous verrons enfin comment convertir un projet VB6 en .NET.

Points abordés

[ Retour en début de page ]

2.  Le déploiement

Votre application étant finalisée, le temps est venu de la distribuer à d'autres utilisateurs, de la déployer sur d'autres machines. La plupart des développeurs Visual Basic ont souffert des problèmes rencontrés lors de l'installation d'un composant COM, dont les différentes mises à jour pouvaient potentiellement nuire à la stabilité des applications voire du système. Le déploiement .NET a donc été entièrement revu, et se base dorénavant sur une approche foncièrement nouvelle visant à simplifier cette opération.

Parmi les apports du Framework, citons le cloisonnement des applications et des composants, et la possibilité d'en exécuter différentes version côte à côte, en évitant toute interférence. Les mécanismes qui permettent ce fonctionnement seront détaillés dans le présent chapitre.

En complément des techniques proposées par les versions antérieures, le Framework 2.0 introduit une nouvelle méthode de déploiement d'applications Windows baptisée ClickOnce. Vous verrez dans la suite comment cette approche simplifie encore la diffusion d'applications, en permettant le déploiement automatique d'une application par le biais d'un dossier partagé du réseau ou via le Web, avec prise en charge là encore des versions successives de l'application.

Scénario du chapitre

Nous illustrerons les techniques de déploiement par quatre exemples concrets. Dans un premier temps, vous apprendrez à construire et à personnaliser un projet d'installation pour l'application Windows EditNet, que vous avez bâtie au chapitre Les Windows Forms. Ce processus sera l'occasion d'aborder la notion d'assembly ainsi que le gestionnaire de configurations.

Le déploiement d'un composant privé et celui d'un composant partagé seront ensuite étudiés successivement, après introduction des notions de nom fort et de GAC. Ceci nous amènera à la gestion des versions des composants et au rôle des espaces de noms.

Nous traiterons ensuite la distribution d'une application Windows à partir d'un site web, d'un dossier partagé en réseau ou d'un CD-Rom, à l'aide de la technologie ClickOnce, et traiterons la gestion automatique ou programmée des mises à jour.

Avant de quitter le déploiement Windows, nous évoquerons l'utilitaire Dotfuscator, qui permet de "brouiller" votre application contre une lecture par un désassembleur de code IL comme Ildasm ou Reflector.

Nous terminerons le chapitre par quelques mots sur le déploiement d'applications web et sur le précompilateur aspnet_compiler.exe.

Points abordés