microsoft .net
Embed Size (px)
DESCRIPTION
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. - PowerPoint PPT PresentationTRANSCRIPT

Microsoft .NETMicrosoft .NET

Les objectifsLes objectifs
prendre une place prépondérante sur le Web prendre une place prépondérante sur le Web avec la location de servicesavec la location de services
proposer une interopérabilité entres les services proposer une interopérabilité entres les services Web à travers InternetWeb à travers Internet
être la plate-forme de référence pour la création être la plate-forme de référence pour la création de Services Web XML de Services Web XML

HistoriqueHistorique
1990 : Début du développement du Framework .NET1990 : Début du développement du Framework .NET 2000 : Première bêta du Framework .NET2000 : Première bêta du Framework .NET 05/01/2002 : version 1.005/01/2002 : version 1.0 01/04/2003 : version 1.101/04/2003 : version 1.1 03/04/2003 : SDK Visual Studio .NET 200303/04/2003 : SDK Visual Studio .NET 2003 05/11/2005 : version 2.0 et Visual Studio 200505/11/2005 : version 2.0 et Visual Studio 2005 06/11/2006 : version 3.006/11/2006 : version 3.0 19/11/2007 : version 3.5 et Visual Studio 200819/11/2007 : version 3.5 et Visual Studio 2008 28/09/2008 : annonce de la version 4.0, prévue pour 201028/09/2008 : annonce de la version 4.0, prévue pour 2010

