Créer une architecture .NET distribuée
Le framework .NET
Qu’est-ce que .NET?
Microsoft .NET est un terme général qui désigne un certain nombre de technologies lancées par Microsoft. Prises dans leur ensemble, ces technlogies représentent les changements les plus importants apportées à la plate-forme de développement Microsoft
depuis le passage du développement 16bits au développement 32bits.
La plate-forme Microsoft .NET est une solution complète pour développer, déployer et exécuter des Applications de tous types, y compris des Services Web.
Fondée sur des standards de l'industrie (HTTP, XML, SOAP, WSDL), la plate-forme .NET est un moyen simple et puissant d'implémenter la coopération des services logiciels entre eux, quelle que soit leur localisation, leur implémentation technique, qu'ils soient internes ou externes, existants ou à inventer.
La plate-forme Microsoft .NET repose sur le système d'exploitation Windows et est composée du Framework .NET qui est le socle de développement.
l'architecture de .NET
L'objectif de .NET est d'assurer l'interopérabilité entre les différentes machines reliées sur Internet. Il s'agit de pouvoir rassembler l'information, et de profiter des services de l'Internet sur plusieurs types de supports. .NET veut être la plate-forme de référence pour le développement de la prochaine génération d'applications : les services web XML. Une partie est entièrement consacrée à la mise en oeuvre de cette technologie sous .NET.
Microsoft.NET inclut les briques technologiques suivantes :
La plus intéressante et celle sur laquelle s'appuie tout le contenu de cet exposé est : le Framework de .NET.- Les périphériques clients : ordinateurs, pda, téléphones portables, consoles de jeux, etc ...
- Les services Web fondamentaux : .NET My Services (.NET Passport, exemple avec MSN Messenger)
- Les outils : .NET Framework, Visual Studio .NET
- Les serveurs : .NET Entreprise Server.
Le framework .NET
Le framework .NET est un ensemble de technologies servant de base pour développement d'applications. Il se compose de trois grandes parties:
-Le CLR ou runtime (Common Language Runtime) est l'équivalent de la JVM en Java. Avec les langages .NET vous ne compilez plus le code des programmes directement en code natif mais dans un langage intermédiaire nommé MSIL (Microsoft Intermediate Language) qui est l'équivalent du byte-code en Java. Ce code est ensuite pris en charge par le runtime : celui-ci se charge de la compilation finale au moment de l'installation ou de la première exécution du programme, gère la mémoire (Garbage collector) et la durée de vie des objets. Le .NET Framework n'étant pas sensible à un langage particulier, vous pouvez construire des programmes .NET dans de nombreux langages (environ 51 langages), y compris le langage c# introduit avec .NET (mélange entre c++ et Java). De nombreux sites comparent les langages Java et c#, ce n'est pas l'objet de ce site.
- Les bibliothèques de classes représentent une manne de fonctionnalités dans lesquelles les programmeurs des langages .NET peuvent puiser.- ASP.NET, la nouvelle version d'ASP.
API du framework .NET
Pour terminer, quelques précisions sur le terme CLS que vous ne manquerez pas de rencontrer dans la documentation du .NET framework. Si on peut considérer le CLR comme l'union de fonctionnalités de plusieurs langages de programmation, la spécification de langages communs (CLS, Common Langage Specification) constitue un sous-ensemble de ces fonctionnalités. Ce n'est pas l'ensemble des fonctionnalités communes à tous les langages de programmation. Le CLS représente un niveau de conformité que la plupart des langages doivent pouvoir atteindre si les développeurs de compilateurs désirent qu'il y ait interopérabilité. Ce sous-ensemble de fonctionnalités correspond aussi à ce que de nombreux outils conformes au .NET Framework cherchent à atteindre.
Diagramme en couche du framework .NET
L’environnement de développement
Pour installer le Framework .Net il faut se munir d'une bonne connexion internet et d'un peu de patience.
Tout d'abord, il faut télécharger la dernière version du FrameWork .Net SDK
à l’heure d’aujourd’hui la version 3.0 est disponible.
Ensuite il faut l'installer, et voila vous disposer du tout dernier Framework de microsoft. Vous pouvez désormais utiliser votre meilleur éditeur et l'aide en ligne sur
MSDN pour développer vos propres applications .Net !
Microsoft à mis à disposition de ses développeurs un environnement de développement rapide d'application (Visual Studio), mais qui malheureusement est loin d'être gratuit.
Cependant je vous conseille un éditeur comme Eclipse.
Il existe de nombreux plugins pour ce formidable logiciel qui supporte le C# : Black-sun CSharp 2.0, Improve C# Plugin ou encore Emonic.
C# sous eclipse avec Emonic
.NET Framework et Linux
L'ouverture des spécifications via CLI (Common Language Infrastructure)
qui est un standard ECMA plus connu sous le nom de Rotor.
Ce standard décrit le cœur des technologies .NET afin de pouvoir écrire des implémentations pour d’autres plateformes tel que les FreeBsd.
Différents projets se sont emparés de ces spécifications pour créer des implémentations pour Linux, on peut citer :
L'ASP.NET a été à l'origine conçu pour n'être interprété et compilé que par des serveurs Webs IIS (propriétaires Microsoft). Des initiaves sont nées pour permettre l'exécution sous d'autres serveurs dont le remarquable module pour Apache : mod_mono !- Mono par le créateur de gnome V1.1 et v2.0 partiellement supportée
- GNU Portable DotNet