Créer une architecture distribuée.net



Documents pareils
DotNet. Plan. Les outils de développement

.NET remoting. Plan. Principes de.net Remoting

Le Framework.Net. Introduction. Pourquoi.Net?

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués

CAHIER DES CHARGES D IMPLANTATION

Comparaison des architectures J2EE et.net

Urbanisation et architecture des systèmes d information

Mise en œuvre des serveurs d application

Hébergement de sites Web

Introduction aux «Services Web»

Formation en Logiciels Libres. Fiche d inscription

Module.NET 3 Les Assemblys.NET

Vulgarisation Java EE Java EE, c est quoi?

Systèmes répartis. Fabrice Rossi Université Paris-IX Dauphine. Systèmes répartis p.1/49

DotNet. Présentation de l'offre

Technologies DotNET. Vision de Microsoft

Remote Method Invocation (RMI)

Point sur les solutions de développement d apps pour les périphériques mobiles

Module BD et sites WEB

Nouvelles Plateformes Technologiques

Programmation Web Avancée Introduction aux services Web

Environnements de Développement

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

Intergiciel - concepts de base

Systèmes d'informations historique et mutations

Introduction aux. services web 2 / 2

Java Naming and Directory Interface

RMI le langage Java XII-1 JMF

PHP et le Cloud. All rights reserved. Zend Technologies, Inc.

Introduction à la plateforme J2EE

OPC Factory Server- Réglage des paramètres de communication

Le cadre des Web Services Partie 1 : Introduction

Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web»

RMI. Remote Method Invocation: permet d'invoquer des méthodes d'objets distants.

XML, PMML, SOAP. Rapport. EPITA SCIA Promo janvier Julien Lemoine Alexandre Thibault Nicolas Wiest-Million

ArcGIS Mobile 9.3. Cédric Pesty Gael Simon. Conférence SIG 2008 Ateliers Techniques. S'il vous plait! Merci d'éteindre vos appareils portables

Développer des Applications Internet Riches (RIA) avec les API d ArcGIS Server. Sébastien Boutard Thomas David

TD Objets distribués n 3 : Windows XP et Visual Studio.NET. Introduction à.net Remoting

Les nouvelles architectures des SI : Etat de l Art

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki

Prise en compte des ressources dans les composants logiciels parallèles

les techniques d'extraction, les formulaires et intégration dans un site WEB

Assurances & Mutuelles, Industrie, Santé, Énergie, Transport, Médias / Multimédias, Télécoms, Services

JOnAS Day 5.1. Clustering

PRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES

Introduction à Microsoft InfoPath 2010

Virginie!SALAS Janvier!09! NFE107

Web Tier : déploiement de servlets

Jean-Philippe VIOLET Solutions Architect

Catalogue des Formations Techniques

Architectures n-tiers Intergiciels à objets et services web

Apache Camel. Entreprise Integration Patterns. Raphaël Delaporte BreizhJUG

Groupe Eyrolles, 2004 ISBN :

Compte Rendu d intégration d application

TP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web.

Architectures web/bases de données

Ingénieur Développement Nouvelles Technologies

Notre Catalogue des Formations IT / 2015

Intégration d'applications à "gros grain" Unité d'intégration : le "service" (interface + contrat)

NFP111 Systèmes et Applications Réparties

Auto-évaluation Aperçu de l architecture Java EE

Architectures Web Services RESTful

CORBA. (Common Request Broker Architecture)

Architecture Orientée Service, JSON et API REST

Notions fondamentales du langage C# Version 1.0

Jahia. Guillaume Monnette École Ingénieurs 2000 Marne-La-Vallée IR3

Fiche de l'awt Sites dynamiques et bases de données

2 Chapitre 1 Introduction

Urbanisation des Systèmes d'information

Formateur.NET expérimenté Forte expertise dans la conception et le développement d applications.net, associée à une grande pédagogie

4. SERVICES WEB REST 46

MSDN Academic Alliance Département SRC Vichy

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Composants Logiciels. Le modèle de composant de CORBA. Plan

Analyse des techniques et des standards pour l interopérabilité entre plateformes

Chapitre 1 Windows Server

Guide d installation de ArcGIS server 9.3.1

< Atelier 1 /> Démarrer une application web

Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/ Vue générale 2 - Mon premier programme 3 - Types de Programme Java

SOAP Concepts Application à Glassfish

Moderniser. le système d information et le portefeuille applicatif.

Déployer une application cliente avec le Framework.NET 3.5 Client Profile

Urbanisation des SI. Des composants technologiques disponibles. Urbanisation des Systèmes d'information Henry Boccon Gibod 1

Avant-propos 1. Avant-propos Organisation du guide À qui s'adresse ce guide?...4

Cadrage fonctionnel et technique des sites Visa Premier et Infinite. Réalisation des déploiements pour l hébergeur.

Développement d applications Internet et réseaux avec LabVIEW. Alexandre STANURSKI National Instruments France

Sql Server 2000, 2005, 2008 R2 o T-SQL o Création d'un modèle de données o Full text search o Administration Oracle 9i, Oracle 11g

JOnAS 5. Serveur d application d

L3 informatique TP n o 2 : Les applications réseau

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

Technologies Web. Ludovic Denoyer Sylvain Lamprier Mohamed Amine Baazizi Gabriella Contardo Narcisse Nya. Université Pierre et Marie Curie

Les Services Web. Jean-Pierre BORG EFORT

TP1 : Initiation à Java et Eclipse

Java pour le Web. Cours Java - F. Michel

Développement d une application ASP.NET avec Base de données SQL Server

Olivier Deheurles Ingénieur conception et développement.net

