Applications Réparties. Département Sciences Informatiques SI 4 ème année



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

18 TCP Les protocoles de domaines d applications

Application Web et J2EE

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

(structure des entêtes)

Serveurs de noms Protocoles HTTP et FTP

Introduction à HTTP. Chapitre HTTP 0.9

WebDAV en 2 minutes. Tous ces objectifs sont complémentaires et ils sont atteints grâce au seul protocole WebDAV. Scénarii

Gilles.Roussel univ-mlv.fr HTTP/1.1 RFC 2068

1 Introduction Propos du document Introduction De HTTP 1.0 à HTTP

Programmation Web. Introduction

Programmation Internet Cours 4

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

Les Architectures Orientées Services (SOA)

Configurer le Serveur avec une adresse IP Statique (INTERFACE :FastEthernet) : et un masque

HTTP HTTP. IUT1 dpt SRC L Isle d Abeau Jean-françois Berdjugin. Introduction et architecture Messages Authentification Conclusion

Un exemple d'authentification sécurisée utilisant les outils du Web : CAS. P-F. Bonnefoi

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

HTTP 1.1. HyperText Transfer Protocol TCP IP ...

Dans l'épisode précédent

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

4. SERVICES WEB REST 46

Introduction aux «Services Web»

Cours CCNA 1. Exercices

Le protocole HTTP. 10 minutes pour comprendre. HTTP/0.9 - Lacunes et limitations HTTP/1.0 HTTP/1.1

Programmation Web Avancée Introduction aux services Web

Présentation Internet

Internets. Informatique de l Internet: le(s) Internet(s) Composantes de l internet R3LR RENATER

COMPRENDRE L ARCHITECTURE DES WEB SERVICES REST. Amosse EDOUARD, Doctorant

L identité numérique. Risques, protection

Architectures en couches pour applications web Rappel : Architecture en couches

Module BD et sites WEB

Le réseau Internet.

Les Services Web. Jean-Pierre BORG EFORT

Protocoles Applicatifs

SYSTEME DE GESTION DES ENERGIES EWTS EMBEDDED WIRELESS TELEMETRY SYSTEM

Les serveurs. UE 103b. Guillaume Burel.

Réseaux et protocoles Damien Nouvel

Architectures web/bases de données

Services sur réseaux. Trois services à la loupe. Dominique PRESENT Dépt S.R.C. - I.U.T. de Marne la Vallée

I. Descriptif de l offre. L offre Sage 100 Entreprise Edition Entreprise

Sécurité des Web Services (SOAP vs REST)

SIP. Sommaire. Internet Multimédia

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

Architectures n-tiers Intergiciels à objets et services web

SIP A. Aoun - La Visioconférence SIP - 1

Applications et Services WEB: Architecture REST

Glossaire. ( themanualpage.org) soumises à la licence GNU FDL.

Mr. B. Benaissa. Centre universitaire Nâama LOGO

RFC 7230 : Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing

Hébergement de site web Damien Nouvel

La mémorisation des mots de passe dans les navigateurs web modernes

Découvrez notre solution Alternative Citrix / TSE

Plan Général Prévisionnel (1/2) Internet et Outils L1/IO François Armand. Plan Général Prévisionnel (2/2) Unix, Réseau: Plan

Hébergement de sites Web

Cisco Certified Network Associate

Les services usuels de l Internet

Systèmes d'informations historique et mutations

Sur un ordinateur exécutant Windows 2000 Server Ayant une adresse IP statique

Plan du cours. Autres modèles pour les applications réparties Introduction. Mode de travail. Introduction

Le serveur HTTPd WASD. Jean-François Piéronne

SIP. Plan. Introduction Architecture SIP Messages SIP Exemples d établissement de session Enregistrement

Proxies,, Caches & CDNs

Messagerie asynchrone et Services Web

Activité sur Meteor. Annexe 1 : notion de client-serveur et notion de base de données

Qu est ce qu Internet. Qu est-ce qu un réseau? Internet : à quoi ça sert? présentation des services. Exemple de configuration. Rôles des éléments

Développement des Systèmes d Information

25 septembre Migration des accès au Registre national en protocole X.25 vers le protocole TCP/IP, pour les utilisateurs du Registre national

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux

Table des matières Hakim Benameurlaine 1

Le cadre des Web Services Partie 1 : Introduction

Prérequis techniques

