Title: La nouvelle plateforme de dveloppement de Microsoft
1La nouvelle plateforme de développement de
Microsoft
- Marc Matiachoff
- .NET Developer Evangelist
- marcma_at_microsoft.com
2Un petit peu de marketing avant de
commencer!Cela ne peut pas faire de mal
3Loffre .Net de Microsoft
4Fin du marketing pour aujourdhui!
5Agenda
- Visual Basic.NET C.NET
- Le CLR le .NET Framework
- Laccès aux données ADO.NET
- Les Windows Web Forms
- Les Services Web XML
6Agenda
- Visual Basic.NET C.NET
- Le CLR le .NET Framework
- Laccès aux données ADO.NET
- Les Windows Web Forms
- Les Services Web XML
7Visual Basic.NET C.NET
8Agenda
- Les nouveautés de Visual Basic.NET
- C.NET
9Agenda
- Les nouveautés de Visual Basic.NET
- C.NET
10Visual Basic.Net
- Langage réellement objet
- Support de lhéritage
- Support du multi-threading
- Création de services NT
- Extension .vb
- Compilateur vbc.exe
11VB.NET - Les nouveautés
- Propriétés
- Constructeurs
- Overloading
- Héritage
- Overriding
- Events
- Gestion derreurs
12Propriétés
- Mot-Clé Property
- Permet de déclarer des propriétés (Public,
Friend, ReadOnly, )
13Constructeurs
- Mot-clé New
- Permet de définir son (ses) propre(s)
constructeur(s)
14Overloads
- Mot-clé Overloads
- Permet de fournir plusieurs signatures pour une
même méthode
15Héritage
- Mot-clé Inherits
- Permet dhériter de nimporte quelle classe pour
lenrichir
16Overrides
- Mot-clé Overrides
- Permet d overrider la méthode dune classe
dont on hérite
17Events
- Mot-clé Event
- Permet de déclarer des événements auxquels des
clients sabonnent
18Interface
- Mot-clé Interface
- Permet de déclarer des classes abstraites
19Gestion Erreurs
- Mots-clé Try et Catch
- Gestion derreurs unifiée pour tous les langages
20Coexistence
- Appel de code VB 6.0 depuis VB.NET
- Appel de code VB.NET depuis VB 6.0
- Outil de migration VB 6.0 -gt VB.NET
- Quelques conseilshttp//msdn.microsoft.com/libra
ry/default.asp ?URL/library/techart/vb6tovbdotn
et.htm
21Agenda
- Les nouveautés de Visual Basic.NET
- C.NET
22C - La syntaxe
- Le meilleur du C et de VB
- Développement RAD grâce àVisual Studio.Net
- Langage utilisé à de 80 pour développer le
.Net Framework - Soumis à lECMA
23C et le framework
- C, comme tous les langages s'appuyant sur la
plateforme .Net, peut bénéficier de tous les
services offerts par le .NET Framework. - Il est impératif de regarder dans le détail les
services proposés par ce framework
24Agenda
- Visual Basic.NET C.NET
- Le CLR le .NET Framework
- Laccès aux données ADO.NET
- Les Windows Web Forms
- Les Services Web XML
25Common Language Runtime.NET Framework
26Les langages et la plateforme .Net
Respectent la Common Language Specification (CLS)
Indépendant de la plate-forme hardware
27Les langages et la plateforme .Net
Soumis à lECMA
28Les langages et la plateforme .Net
VB
C
C
J
JScript
Common Language Specification
- La plate-forme .NET est indépendante du langage
- Tous les langages accèdent aux services fournis
par la CLR et le .NET Framework - Langage de Spécification Commun CLS
- Chaque langage utilise et étend leframework .NET
- Les langages .NET sont intéropérables.
29Les langages disponibles
- Managed C
- Visual Basic
- C
- SmallTalk
- Oberon
- Scheme
- Mercury
- Oz
- Objective Caml
- Perl
- Python
- Cobol
- Haskell
- ML
- Jscript
- Ada
- APL
- Eiffel
- Pascal
- Fortran
30La plateforme .Net
Microsoft Intermediate Language (MSIL)
Soumis à lECMA
31Le .Net Framework
Microsoft Intermediate Language (MSIL)
Accessible depuis tous les langages
Common Language Runtime (CLR)
32Le .Net Framework
- Entre lIntermediate Language (IL) et le Common
Language Runtime (CLR) se trouvent les classes du
.Net Framework - Ces classes sont accessibles par tous les
langages puisque accessibles depuis lIL - Une partie de ces classes ont été intégrées dans
les spécificationsdu CLR
33Le Common Language Runtime
- Beaucoup de concepts ont été ramenés à la CLR
- Types unifiés
- Modèle dexception pour tout le monde
-
34Le Common Language Runtime
35Le .Net Framework
36Conclusion
- Le CLR soccupe de lexécution managée de votre
code - Le .NET Framework est à votre disposition
- System.Data, System.XML,
37Conclusion
- Vous êtes développeur VB
- Ce langage a atteint un niveau de puissance
inégalé. Tirez parti au maximum de cette
puissance - Vous êtes développeur C ou Java
- C est le langage de choix. Puissant et moderne.
38Agenda
- Visual Basic.NET C.NET
- Le CLR le .NET Framework
- Laccès aux données ADO.NET
- Les Windows Web Forms
- Les Services Web XML
39ADO.NET
40Architecture Deux niveaux
- Diconnected layer
- Dataset qui cache les données
- Connected layer
- Managed Provider
- Accès physique à la base
41Mode déconnecté
- Les données sont cachées dans les DataSets
- Dans ce modèle on limite les allers retour vers
le serveur - Un DataSet est un cache de data issu dune
database - Notion de virtual data store
- Un DataSet contient une ou plusieurs tables
- Les DataAdapters forment le pont entre DataSet et
Database - Ils chargent les data depuis la Database dans le
DataSet - Ils répercutent les modifications du DataSet vers
la Database selon un batch update model
DataBase
DataAdapters
DataSet
42Data Access Architecture
43ADO et ADO.NET
- Evolution NOT Révolution
- ADO au cur du framework .NET
- Accessible facilement aux développeurs ADO
- ADO .NET propose un support optimum au modèle
déconnecté - Support dXML natif au framework
44Agenda
- Visual Basic.NET C.NET
- Le CLR le .NET Framework
- Laccès aux données ADO.NET
- Les Windows Web Forms
- Les Services Web XML
45Windows Forms
46Le .Net Framework
47Windows Forms
48Agenda
- Visual Basic.NET C.NET
- Le CLR le .NET Framework
- Laccès aux données ADO.NET
- Les Windows Web Forms
- Les Services Web XML
49Web Forms
50Le .Net Framework
51Introduction à ASP.NET
- Développement simplifié
- Programmation événementielle
- Contrôles serveur intelligents
- Support automatique de tous types de clients
- DHTML, HTML 3.2, WML, Pocket PC,
- Séparation du code et de la présentation
52Introduction à ASP.NET
- Support de tous les langages compilés
- Visual Basic .NET, C, Cobol, C, etc.
- Compilé une seule fois
53Contrôles Serveur
- Identifiés par un tag avec runatserver
- ltaspTextBox IdNom runatserver /gt
- Gèrent les événements et le rendu
- Événements Serveur et/ou Client
- Gestion du Postback automatique
- Renvoient du HTML
- Peu ou pas de codage
54Contrôles Serveur
- Entièrement personnalisables
- Application de styles pour les sous contrôles
comme les listes. - Peuvent être imbriqués
- Un seul contrôle peut générer du code pour
différentes plates-formes
55Web Forms
56Agenda
- Visual Basic.NET C.NET
- Le CLR le .NET Framework
- Laccès aux données ADO.NET
- Les Windows Web Forms
- Les Services Web XML
57Les Services Web XML
58Agenda
- Un peu dhistoire
- Un Service Web, cest quoi ?
- Comment faisait-on avant les Services Web ?
- SOAP, WSDL et autres standards
- Les outils Microsoft pour créer des Services Web
59Agenda
- Un peu dhistoire
- Un Service Web, cest quoi ?
- Comment faisait-on avant les Services Web ?
- SOAP, WSDL et autres standards
- Les outils Microsoft pour créer des Services Web
60Une histoire riche doutils
61Une nouvelle ère
1981
PC
Windows
Visual BASIC
MS-DOS
BASIC
62Lhistoire dXML
2001
1997
1998
1999
63Lhistoire dXML
2001
1997
1998
1999
2000
64Lhistoire dXML
2001
1997
1998
1999
2000
65Agenda
- Un peu dhistoire
- Un Service Web, cest quoi ?
- Comment faisait-on avant les Services Web ?
- SOAP, WSDL et autres standards
- Les outils Microsoft pour créer des Services Web
66Un Service Web, cest quoi ?
- Un service Web est une unité logique
applicative accessible en utilisant les
protocoles standard dInternet - Caractéristiques
- Réutilisable
- Indépendamment de
- la plate-forme (UNIX, Windows, )
- limplémentation (VB, C, Java, )
- larchitecture sous-jacente (.NET, J2EE, )
67Les Services WebAu-delà de la navigation
HTML
68Agenda
- Un peu dhistoire
- Un Service Web, cest quoi ?
- Comment faisait-on avant les Services Web ?
- SOAP, WSDL et autres standards
- Les outils Microsoft pour créer des Services Web
69Screen Scraping
70(No Transcript)
71Agenda
- Un peu dhistoire
- Un Service Web, cest quoi ?
- Comment faisait-on avant les Services Web ?
- SOAP, WSDL et autres standards
- Les outils Microsoft pour créer des Services Web
72SOAP, WSDL et autres standards
WSDL
WSDL
Web Service
Client
SOAP (XML)
HTTP
TCP/SSL
73SOAP (Simple Object Access Protocol)
- Format de messages basé sur XML
- Entre autres, SAOP peut représenter des RPC
- Fournit un moyen flexible pour exprimer des types
de données définis par les applications
74SOAP à travers HTTP
- Fonctionne à travers les pare-feu et les proxys
- Bénéficie de lauthentification HTTP
- Supporte le SSL (Secure Socket Layer)
75WSDL (Web Services Description Language)
- Fournit un contrat définissant une interface Web
- Format basé sur le XML
- Peut définir un schéma pour tout type dinterface
(pas uniquement SOAP) - Définit les points darrêt
76SOAP avec WSDL
- Indépendant de la plateforme
- Facile à utiliser
- Permet dêtre découvert (Discovery)
- Permet lagrégation de services
77Autres standards
- DISCO Découverte des services
- UDDI Universal Description Discovery
Integration - Annuaire des pages jaunes pour les services
- Extensions XML
- Signature XML
- Cryptage XML
- Direct Internet Message Encapsulation (DIME)
- Protocoles à base de SOAP
- XML for Analysis (Accès aux données)
- Autres...
78Remettons tout ceci en place...
79Jai trouvé! Voici le serveur hébergeant ce
service web
Quel est le format dappel du service que tu
proposes?
Contrat SOAP
Je recherche un service WEB
Voici mon contrat (WSDL)
Client
Jai compris comment invoquer ton service et je
tenvoie un document XML représentant ma requête
Jai exécuté ta requête et je te retourne le
résultat
80Agenda
- Un peu dhistoire
- Un Service Web, cest quoi ?
- Comment faisait-on avant les Services Web ?
- SOAP, WSDL et autres standards
- Les outils Microsoft pour créer des Services Web
81Les outils Microsoft
- ASP .NET
- Visual Studio .NET
- Importation de Web Services
- ATL Server
- SOAP Toolkit 2.0
- Office XP
- IE Web Services Behavior
- .NET Enterprise Servers
- SQL Server
- BizTalk
- .NET Services (Hailstorm)
82Soap Toolkit 2.0 SP2
- Créer une DLL en Visual Basic 6.0
- Utiliser le WSDL Generator
83Service Web et .NET
- But Création facile de Web Services
- Fichier source (texte editeur notepad)
- Compilé au run-time (identique aux pages ASP.NET)
- Il suffit juste denregistrer le fichier
- Lextension du fichier est .asmx
- Le fichier peut se décomposer en plusieurs
assemblies
84Service Web et .NET
- Editer le fichier .asmx
- Ajout de la directive WebServicelt_at_ WebService
Language"Langage" class "classe" gt - Importer la classe System.Web.Services
- Visual Basic Imports System.Web.Services
- C using System.Web.Services
- Ajouter lattribut WebMethod à chaque méthode
- Visual Basic ltWebMethod()gt
- C WebMethod()
- Optionnel Utiliser lattribut WebService
avant la définition de la classe pour créer un
namespace et une description du service - Visual Basic ltWebService()gt
- C WebService()
85Service Web et .NET
86Code
- lt_at_ WebService Language"c" Class"BasicWS" gt
- using System.Web.Services
- public class BasicWS
-
- WebMethod
- public int Add(int a, int b)
-
- return ab
-
87Pour en savoir plus
- http//msdn.microsoft.com/webservices
- Divers Web Services
- http//www.xmethods.com
- http//www.salcentral.com
- SOAP http//www.w3.org/2000/xp/
- WSDL http//www.w3.org/TR/wsdl
- UDDI http//www.uddi.org/
- SOAP Toolkit 2.0 SP2
- http//msdn.microsoft.com/downloads/default.asp?U
RL/code/sample.asp?url/msdn-files/027/001/580/ms
dncompositedoc.xml
88Questions ?
89(No Transcript)