Inscrivez-vous gratuitement à la Newsletter BFM Business
À la différence de Java, la plate-forme d'exécution logicielle de Microsoft ne dispose pas de composants spécifiques chargés de la logique métier, de la persistance des données ou des transactions. Elle recourt pour cela à des services
prédéveloppés.
Apparue il y a 4 ans,.NET inaugurait un nouveau modèle de plate-forme d'exécution logicielle et de programmation. Largement inspirée de Java, elle en évitait soigneusement les défauts..NET ne reprend pas le concept de composants
polyvalents comme les EJB. Dans la plate-forme Java, ceux-ci assurent aussi bien les accès aux bases de données que des actions applicatives comme, par exemple, calculer un taux de TVA. Conçus, en outre, pour être réutilisables et pour fonctionner
sur toutes les plates-formes Java, les EJB sont difficiles à développer. Dans.NET, les objets métier chargés de la persistance ou des transactions ne sont pas visibles par les développeurs. Ils sont intégrés directement à la plate-forme sous forme
de bibliothèques de composants. Avec ce modèle, complètement différent de l'approche de Java, le développeur n'a plus à construire l'infrastructure technique d'exécution d'une application et peut se focaliser sur la logique métier de son
application,.NET prend soin du reste. Pour le stockage des données,.NET exploite la technologie ADO.NET, un service de persistance chargé de faire la liaison entre l'application et les bases de données. Les requêtes et la présentation des résultats
passent par des datasets, ou jeux de données, créés lors du développement de l'application. Chaque dataset contient les traditionnels opérateurs de requêtes (select, update, delete...) pour interroger la base. Le dataset renvoie en réponse des
tables ou des fichiers XML qu'il a créé à la volée. Le dataset typé, quant à lui, est basé sur un schéma XML qui décrit la structure des tables de la base. Il est plus contraignant à mettre en ?"uvre car il impose une certaine rigueur de
développement. Le programmeur est contraint de respecter l'organisation des tables et le type de données défini lors de la mise en place de l'application. Les requêtes sont également plus rapides.
Des composants transactionnels faciles à construire
Dernier avantage, chaque mise à jour de la base est automatiquement répercutée dans le dataset. Les accès aux SGBD s'effectuent par OLE DB (Object Linking and Embedding for Databases), ce pilote transmet à la base les commandes des
datasets. Microsoft, Oracle ou IBM fournissent aussi des composants d'accès spécialisés pour leurs logiciels. Le développeur peut enfin opter pour un mécanisme de mapping objet-relationnel tel qu'il en existe dans le monde Java. Hibernate, le
logiciel de mapping open source le plus connu, a, en effet, été porté sur.NET sous le nom de NHibernate.La construction de composants transactionnels suit les mêmes principes que les accès aux bases de données. Les Enterprise Services des bibliothèques spécialisées assurent les transactions, distribuées ou non. Les Enterprise Services,
successeurs des anciens services métier COM+, intègrent pour cela le DTC (Distributed Transaction Coordinator), un moniteur transactionnel, successeur du MTS (Microsoft Transaction Server) de l'ancienne architecture DNA (Distributed Internet
Applications) de Microsoft. Ils assurent la bonne marche des transactions avec des mécanismes de commit à deux phases, de roll-back ou d'équilibrage de charge sur lesquels vont s'appuyer les composants métier pour fonctionner. Ceux-ci sont dès lors
plus simples à développer. Une fois le composant écrit dans l'environnement de développement Visual Studio.NET, le programmeur n'a qu'à saisir l'attribut ' transactionnel ' pour classer comme tel son
objet métier. Lors de l'exécution de l'application, l'attribut sera interprété par la plate-forme.NET, qui déclenchera la bibliothèque correspondante.Le système d'attribut n'est pas encore largement répandu dans.NET et ne sert encore qu'à rendre un composant transactionnel ou à lui donner la forme d'un service web en créant automatiquement les fichiers de description WSDL.
Nouvellement arrivée, la plate-forme.NET ne néglige cependant pas l'existant, les anciens composants métier COM+ hérités de DNA. Microsoft a pour cela créé un mécanisme d'encapsulation permettant d'accéder aux objets COM+ comme s'il s'agissait de
composants.NET ordinaires.Qu'elles soient client-serveur ou distribuées, les applications développées avec.NET obéissent aux mêmes principes (les datasets pour accéder aux bases de données, par exemple) et passent par l'atelier de développement Microsoft
Visual Studio.NET. La communication entre postes clients et serveurs applicatifs ou SGBD fait cependant appel à plusieurs protocoles de communication, selon les choix technologiques retenus. Le client dialogue avec le serveur par le biais de
services web, par des requêtes Soap (XML sur HTTP). Ce mode d'échange quasi universel nécessite cependant une conversion des données.NET dans des fichiers XML, ce qui peut ralentir les débits. Si l'application utilise les anciens objets métier COM+,
clients et serveurs communiqueront avec le protocole propre à COM+, obligeant à des ouvertures de ports spécifiques dans un coupe-feu. Le Remoting est le dernier-né des protocoles de Microsoft. Très rapide, car ne nécessitant aucune conversion
d'information, cette technique n'est adaptée qu'aux serveurs ou postes distants équipés de programmes.NET.
Le workflow manque encore à l'appel
La plate-forme.NET ne dispose pas encore de mécanisme d'orchestration de processus métier. Un workflow interapplicatif doit être codé manuellement. Une autre méthode consiste à faire appel à BizTalk, le logiciel d'EAI de Microsoft.
Même si ce dernier est disponible à des tarifs beaucoup plus bas que ceux de ses concurrents, cette solution reste onéreuse. Microsoft prépare cependant sa carte maîtresse. Vista, le futur Windows, disposera de sa propre couche de workflow. Baptisée
Windows Workflow Foundation, celle-ci est pour le moment encore en version bêta et sera un des piliers de WinFX, une surcouche de la plate-forme.NET 2. WinFX constituera une couche d'abstraction commune à Vista, Windows XP et à Windows 2003.