Title: Nom de la pr
1Ingénieurs 2000 Exposé Système Réseaux 2006/2007
Steven JABBOUR IR3
Créer une architecture distribuée .NET Concepts
et exemples
2Plan
- Plan
- Le Framework .NET
- Services Web
- .NET Remoting
- IIOP .NET
- Questions
- Présentation du Framework .NET
- Créer et utiliser des services Web
- Comment créer des objets distribués à laide de
.NET Remoting ? - Communiquer entre Java et .NET
3Quest-ce que .NET ?
- Plan
- Le Framework .NET
- Services Web
- .NET Remoting
- IIOP .NET
- Questions
- .NET ensemble de technologies basé sur 4
composants - les périphériques clients (pc, pda, etc.),
- les services Web fondamentaux (.NET Passport,
exemple avec MSN), - les outils .NET Framework, Visual Studio .NET,
- les serveurs .NET Entreprise Server.
4Le Framework .NET
- Plan
- Le Framework .NET
- Services Web
- .NET Remoting
- IIOP .NET
- Questions
- Une machine virtuelle CLR (Common Language
Runtime). - Pas de code natif utilisation dun langage
intermédiaire le MSIL (MicroSoft Intermediate
Language). - Support de 51 langages de programmation (C, J,
VB.NET, COBOL, Perl, Python, etc.). - Lintroduction dun nouveau langage C (entre C
et Java) - Une bibliothèque de classes extensibles,
regroupées par namespace en C
5Lenvironnement de développement
- Plan
- Le Framework .NET
- Services Web
- .NET Remoting
- IIOP .NET
- Questions
- Installer le Framework .NET SDK.
- Utiliser un éditeur et laide en ligne MSDN.
- Déploiement au sein du répertoire d'exécution de
lapplication, ou dans le GAC (Global Assembly
Cache) ou dans le Download Cache pour les
programmes télechargés. - Lancer lapplication ?.
6.NET Framework et Linux
- Plan
- Le Framework .NET
- Services Web
- .NET Remoting
- IIOP .NET
- Questions
- Début du portage du framework .Net
- Différents projets
- Mono par le créateur de gnome
- V1.1 et v2.0 partiellement supportée
- GNU Portable DotNet
- Rotor (FreeBSD)
- Module pour Apache (mod_mono)
- Ouverture des standards via CLI (Common Language
Infrastructure)
7Comprendre les services web XML
- Plan
- Le Framework .NET
- Services Web
- .NET Remoting
- IIOP .NET
- Questions
- Quest-ce quun service web?
- Dans quel cas lutiliser?
- Un peu de vocabulaire
- SOAP (Simple Object Access Protocol)
- WSDL (Web Service Definition Language)
- UDDI (Universal Description, Discovery and
Integration) - La mise en œuvre sous .NET
8Créer un service Web .NET (1/2)
- Déclarer un service Web (.ASMX)
- lt_at_ WebService Class"NomEspaceDeNom.NomClasse,
NomAssemblage" gt - 1 fichier ASMX associé à une seule classe
- Créer la classe du service Web
- Hériter de System.Web.Services.WebService
- Spécifier l'espace de noms XML
- WebService(Namespacehttp//bill.com)
- Exposer des "Web" méthodes
- WebMethod(Description"Hello world")
- Un service web peut renvoyer ou accepter en
entrée des types primitifs (string, int) ou
complexes (Classes XmlDocument, DataSet
Structures ) sérialisés avec SOAP sinon avec
HTTP GET ou HTTP POST uniquement des string
- Plan
- Le Framework .NET
- Services Web
- .NET Remoting
- IIOP .NET
- Questions
9Créer un service Web .NET (2/2)
- Plan
- Le Framework .NET
- Services Web
- .NET Remoting
- IIOP .NET
- Questions
- Publier le service web
- Solution simple diffusion interne via l'URL
- Solutions basées sur Internet
- Publier via un document de découverte XML .disco
de manière statique, - http//lthostgt/lturlgt/ltfichiergt.asmx?DISCO
- Découverte dynamique via fichier .vsdisco
- Publier via le service UDDI
- Test dans un navigateur du service web
- Affichage de la documentation
- http//lthostgt/lturlgt/ltfichiergt.asmx
- Description de service Web (.wsdl)
- http//lthostgt/lturlgt/ltfichiergt.asmx?WSDL
10Utiliser un service web (1/2)
- Plan
- Le Framework .NET
- Services Web
- .NET Remoting
- IIOP .NET
- Questions
- Localiser un service web
- Soit par les fichiers .disco (disco.exe)
- Soit par les services UDDI
- Créer une classe proxy pour le service web
- générer par Visual Studio ou utiliser wsdl.exe
fourni avec le framework.
11Utiliser un service web (2/2)
- Plan
- Le Framework .NET
- Services Web
- .NET Remoting
- IIOP .NET
- Questions
- Créer dun formulaire Web client utilisant le web
service HelloWorld - Créer un fichier nommé Hello.aspx
- Copier lassemblage du web service sous bin
- Ajout des imports nécessaires à la page
- Modification du call-back Page_Load
- Test du résultat dans un navigateur
- Créer une application console client utilisant un
web service récupérant des données en base - Démonstration et test ?
12Présentation de .NET Remoting
- Plan
- Le Framework .NET
- Services Web
- .NET Remoting
- IIOP .NET
- Questions
- Quest-ce que .NET Remoting?
- Dans quel cas lemployer?
13Créer un objet Hello distribué
- Plan
- Le Framework .NET
- Services Web
- .NET Remoting
- IIOP .NET
- Questions
- Création de lobjet servant
- class HelloServant MarshalByRefObject
- Ouvrir un canal et publier l'objet sur le serveur
- TcpChannel chan new TcpChannel(1234)
- ChannelServices.RegisterChannel(chan, false)
- RemotingConfiguration.RegisterWellKnownServiceType
(type, url, modetransmission) - Ecrire le client
- (HelloServant)Activator.GetObject(typeof(HelloServ
ant), "tcp//localhost1234/SayHello") - Compilation, déploiement et exécution
- Démonstration et test ?
14Comparaison avec RMI
- Plan
- Le Framework .NET
- Services Web
- .NET Remoting
- IIOP .NET
- Questions
- Plus simple que RMI dans la mise en œuvre.
- Absence de service de nommage, utilisation
d'annuaires (LDAP) à travers l'API
System.DirectoryServices
15Présentation de IIOP .NET
- Plan
- Le Framework .NET
- Services Web
- .NET Remoting
- IIOP .NET
- Questions
?
IIOP.NET
16Présentation de IIOP .NET
- Plan
- Le Framework .NET
- Services Web
- .NET Remoting
- IIOP .NET
- Questions
- Web Services sans état, aucun support pour les
références d'objets distants, SOAP et XML trop
verbeux. - Utilisation d'un canal basé sur le protocole
IIOP. - IIOP.NET agit comme un ORB CORBA, converti les
types .NET en type CORBA. - RMI/IIOP et IIOP.NET implémentent les mêmes
fonctionnalités de la norme CORBA - D'autres projets existent tel que Remoting.Corba
ou Janeva, mais pas libre ou pas d'outil de
génération de la description IDL
17Questions ?
- Plan
- Le Framework .NET
- Services Web
- .NET Remoting
- IIOP .NET
- Questions
18Liens et références utiles
- Plan
- Le Framework .NET
- Services Web
- .NET Remoting
- IIOP .NET
- Questions
- Liens
- .NET
- Sites consacrés à .NET
- http//www.gotdotnet.com/
- .NET 3.0
- http//www.microsoft.com/france/msdn/netframework/
3/default.mspx - http//wcf.netfx3.com/files/folders/distributed_ap
plications/default.aspx - Framework
- http//www-igm.univ-mlv.fr/dr/XPOSE2002/Dotnet/in
trodotnet_index.html - http//www-igm.univ-mlv.fr/dr/XPOSE2002/Tedeschi/
- Linux
- ASP.NET Mono http//www.mono-project.com/ASP.N
ET - DotGNU Portable.NET http//dotgnu.org/pnet.html
- Rotor http//msdn.microsoft.com/msdnmag/issues/0
2/07/SharedSourceCLI/ - ASP.NET
- ASP.NET Etape par étape de G. Andrew Dutchie
- La fameuse MSDN
- http//msdn2.microsoft.com/fr-fr/default.aspx
- Web Services