CaractéristiquesCaractéristiques
Plateforme commune à 27 langages Plateforme commune à 27 langages (VB,C#,J#,Python)(VB,C#,J#,Python)
Orienté ObjetOrienté Objet Large choix de classes de baseLarge choix de classes de base Une architecture complète: le framework .NETUne architecture complète: le framework .NET

L’objet en .NETL’objet en .NET
Concepts habituels de Classe et InterfaceConcepts habituels de Classe et Interface Autres conceptsAutres concepts
Partial Classes (existe aussi en Ruby)Partial Classes (existe aussi en Ruby) Code divisé en deux fichiers sourcesCode divisé en deux fichiers sources Compilés comme une seule classeCompilés comme une seule classe Accès aux éléments de la classe dans chaque fichierAccès aux éléments de la classe dans chaque fichier
ModulesModules Classe qui n’a pas à être instanciée.Classe qui n’a pas à être instanciée. Contient que des méthodes et membres staticsContient que des méthodes et membres statics

Les langages supportésLes langages supportés
C#C# C++/CLIC++/CLI F#F# J#J# Windows Power ShellWindows Power Shell JScript.NETJScript.NET IronPythonIronPython IronRubyIronRuby Managed Extension for C++ Managed Extension for C++ Managed JScriptManaged JScript VBxVBx VB.NETVB.NET A#A# Ja.NETJa.NET
BooBoo CobraCobra Component PascalComponent Pascal IronLipsIronLips L#L# MondrianMondrian NemerleNemerle OxygeneOxygene P#P# PhrogramPhrogram Power BuilderPower Builder Delphi .NETDelphi .NET Fortran .NETFortran .NET

Les Applications WindowsLes Applications Windows
Plusieurs types d’application disponiblesPlusieurs types d’application disponibles
Applications standardsApplications standards Sites WebSites Web Web servicesWeb services Services WindowsServices Windows

Les applications standardLes applications standard
Utilisation des fonctions systèmeUtilisation des fonctions système Utilise la VM .NETUtilise la VM .NET Deux modes:Deux modes:
Application ConsoleApplication Console Application GraphiqueApplication Graphique
Nombre de composants graphiquesNombre de composants graphiques

Les Sites Web en .NETLes Sites Web en .NET
Deux partiesDeux parties Code de la pageCode de la page
Composants haut niveau asp.NETComposants haut niveau asp.NET Procédures en javascript.Procédures en javascript.
Code-BehindCode-Behind Développé dans un langage .NETDéveloppé dans un langage .NET Effectue tout les calculsEffectue tout les calculs Fonctionnement semblable à un servletFonctionnement semblable à un servlet

Ajax en .NETAjax en .NET
Apparu sur le Framework 3.5Apparu sur le Framework 3.5 Deux composants à utiliserDeux composants à utiliser
Un générateur de script qui ne recharge que la zone Un générateur de script qui ne recharge que la zone concernéeconcernée
Le composant UpdatePanel (la zone rechargeable sans Le composant UpdatePanel (la zone rechargeable sans recharger la page complète)recharger la page complète)
Fonctionnement de l’Update PanelFonctionnement de l’Update Panel Deux sectionsDeux sections
La zone des composants graphiquesLa zone des composants graphiques La zone des triggersLa zone des triggers
Simple d’utilisationSimple d’utilisation

Les Services WindowsLes Services Windows
CaractéristiquesCaractéristiques Processus fonctionnant en backgroundProcessus fonctionnant en background Pouvant être lancés au chargement de l’ordinateur.Pouvant être lancés au chargement de l’ordinateur. Utilise un exécutable classiqueUtilise un exécutable classique
Exemples: Accesseur BDD, AntivirusExemples: Accesseur BDD, Antivirus Fonctionnement en .NET:Fonctionnement en .NET:
Deux méthodes de base: OnStart, OnStopDeux méthodes de base: OnStart, OnStop Le reste est à la discrétion du développeurLe reste est à la discrétion du développeur Script d’installation généré par Visual StudioScript d’installation généré par Visual Studio

Les Web Services en .NETLes Web Services en .NET
UtilisationsUtilisations Page ASP.NET de consultation pour l’utilisateurPage ASP.NET de consultation pour l’utilisateur Fonctions utilisables via les référencesFonctions utilisables via les références
ArchitectureArchitecture Classe de passage des données, lecture des résultatsClasse de passage des données, lecture des résultats Communication des données en XML/SOAPCommunication des données en XML/SOAP Transport via HTTP/HTTPSTransport via HTTP/HTTPS Services Web de traitementServices Web de traitement

Bibliothèques de classesBibliothèques de classes
Similaire à un packageSimilaire à un package Compilé en fichier .dllCompilé en fichier .dll Réutilisable pour tout les langages grâce au CLIRéutilisable pour tout les langages grâce au CLI Tests unitaires via la bibliothèque nunitTests unitaires via la bibliothèque nunit Exemples : bibliothèque pour les bases de donnéesExemples : bibliothèque pour les bases de données

Evolutions du FrameworkEvolutions du Framework

Architecture globale .NETArchitecture globale .NET

La machine virtuelle .NETLa machine virtuelle .NET
Semblable à la machine virtuelle JavaSemblable à la machine virtuelle Java Ne fonctionne que sous WindowsNe fonctionne que sous Windows Installée avec le Framework correspondantInstallée avec le Framework correspondant

Les bases de données en .NETLes bases de données en .NET
Utilisation des bibliothèques fourniesUtilisation des bibliothèques fournies Utilisation des fonctions LINQUtilisation des fonctions LINQ Utilisation des fonctions ADO.NET entityUtilisation des fonctions ADO.NET entity

Common Language Common Language InfrastructureInfrastructure
Spécification définissant l'environnement Spécification définissant l'environnement d'exécution de la machine virtuelle basé sur le d'exécution de la machine virtuelle basé sur le Common Intermediate LanguageCommon Intermediate Language
Aborde trois aspects:Aborde trois aspects: Le système des types communs (Common Type System)Le système des types communs (Common Type System) Le Virtual Execution System qui charge et exécute les Le Virtual Execution System qui charge et exécute les
codes compatibles CLIcodes compatibles CLI Les spécifications commune aux langages (Common Les spécifications commune aux langages (Common
Language Specifications)Language Specifications)

Common Type SystemCommon Type System
Indique les types utilisés par les langages basés Indique les types utilisés par les langages basés sur le Framework .NETsur le Framework .NET
Concerne également l’ensemble des opérateurs Concerne également l’ensemble des opérateurs sur les types.sur les types.
Définit également la hiérarchie des Définit également la hiérarchie des classes/interfaces pour les objets de base du classes/interfaces pour les objets de base du frameworkframework

Common Language Common Language SpecificationsSpecifications
Spécifications que les langages supportés Spécifications que les langages supportés par .NET doivent suivrepar .NET doivent suivre
Définit l’ensemble des règles à tout les niveaux Définit l’ensemble des règles à tout les niveaux (variables, visibilité, méthodes, etc..)(variables, visibilité, méthodes, etc..)
En respectant cette norme on peut créer un En respectant cette norme on peut créer un langage basé sur l’architecture .NET.langage basé sur l’architecture .NET.
Liste complète des spécifications (français) : Liste complète des spécifications (français) : http://msdn.microsoft.com/fr-fr/library/12a7a7h3.http://msdn.microsoft.com/fr-fr/library/12a7a7h3.aspxaspx

Commun Language RuntimeCommun Language Runtime
Traduit les différents langages en code Traduit les différents langages en code intermediaireintermediaire
Phase avant la compilation réellePhase avant la compilation réelle Fonctionne grâce au CLSFonctionne grâce au CLS

Les plusLes plus
Développement simplifié grâce au moteur CLR.Développement simplifié grâce au moteur CLR.
Structure multi langage et extensible / Structure multi langage et extensible / Interopérabilité des langages.Interopérabilité des langages.
Installation des Web Services automatisée.Installation des Web Services automatisée.

Les moinsLes moins
Problème de sécurité : pas approprié dans le Problème de sécurité : pas approprié dans le cadre de développement Internet où l’utilisateur cadre de développement Internet où l’utilisateur n’a pas forcément un compte Windows.n’a pas forcément un compte Windows.
Ne fonctionne que sur les systèmes Windows.Ne fonctionne que sur les systèmes Windows.

SourcesSources
wikipedia : http://fr..wikipedia.orgwikipedia : http://fr..wikipedia.org développez.com : http://dotnet.developpez.com/ développez.com : http://dotnet.developpez.com/ msdn : http://msdn.microsoft.commsdn : http://msdn.microsoft.com Codeguru : http://www.codeguru.comCodeguru : http://www.codeguru.com ZDnet: http://www.zdnet.fr/ZDnet: http://www.zdnet.fr/ Elcom: Elcom: http://www.elcom.com.au/http://www.elcom.com.au/
Tom Gardill : The .NET Virtual MachineTom Gardill : The .NET Virtual Machine