Avant-propos : extrait du livre .NET
par Dick Lantim
Cela fait 12 ans que je me passionne pour
l’informatique. Comme beaucoup, j’ai
débuté avec le langage Pascal, puis travaillé
avec le langage C et avec sa suite logique C++. Mes études
m’ont permis de côtoyer les langages ADA, Prolog et
Eiffel. Quant à mon parcours professionnel, il m’a
conduit de Delphi de Borland, en passant par Java et sa
plate-forme J2EE, pour maintenant me concentrer sur C# et la
plate-forme .NET. Pourtant, mes premiers pas dans le monde des
entreprises avaient pris un autre chemin. Par conviction, mes
premières expériences professionnelles ont eut lieu
avec la société Borland et ses produits Turbo Pascal,
Paradox, Quattro Pro et Borland C++.
La sortie de Delphi de Borland fut un bouleversement aussi
bien pour le monde informatique que pour moi. Passionné
par ses innovations et son potentiel, j’ai
débuté en créant un support de cours
dispensés au travers de la société Probase. Puis
trois livres sur cet environnement ont suivi… J’ai
longtemps pensé que Delphi était le meilleur
environnement de développement pour Windows, et je le
pense encore. Seulement, notre environnement change et force
est de constater qu’Internet ou les techniques
associées conditionnent désormais
l’évolution de l’informatique. Les besoins ont
évolué vers l’intégration des technologies
Web (Webisation) dans les systèmes d’information et
l’intégration de systèmes
hétérogènes.
Dans ce contexte, les technologies liées à un code
binaire spécifique montrent leurs limites.
Parallèlement, Java a conquis de plus en plus de
développeurs par sa richesse, son ouverture et ses
standardisations. Bien que très complet et puissant, de
par son concept multisystème d’exploitation, cette
plate-forme a longtemps attendu pour disposer d’un outil
professionnel tel que JBuilder afin de simplifier les processus
de développement et de configuration de déploiement.
Mais cette plate-forme a aussi fait l’impasse sur
l’interopérabilité des systèmes et plus
particulièrement des spécificités de Windows et
de sa suitebureautique Office. La meilleure voie
d’interopérabilité entre Java/Windows semble
enfin disponible avec les services Web, mais ce sont alors les
performances qui se dégradent.
La plate-forme .NET est la réponse de Microsoft aux
nouveaux besoins et contraintes de l’informatique
industrielle ou personnelle. Son principal rôle est
d’être le socle des futures applications
centrées ou non sur les technologies Internet. Sa
conception est très proche de celle de la plate-forme Java
dont elle améliore les concepts. Si la plupart des
technologies qu’elle renferme ne sont pas nouvelles,
elles révolutionnent complètement la philosophie
Windows, la perception des systèmes d’information et
les architectures qui en découlent. Le modèle .NET
porte le concept de l’unification, aussi bien dans les
développements, les outils que dans les langages de
programmation.
Devant la richesse de cette plate-forme, et malgré le
nombre important de livres couvrant ce sujet, il m’a
semblé intéressant de faire un livre sur les
principaux concepts relatifs au socle technique de .NET : le
Framework .NET. L’approche de ce livre, je
l’espère, conviendra aussi bien à des lecteurs
issus du monde Windows qu’à des lecteurs du monde
Java ou devant travailler sur ces deux plates-formes.
J’ai essayé de présenter dans ce livre
l’ensemble des bases nécessaires pour
appréhender tout le potentiel de la plate-forme .NET au
travers de sa grande couverture.
À propos des exemples
Tout au long de ce livre, j’ai voulu démontrer la
simplicité, la puissance et
l’homogénéité du Framework .NET. Les
exemples sont courts et précis afin de permettre une
meilleure compréhension des concepts exposés. Aucun
outil de développement, mis à part le SDK .NET,
n’est nécessaire pour compiler et tester les
exemples. Ce choix est volontaire, car même si Visual
Studio est un accélérateur en termes de
productivité, il est important de bien assimiler les
concepts et le gain en productivité apportés par le
framework luimême. Cela dit, seul un exemple du chapitre
dédié à l’héritage visuel de fiches
nécessite Visual Studio. Il détaille ce concept et
explique le fonctionnement de Visual Studio pour cette
fonctionnalité. Pour tous les autres exemples, vous pouvez
utiliser Visual Studio ou tout autre éditeur ou
environnement de développement pour tester le code des
exemples. Dans ce cas, vous aurez à définir
manuellement les projets dans ces environnements.
L’ensemble du livre s’appuie sur le langage C#
pour sa clarté, ses richesses, son
homogénéité et la transposition facile aussi
bien en Visual Basic que dans d’autres langages tels C++,
Java et Pascal.
L’organisation des chapitres
Devant la richesse du Framework .NET, ce livre a
été organisé en 36 chapitres, regroupés
dans 9 parties. Pour une bonne compréhension du Framework
.NET, je recommande dans un premier temps la lecture des
chapitres de la première partie. La lecture de la
deuxième partie est également nécessaire pour
comprendre les technologies utiliséesdans certains
chapitres. Quant aux autres chapitres des parties 3 à 9,
ils peuvent être lus ou consultés selon les
besoins.
La première partie est une introduction à
la plate-forme .NET. Les deux premiers chapitres situent le
Framework .NET en expliquant ses grands principes. Ils sont
surtout destinés à un public n’ayant aucune
connaissance de la plate-forme .NET ou ne sachant pas compiler
en ligne de commande. Les chapitres 3 et 4 présentent le
concept d’assemblage sur lequel reposent toutes les
applications .NET. Sa connaissance est primordiale pour tous
les développements.
La deuxième partie aborde des notions plus
avancées sur lesquelles reposent un grand nombre de
technologies du Framework .NET. Les domaines
d’application, la sérialisation, la réflexion
et la sécurité de la plate-forme se retrouvent dans
tous les développements. Cette connaissance permet de
mieux concevoir le fonctionnement interne du framework et ouvre
de nouveaux horizons pour ses propres développements.
La troisième partie aborde des concepts
avancés relatifs à la programmation des threads et
à leur synchronisation. Ces techniques sont de plus en
plus courantes dans les applications afin de mieux
répartir les traitements. Le concept des attributs
personnalisés qui sont grandement utilisés dans les
différentes classes du framework est aussi
présenté afin que le lecteur comprenne leur
fonctionnement et puisse développer ses propres attributs
personnalisés. Enfin, le dernier chapitre de cette partie
porte sur la génération de code. Cette technique de
programmation s’adresse principalement aux concepteurs
d’outils de développement, cependant les
applications de gestion peuvent aussi s’appuyer sur ces
techniques pour enrichir leurs fonctionnalités ou leurs
performances.
La quatrième partie traite de la notion
d’interopérabilité dans le code. Elle
présente les techniques qui permettent d’interagir
avec du code existant afin de faire cohabiter des applications
en code binaire (DLL, objet COM et automation) avec des
applications en code managé. Cela est nécessaire pour
récupérer un existant et le valoriser. Quant au
dernier chapitre de cette partie, il montre le défi que
représente l’utilisation de différents langages
de la plate-forme .NET et signale les pièges à
éviter. Principalement, les conflits existants entre les
langages C# et Visual Basic .NET sont présentés.
Cette connaissance est nécessaire pour réussir un
développement multilangage.
La cinquième partie est dédiée à
la manipulation des données aussi bien issues d’une
base de données qu’au format XML. Dans un premier
temps, les bases d’ADO.NET sont présentées dans
le but d’accéder à un serveur de données,
puis le concept de représentation de données en
mémoire à l’aide du composant DataSet est
abordé. Comme ce composant travaille en XML en interne,
les techniques de manipulation de flux XML sont ensuite
présentées. Enfin, cette partie se termine par une
approche universelle d’accès aux serveurs de
données. Son but est de permettre de rendre son code
complètement indépendant du serveur de données
utilisé.
La sixième partie porte sur le
développement d’applications fenêtrées
Windows. Dans un premier temps, les techniques de base
liées à la conception des applications
fenêtrées, aux composants WinControl et à la
gestion des événements sont abordées. Puis
différents exemples pratiques sont détaillés,
comme les applications MDI, le glisser/déplacer,
lesapplications de la TrayIcon. Enfin, comme la plate-forme
.NET est entièrement objet, le dernier chapitre de cette
partie aborde la notion d’héritage visuel de
fiches.
La septième partie est consacrée au
développement des applications Web centrées sur la
technologie ASP.NET. Elle aborde ses concepts et son
architecture. Puis un zoom est réalisé sur la gestion
de la session, du contexte des utilisateurs et des techniques
de traces. La notion de ViewState, qui permet de déporter
des informations chez les utilisateurs, est grandement
détaillée. Enfin, le pipeline sur lequel repose
ASP.NET est décrit afin que le lecteur puisse appliquer
des traitements spécifiques sur le flux HTML entrant et
sortant.
La huitième partie présente les techniques
de programmation nécessaires à la conception
d’applications distribuées et
déconnectées. Elle aborde d’abord la notion de
remoting et des services Web pour les communications. Puis la
notion de Smart Client est abordée dans le but de
présenter les différentes techniques de
déploiement de code dans ce contexte et la programmation
d’un représentant des smarts devices : le Tablet PC.
Enfin, la partie se termine sur les bases de développement
des Pocket PC.
La dernière partie est dédiée à
la conception des applications .NET. Elle aborde les
thèmes de la programmation multicouche, du modèle MVC
et des différentes topologies de déploiement des
applications .NET. Un modèle de conception
d’application générique permettant une certaine
latitude de déploiement physique est également
présenté. Pour finir, l’utilisation de MSMQ au
travers du Framework .NET est abordée afin de permettre la
conception d’un système découplé à
base d’un bus de messages.
Dernière
mise à jour le mardi 28 octobre 2003
Pour en savoir plus