1. Mise en œuvre du Cegid Web Access Server en https

CS REMOTE CARE - WEBDAV

Chapitre VII : Principes des réseaux. Structure des réseaux Types de réseaux La communication Les protocoles de communication

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

Outils de l Internet

L annuaire et le Service DNS

Architecture Orientée Service, JSON et API REST

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

Mise en œuvre des serveurs d application

Guide de migration BiBOARD V10 -> v11

Développement d'un logiciel VoIP BlackBerry

Guide d installation BiBOARD

Teste et mesure vos réseaux et vos applicatifs en toute indépendance

CORBA. (Common Request Broker Architecture)

Les nouveautés d AppliDis Fusion 4 Service Pack 3

Technologies pour Web Services faciles : REST, JSON

Couche application. La couche application est la plus élevée du modèle de référence.

Vulnérabilités et sécurisation des applications Web

NFP111 Systèmes et Applications Réparties

Push API Technical Specifications V1.0

Configuration Matérielle et Logicielle AGORA V2

Pré-requis installation

Configuration du driver SIP dans ALERT. V2

Groupe Eyrolles, 2004, ISBN :

Communiqué de lancement. Sage 100 Entreprise Edition Etendue Module CRM inclus

Application des Spécifications détaillées pour la Retraite, architecture portail à portail


Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui

Transcription:

Applications Réparties Département Sciences Informatiques SI 4 ème année 1

Applications Réparties? Ensemble de processus (objets, agents, acteurs) qui: Communiquent entre eux via un réseau Evoluent de manière cohérente Remplissent une fonction identifiable Ne sont pas forcément interdépendants Source: Sacha Krakowiak 23/02/2010 Présentation: S. Lavirotte Auteurs : et al* 2

Motivations et Modèles Une évolution logique Généralisation des équipements communicants Interconnexion et haut débit généralisés Répond aux problématiques de passage à l échelle de tolérance aux pannes d évolutivité Modèles de programmation: Synchrone (RPC, RMI...) Asynchrone (Evènements) Ressources partagées (mémoire partagée, systèmes de fichiers répartis) Code mobile Peer to peer 23/02/2010 Présentation: S. Lavirotte Auteurs : et al* 3

Programme du Cours Du Web aux Web Services (S. Lavirotte) Couche Transport (exemple HTTP et Serveur Web) Introduction aux Web Services Généralités Architecture Appels de procédures distants: RPC (exemple SOAP) Interface publique de service (exemple WSDL) Bus Logiciel (M. Blay-Fornarino, A.-M. Pinna-Dery) Introduction au Bus Logiciel & RMI RMI et Sécurité (JAAS) Introduction à Corba RMI Corba IIOP Nommage (M. Blay-Fornarino, S. Lavirotte) Annuaire et JNDI UDDI Evénements (M. Blay-Fornarino, S. Lavirotte, A.-M. Pinna-Dery) JMS Introduction à UPnP 23/02/2010 Présentation: S. Lavirotte Auteurs : et al* 4

De Nombreux Intervenants Pour les cours: Mireille Blay-Fornarino Stéphane Lavirotte Anne-Marie Pinna-Dery Pour les Travaux Dirigés: Mireille Blay-Fornarino Nicolas Ferry Stéphane Lavirotte Dino Lopez-Pacheco Anne-Marie Pinna-Dery 23/02/2010 Présentation: S. Lavirotte Auteurs : et al* 5

Du Web aux Web Services Stéphane Lavirotte Dino Lopez-Pacheco Nicolas Ferry (*) D après les cours de Jean-Yves Tigli, Gaëtan Rey, Stéphane Lavirotte, Michel Riveill, Sacha Krakowiak, Didier Donsez, et Keith Ross et http://abcdrfc.free.fr/ 23/02/2010 Présentation: S. Lavirotte Auteurs : et al* 6

Du Web aux Web Services Présentation du Cours Cours 1 et 2 : Couche Transport * (exemple HTTP et Serveur Web) Cours 3 à 5: Introduction aux Web Services Généralités Architecture Appels de procédures distants: RPC (exemple SOAP) Interface publique de service (exemple WSDL) Cours 11: Nommage (UDDI) Evénements (Introduction UPnP) Conclusion 23/02/2010 Présentation: S. Lavirotte Auteurs : et al* 7