Application Web et J2EE

Catalogue des formations 2014

Transcription:

Ingénieurs 2000 Exposé Système & Réseaux 2006/2007 Créer une architecture distribuée.net Concepts et exemples

1. Présentation du Framework.NET 2. Créer et utiliser des services Web 3. Comment créer des objets distribués à l aide de.net Remoting? 4. Communiquer entre Java et.net 2

Qu est-ce que.net?.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. 3

Le Framework.NET Une machine virtuelle CLR (Common Language Runtime). Pas de code natif : utilisation d un langage intermédiaire le MSIL (MicroSoft Intermediate Language). Support de 51 langages de programmation (C#, J#, VB.NET, COBOL, Perl, Python, etc.). L introduction d un nouveau langage C# (entre C++ et Java) Une bibliothèque de classes extensibles, regroupées par namespace en C# 4

L environnement de développement Installer le Framework.NET SDK. Utiliser un éditeur et l aide en ligne MSDN. Déploiement au sein du répertoire d'exécution de l application, ou dans le GAC (Global Assembly Cache) ou dans le Download Cache pour les programmes télechargés. Lancer l application. 5

.NET Framework et Linux 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) 6

Comprendre les services web XML Qu est-ce qu un service web? Dans quel cas l utiliser? 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 7

Créer un service Web.NET (1/2) Déclarer un service Web (.ASMX) <%@ WebService Class="NomEspaceDeNom.NomClasse, NomAssemblage" %> 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(Namespace=http://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 8

Créer un service Web.NET (2/2) 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://<host>/<url>/<fichier>.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://<host>/<url>/<fichier>.asmx Description de service Web (.wsdl) http://<host>/<url>/<fichier>.asmx?wsdl 9

Utiliser un service web (1/2) 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. 10

Utiliser un service web (2/2) Créer d un formulaire Web client utilisant le web service HelloWorld Créer un fichier nommé Hello.aspx Copier l assemblage 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 11

Présentation de.net Remoting Qu est-ce que.net Remoting? Dans quel cas l employer? 12

Créer un objet Hello distribué Création de l objet servant class HelloServant : MarshalByRefObject Ouvrir un canal et publier l'objet sur le serveur TcpChannel chan = new TcpChannel(1234); ChannelServices.RegisterChannel(chan, false); RemotingConfiguration.RegisterWellKnownS ervicetype(type, url, modetransmission) Ecrire le client (HelloServant)Activator.GetObject(typeof(H elloservant), "tcp://localhost:1234/sayhello"); Compilation, déploiement et exécution Démonstration et test 13

Comparaison avec RMI Tableau de synthèse.net Remoting RMI Proxy (client) Dynamique Statique (rmic) ou dynamique Squelettes (serveur) Intégré au framework Intégré au framework Objet distribué Classes Interface Remote Configuration Fichier XML System Property Annuaire Distribué Aucun RmiRegistry Ajout de protocoles Channels SocketFactoryImpl Ajout de formats Formatters Serialization Activation SingleCall, Singleton API coté serveur Activable Objects CustomProxy Custom RealProxy Dynamic Proxy Protocoles existants HTTP, TCP, SOAP JRMP, IIOP, T3 (WebLogic) Gestion d erreur Exceptions Remote Exceptions Remote Plus simple que RMI dans la mise en œuvre. Absence de service de nommage, utilisation d'annuaires (LDAP) à travers l'api System.DirectoryServices 14

Présentation de IIOP.NET RMI Client IIOP Client HTTP Client.NET App SOAP Client HTTP Client HTTP Engine IIS HTTP Engine EJB Container JSP Servlet Servlet Container J2EE Server? IIOP.NET Component Component CLR Host ASMX Controls ASPX ASP.NET CLR Platform LDAP SQL JMS IIOP??? RDBMS JDBC Message Queue SOAP CORBA Server Other Resource System.Directory ADO.NET RDBMS MSMQMessage Queue??? Other Server Other Resource 15

Présentation de IIOP.NET 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 16

? 17

Liens et références utiles 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_applications/default.aspx Framework: http://www-igm.univ-mlv.fr/~dr/xpose2002/dotnet/introdotnet_index.html http://www-igm.univ-mlv.fr/~dr/xpose2002/tedeschi/ Linux: ASP.NET Mono : http://www.mono-project.com/asp.net DotGNU Portable.NET: http://dotgnu.org/pnet.html Rotor : http://msdn.microsoft.com/msdnmag/issues/02/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 http://www.dotnetguru.org/articles/interopws/interopwsjavadotnet.htm http://www.dotnetguru.org/articles/webservices/webservices.htm http://rangiroa.essi.fr/cours/travail-etudiant/01-castejon-corbucci-delattre-weber/jerome.htm http://www.microsoft.com/france/msdn/webservices/miseenroutewebxml.mspx http://uddi.microsoft.com.net Remoting http://www.dotnetguru.org/articles/coucheservice.htm http://www.dotnetguru.org/articles/remotingrmi.htm http://www.dotnetguru.org/articles/stateful/stateful.htm http://www.dotnetguru.org/articles/perfs/perfremoting.htm http://www.dotnetguru.org/articles/customproxy.htm http://www.dotnetguru.org/articles/ldap/ldapdotnet.html Advanced.Net Remoting (Broché) de Ingo Rammer IIOP.NET et Remoting.CORBA http://iiop-net.sourceforge.net/ http://www.dotnetguru.org/articles/articlets/iiopchannel/iiopremoting.htm http://www.dotnetguru.org/articles/reflexion/corbadotnet/corbadotnet.htm http://www.codeproject.com/csharp/dist_object_system.asp 18