Microsoft .NET
Les objectifs prendre une place prépondérante sur le Web avec la location de services proposer une interopérabilité entres les services Web à travers Internet être la plate-forme de référence pour la création de Services Web XML
Historique 1990 : Début du développement du Framework .NET 2000 : Première bêta du Framework .NET 05/01/2002 : version 1.0 01/04/2003 : version 1.1 03/04/2003 : SDK Visual Studio .NET 2003 05/11/2005 : version 2.0 et Visual Studio 2005 06/11/2006 : version 3.0 19/11/2007 : version 3.5 et Visual Studio 2008 28/09/2008 : annonce de la version 4.0, prévue pour 2010
Caractéristiques Plateforme commune à 27 langages (VB,C#,J#,Python) Orienté Objet Large choix de classes de base Une architecture complète: le framework .NET
L’objet en .NET Concepts habituels de Classe et Interface Autres concepts Partial Classes (existe aussi en Ruby) Code divisé en deux fichiers sources Compilés comme une seule classe Accès aux éléments de la classe dans chaque fichier Modules Classe qui n’a pas à être instanciée. Contient que des méthodes et membres statics
Les langages supportés C# C++/CLI F# J# Windows Power Shell JScript.NET IronPython IronRuby Managed Extension for C++ Managed JScript VBx VB.NET A# Ja.NET Boo Cobra Component Pascal IronLips L# Mondrian Nemerle Oxygene P# Phrogram Power Builder Delphi .NET Fortran .NET
Les Applications Windows Plusieurs types d’application disponibles Applications standards Sites Web Web services Services Windows
Les applications standard Utilisation des fonctions système Utilise la VM .NET Deux modes: Application Console Application Graphique Nombre de composants graphiques
Les Sites Web en .NET Deux parties Code de la page Composants haut niveau asp.NET Procédures en javascript. Code-Behind Développé dans un langage .NET Effectue tout les calculs Fonctionnement semblable à un servlet
Ajax en .NET Apparu sur le Framework 3.5 Deux composants à utiliser Un générateur de script qui ne recharge que la zone concernée Le composant UpdatePanel (la zone rechargeable sans recharger la page complète) Fonctionnement de l’Update Panel Deux sections La zone des composants graphiques La zone des triggers Simple d’utilisation
Les Services Windows Caractéristiques Processus fonctionnant en background Pouvant être lancés au chargement de l’ordinateur. Utilise un exécutable classique Exemples: Accesseur BDD, Antivirus Fonctionnement en .NET: Deux méthodes de base: OnStart, OnStop Le reste est à la discrétion du développeur Script d’installation généré par Visual Studio
Les Web Services en .NET Utilisations Architecture Page ASP.NET de consultation pour l’utilisateur Fonctions utilisables via les références Architecture Classe de passage des données, lecture des résultats Communication des données en XML/SOAP Transport via HTTP/HTTPS Services Web de traitement
Bibliothèques de classes Similaire à un package Compilé en fichier .dll Réutilisable pour tout les langages grâce au CLI Tests unitaires via la bibliothèque nunit Exemples : bibliothèque pour les bases de données
Evolutions du Framework
Architecture globale .NET
La machine virtuelle .NET Semblable à la machine virtuelle Java Ne fonctionne que sous Windows Installée avec le Framework correspondant
Les bases de données en .NET Utilisation des bibliothèques fournies Utilisation des fonctions LINQ Utilisation des fonctions ADO.NET entity
Common Language Infrastructure Spécification définissant l'environnement d'exécution de la machine virtuelle basé sur le Common Intermediate Language Aborde trois aspects: Le système des types communs (Common Type System) Le Virtual Execution System qui charge et exécute les codes compatibles CLI Les spécifications commune aux langages (Common Language Specifications)
Common Type System Indique les types utilisés par les langages basés sur le Framework .NET Concerne également l’ensemble des opérateurs sur les types. Définit également la hiérarchie des classes/interfaces pour les objets de base du framework
Common Language Specifications Spécifications que les langages supportés par .NET doivent suivre Définit l’ensemble des règles à tout les niveaux (variables, visibilité, méthodes, etc..) En respectant cette norme on peut créer un langage basé sur l’architecture .NET. Liste complète des spécifications (français) : http://msdn.microsoft.com/fr-fr/library/12a7a7h3.aspx
Commun Language Runtime Traduit les différents langages en code intermediaire Phase avant la compilation réelle Fonctionne grâce au CLS
Les plus Développement simplifié grâce au moteur CLR. Structure multi langage et extensible / Interopérabilité des langages. Installation des Web Services automatisée.
Les moins Problème de sécurité : pas approprié dans le cadre de développement Internet où l’utilisateur n’a pas forcément un compte Windows. Ne fonctionne que sur les systèmes Windows.
Sources wikipedia : http://fr..wikipedia.org développez.com : http://dotnet.developpez.com/ msdn : http://msdn.microsoft.com Codeguru : http://www.codeguru.com ZDnet: http://www.zdnet.fr/ Elcom: http://www.elcom.com.au/ Tom Gardill : The .NET Virtual Machine