Du Web aux Web Services Travaux Dirigés: TD n 1 : Conception d'un serveur HTTPD (liaison avec le module Internet et Réseau) TD n 2 : Administration HTTPD / Apache TD n 3 : Web Services avancés sous.net (C#) TD n 4 : Interopérabilité : WS avec gsoap (C++) TD n 5 : Interopérabilité : WS avec Apache Axis (Java) TD n 11 : UDDI sous.net (C#) 23/02/2010 Présentation: S. Lavirotte Auteurs : et al* 8

Quelques Définitions 23/02/2010 Présentation: S. Lavirotte Auteurs : et al* 9

Le Jargon du Web Page Web: Pointés par une URL La plupart des pages WEB se composent de: Une page HTML de base, Différentes références à des «objets» L agent utilisateur pour le Web s appel un browser (butineur en français) Microsoft Internet Explorer, Mozilla FireFox, Opera, Safari, Google Chrome, Un serveur pour le Web s appelle un serveur Web : Apache, Microsoft Internet Information Server (IIS), 23/02/2010 Présentation: S. Lavirotte Auteurs : et al* 10

URx: Uniform Resource Une URL (Uniform Resource Locator) a au moins trois champs (protocole, adresse, emplacement) : Le protocole: http suivi de : Le nom complet de la ressource: données d authentification à la ressource (// login : password @ nom domaine : port) Nom de la ressource sur le service auquel on est connecté Données supplémentaires optionnelles transmises Un URN (Uniform Resource Name) Identifie une ressource par un nom dans un espace de nommage (identifie la ressource et pas sa localisation) urn:nid:nss Plus généralement un URI (Uniform Resource Identifier) Peut être une URL ou un URN 23/02/2010 Présentation: S. Lavirotte Auteurs : et al* 11

Le Protocole HTTP HyperText Transfert Protocol HTTP 1.0 : RFC 1945 HTTP 1.1 : RFC 2616 23/02/2010 Présentation: S. Lavirotte Auteurs : et al* 12

Introduction Les Principes et Eléments de base du Protocole 23/02/2010 Présentation: S. Lavirotte Auteurs : et al* 13

HyperText Transfer Protocol HTTP : HyperText Transfert Protocole Un des protocole les plus courants sur Internet Un protocole omni-présent: de IT à Embedded Il est utilisé pour la navigation sur les sites Web protocole de rapatriement des documents protocole de soumission de formulaires Il en existe trois versions : 0.9 (1991) : complètement obsolète 1.0 (février 1997), de nos jours très rarement utilisée 1.1 (octobre 2000). Les principaux changements entre les v1.0 et v1.1 sont l'ajout de 2 types de requêtes ainsi que la possibilité d'héberger plusieurs sites Web sur un même serveur dans la version 1.1. 23/02/2010 Présentation: S. Lavirotte Auteurs : et al* 14

Un Modèle Client - Serveur Modèle Client / Serveur client: «browser» qui demande, reçoit et affiche des documents Web. server: serveur Web qui envoie des documents en réponse aux requêtes des clients. L'échange entre le client et le serveur se fait en mode texte. Le charset généralement utilisé est l'us-ascii sur 8 bits. Il est cependant possible que cet encodage soit modifié selon le client ou le serveur. 23/02/2010 Présentation: S. Lavirotte Auteurs : et al* 15

Principe de Fonctionnement de HTTP : TCP transport service HTTP Le client initialise une connexion TCP/IP (voir sockets) sur le serveur et le port 80. Le serveur accepte la connexion du client et fournit un port de communication (utilisateur). Les messages http (messages au protocole de l application) sont échangés entre le client http et le serveur http. Enfin, la connexion TCP/IP est fermée. HTTP est stateless Le serveur ne maintient pas d information sur les requêtes passées du client. 23/02/2010 Présentation: S. Lavirotte Auteurs : et al* 16

Zoom sur un Exemple de Communication 1. Le client http initialise une connexion TCP sur le serveur http www.unice.fr. (sur le port 80) 2. Le serveur http www.unice.fr en l attente de connexions sur le port 80, accepte la demande de connexion du client 3. Le client http envoie un message de requête (contenant l URL) au travers le socket de communication TCP. 4. Le serveur http reçoit le message de requête, compose le message de réponse contenant les objets demandés et renvoie le message au travers le socket de communication. 5. Le client http reçoit le message de réponse contenant le fichier HTML et l affiche. 6. Le serveur http ferme la connexion. 7. En «parsant» le fichier HTML, le client http trouve 10 références à des objets jpeg. Les étapes 1 à 6 sont répétées pour chaque référence aux 10 objets jpeg. 23/02/2010 Présentation: S. Lavirotte Auteurs : et al* 17

Persistances des Connexions Connexions non-persistantes HTTP/1.0 Le serveur «parse» la requête, répond et ferme la connexion. Ralentit la récupération de la page complète Mais la plupart des «browsers» 1.0 utilise des connexions parallèles Connexions persistantes Par défaut pour HTTP/1.1 Durant une même connexion TCP, le serveur «parse» une requête, répond puis recommence.. Le client envoie des requêtes pour tous les objets référencés aussitôt qu il reçoit la page HTML de base. Accélère la récupération de la page complète 23/02/2010 Présentation: S. Lavirotte Auteurs : et al* 18

En résumé Le fonctionnement de HTTP est très simple pour HTTP/1.0 connexion demande (GET) d un document renvoi du document (status=200) ou d une erreur Déconnexion Cependant Dialogue plus complexe en cas d authentification Optimisation : une série de plusieurs requêtes sur une connexion [Connexion «KeepAlive» de HTTP/1.1 (RFC 2068)] 23/02/2010 Présentation: S. Lavirotte Auteurs : et al* 19

Dialogue HTTP Dialogue en mode caractères ASCII (7 bits) telnet www.sun.com 80 Types de dialogue Récupération d un document méthode GET Soumission d un formulaire méthodes GET ou POST Envoi de Document et Gestion de Site méthodes PUT, DELETE, LINK, UNLINK Gestion de proxy/cache méthode HEAD (récupération des informations sur le document) 23/02/2010 Présentation: S. Lavirotte Auteurs : et al* 20

Structure Les requêtes et les réponses sont bâties sur le même modèle {Ligne d'introduction}{sep} {En-têtes séparées par des {SEP}} {SEP}{SEP} {Corps} Le seul élément capable de différencier une requête d'une réponse, c'est la Ligne d'introduction. 23/02/2010 Présentation: S. Lavirotte Auteurs : et al* 21

Format de la Requête Source: Didier Donsez 23/02/2010 Présentation: S. Lavirotte Auteurs : et al* 22

Méthodes de la Requête GET demande pour obtenir des informations et une zone de données concernant l URI HEAD demande pour seulement obtenir des informations concernant l URI POST envoie de données (contenu du formulaire vers le serveur, requête SOAP ). Ces données sont situées après l entête et un saut de ligne PUT enregistrement du corps de la requête à l URI indiqué DELETE suppression des données désignées par l URI 23/02/2010 Présentation: S. Lavirotte Auteurs : et al* 23

Méthodes de la Requête OPTIONS TRACE demande des options de communication disponibles retourne le corps de la requête intacte (débogage) LINK / UNLINK association (et désassociassion) des informations de l entête au document sur le serveur Nouvelles extensions de WebDAV PROPFIND, PROPPATCH, MKCOL,COPY, MOVE, LOCK, UNLOCK Nouvelles extensions HTTP/U HTTP/MU NOTIFY, (UPnP) 23/02/2010 Présentation: S. Lavirotte Auteurs : et al* 24

Champs d Entête Ils permettent la transmission d'informations complémentaires sur la requête, et le client lui-même. Ces champs agissent comme "modificateurs" de la requête, utilisant une sémantique identique à celle des paramètres passés par un appel d'une méthode de langage de programmation de haut niveau. 23/02/2010 Présentation: S. Lavirotte Auteurs : et al* 25

Format de la Réponse Source: Didier Donsez 23/02/2010 Présentation: S. Lavirotte Auteurs : et al* 26

1xx Information Statuts des Réponses HTTP (RFC2068) 100 : Continue (le client peut envoyer la suite de la requête),... 2xx Succès de la requête client 200: OK, 201: Created, 204 : No Content,... 3xx Redirection de la Requête client 301: Redirection, 302: Found, 304: Not Modified, 305 : Use Proxy, 4xx Requête client incomplète 400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found 5xx Erreur Serveur 500: Server Error, 501: Not Implemented, 502: Bad Gateway, 503: Out Of Resources (Service Unavailable) 23/02/2010 Présentation: S. Lavirotte Auteurs : et al* 27