Introduction aux applications réparties



Documents pareils
Le passage à l échelle de serveur J2EE : le cas des EJB

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

1. Introduction à la distribution des traitements et des données

Tolérance aux Fautes des Grappes d Applications J2EE. Applications Internet dynamiques

Intégration de systèmes

La tête dans les nuages

Conception des systèmes répartis

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

Architectures n-tiers Intergiciels à objets et services web

Cloud et SOA La présence du Cloud révolutionne-t-elle l approche SOA?

Remote Method Invocation en Java (RMI)

C-JDBC. Emmanuel Cecchet INRIA, Projet Sardes.

Module BD et sites WEB

Jean-Philippe Paquette

Messagerie asynchrone et Services Web

NFP111 Systèmes et Applications Réparties

ORACLE 10g Découvrez les nouveautés. Jeudi 17 Mars Séminaire DELL/INTEL/ORACLE

Master Informatique et Systèmes. Architecture des Systèmes d Information. 03 Architecture Logicielle et Technique

Augmenter la disponibilité des applications JEE grâce au clustering : Le projet open source JShaft

Chapitre 1. Infrastructures distribuées : cluster, grilles et cloud. Grid and Cloud Computing

Les nouvelles architectures des SI : Etat de l Art

WEA Un Gérant d'objets Persistants pour des environnements distribués

Description de la formation

Concours interne d ingénieur des systèmes d information et de communication. «Session 2010» Meilleure copie "étude de cas architecture et systèmes"

Cloud Computing : Utiliser Stratos comme PaaS privé sur un cloud Eucalyptus

CNAM Déploiement d une application avec EC2 ( Cloud Amazon ) Auteur : Thierry Kauffmann Paris, Décembre 2010

Plan du Travail. 2014/2015 Cours TIC - 1ère année MI 30

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

Objectif. Participant. Prérequis. Pédagogie. Oracle Enterprise Manager 10g Grid Control Rel 2. 5 Jours [35 Heures]

Cisco Certified Network Associate

3A-IIC - Parallélisme & Grid GRID : Définitions. GRID : Définitions. Stéphane Vialle. Stephane.Vialle@supelec.fr

Serveur d'application à la juste taille

Solutions informatiques (SI) Semestre 1

Optimisation des niveaux de service dans le cadre de déploiements de Clouds publics

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

Les environnements de calcul distribué

Architectures informatiques dans les nuages

Cloud computing Votre informatique à la demande

Vers l'orchestration de grilles de PC par les mécanismes de publicationsouscription

10. Base de données et Web. OlivierCuré

SQL Server, MySQL, Toad (client MySQL), PowerAMC (modélisation) Proxy SLIS

Formation en Logiciels Libres. Fiche d inscription

Architectures d'intégration de données

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

BD réparties. Bases de Données Réparties. SGBD réparti. Paramètres à considérer

INSTITUT NATIONAL POLYTECHNIQUE DE GRENOBLE

Architectures en couches pour applications web Rappel : Architecture en couches

Pair-à-Pair: Architectures et Services

NOTIONS DE RESEAUX INFORMATIQUES

ANeXiti 33 quai Arloing lyon cedex

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence

CORBA haute performance

Cours Bases de données

Des solutions J2EE open source professionnelles adaptées à votre système d information d entreprise

Intégration de systèmes client - serveur Des approches client-serveur à l urbanisation Quelques transparents introductifs

Introduction à la conception de systèmes d information

ETUDE ET IMPLÉMENTATION D UNE CACHE L2 POUR MOBICENTS JSLEE

CloudBees AnyCloud : Valeur, Architecture et Technologie cloud pour l entreprise

Mise en œuvre des serveurs d application

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean.

Bases de données documentaires et distribuées Cours NFE04

Les Architectures Orientées Services (SOA)

Evolution des SI à l heure du Cloud

Cloud (s) Positionnement

e need L un des premiers intégrateurs opérateurs Cloud Computing indépendants en France

1.Introduction - Modèle en couches - OSI TCP/IP

Sauvegarde collaborative en pair-à-pair

et Groupe Eyrolles, 2006, ISBN :

Cloud Computing. Veille Technologique

ORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010

La réplication sous SQL Server 2005

Architecture distribuée

Programmation Web. Introduction

Services OSI. if G.Beuchot. Services Application Services Présentation - Session Services Transport - Réseaux - Liaison de Données - Physique

Module BDR Master d Informatique (SAR)

Systèmes Répartis. Pr. Slimane Bah, ing. PhD. Ecole Mohammadia d Ingénieurs. G. Informatique. Semaine Slimane.bah@emi.ac.ma

IntentOS, le système d'exploitation du bâtiment

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

Introduction au Déploiement

Informatique en nuage Cloud Computing. G. Urvoy-Keller

Enseignant: Lamouchi Bassem Cours : Système à large échelle et Cloud Computing

Veille Technologique. Cloud Computing

Rapport d activité. Mathieu Souchaud Juin 2007

Programmation Web Avancée Introduction aux services Web

Bases de Données. Stella MARC-ZWECKER. Maître de conférences Dpt. Informatique - UdS

Cloud Computing Maîtrisez la plate-forme AWS - Amazon Web Services

Chapitre 4: Introduction au Cloud computing

Infrastructures Parallèles de Calcul

Le modèle client-serveur

Projet. But: consultation en temps réel d événements (cours de bourse, trafic d envoi SMS ) sur des téléphones portables. Serveur de diffusion

Exchange Server 2013 Préparation à la certification MCSE Messaging - Examen

Intergiciel. et Construction d Applications Réparties

Administration d'infrastructures logicielles avec Jade

Proposition d une architecture pour ebay, en mettant l accent sur les notions de scalabilité, de résilience, et de tolérance aux pannes.

Virtualiser un serveur de fax

UE 8 Systèmes d information de gestion Le programme

Nouvelles Plateformes Technologiques

Transcription:

Introduction aux applications réparties Noël De Palma Projet SARDES INRIA Rhône-Alpes http://sardes.inrialpes.fr/~depalma Noel.depalma@inrialpes.fr

Applications réparties Def : Application s exécutant sur plusieurs sites reliés par un réseau de communication Intérêt des applications réparties Quelques exemples Caractéristiques et besoins Modèle de communication Exemple

Evolution des insfrastructures Cluster où grappe Grid où grille Interconnexion de serveurs sur un LAN 1 domaine d'administration Interconnexion de grappe sur un LAN/WAN N domaine d'administration Peer-to-Peer où P2P Structuré ou non-structuré Pas de domaine d'administration

Evolution des infrastructures Cloud computing Fournir des ressources à la demande Machine et réseau virtuelle Auto scalabilité (scale up/scale down) Pay as you use : faible coût de déploiement 3 couches : IaaS/PaaS/SaaS 3 modèles Public, private, hybrid Ex : Amazon EC2, Google Apps, MS AZURE

Intérêt des applications réparties Besoin de communication et de partage d information Besoin de puissance de calcul Besoin de tolérance aux fautes

Cycle de vie Modélisation Conception Programmation Déploiement administration Exécution

Web Accès universel à de l information Get/post Serveur Http Client Http html

Problèmes de base Liaison Hétérogénéité

Commerce électronique Transactions commerciales entres clients et fournisseurs Demande de catalogue Client catalogue Commande+paiement Web Server Logique de traitement statut paiement Organisme financier Fournisseur

Problèmes de base Liaison, Hétérogénéité Passage à l échelle (Scalabilité) Sécurité Fiabilité Qualité de service Intégration (fournisseur, organisme financier)

Caractéristiques des applications réparties Distribution des composants de l application Liaison hétérogène Fiabilité Sécurité Scalabilité Persistance Intégration Performance Administration => Plus difficiles à concevoir, à programmer, à déployer et à administrer => besoin de modèles & d outils adaptés

Outils de programmation Outils de base : socket Middleware (Intergiciel) Couche logiciel (répartie) destinée à : Faciliter la programmation réseau Masquer la répartition des traitements et des données Masquer l hétérogénéité des machines & des systèmes Faciliter l interopérabilité des applications Fournir des services associés pour gérer : Fiabilité Sécurité Scalabilité Applications Interface Services de gestion de la distribution Middleware Système de communication Site 1 Site 2

Modèles de structuration d'application répartie Différents Modèle de communication Différentes infrastructures Modèle client serveur Modèle à messages Modèle à base de code mobile Modèle à mémoire partagée Grappes, grilles, p2p Différents types d intergiciels pour adresser différents problèmes Analyse du problème => choix de l intergiciel

Quelques Modèles de structuration d'application répartie Client/serveur Modèle à messages Modèle à base de code mobile Modèle à mémoire partagée

Modèle client-serveur définition Application client/serveur application qui fait appel à des services distants au travers d un échange de messages (les requêtes) plutôt que par un partage de données (mémoire ou fichiers) serveur programme offrant un service sur un réseau (par extension, machine offrant un service) client programme qui émet des requêtes (ou demandes de service). Il est toujours l initiateur du dialogue

Modèle client-serveur Interactions Deux messages (au moins) échangés Le premier message correspondant à la requête est celui de l'appel de procédure, porteur des paramètres d'appel. Le second message correspondant à la réponse est celui du retour de procédure porteur des paramètres résultats. appel n_proc (p_in, p_out) Appel(p_in) Retour(p_out) client Procédure n_proc (p_in, p_out) begin end serveur

Appel de procédure à distance (RPC) Outils de base pour réaliser le mode client-serveur. L'opération à réaliser est présentée sous la forme d'une procédure que le client peut faire exécuter à distance par un autre site : le serveur. Forme et effet identique à ceux d'un appel local Simplicité (en l'absence de pannes) Sémantique identique à celle de l'appel local

RPC [Birrel & Nelson 84] Principe de réalisation Service RPC (talon) Protocole de Appelant Protocole de Service RPC communication (talon) communication Appelé A B appel Appel C réseau E return client D serveur return

Evolution des architectures client/serveur : application 3-tiers Présentation/logique applicative/données Implantation ad-hoc Client Web HTTP Serveur Web Servlet JDBC SGBD J2EE Client Web HTTP Serveur Servlet Web EJB SGBD

Modèle de communication par messages Message Passing (communication par messages) Message Queuing (communication par file de message) Publish/Subscribe (communication par abonnements)

Publish/Subscribe (1) Désignation anonyme L émetteur envoie un message Basé sur un sujet (subject-based) Basé sur un contenu (content-based) Le récepteur s abonne (à un sujet ou un contenu) Communication 1-N Plusieurs récepteurs peuvent s abonner

Code mobile Définition : programmes pouvant se déplacer d'un site à un autre Motivations Function shipping versus data shipping Rapprocher le traitement des données Réduire le volume de données échangées sur le réseau Caractéristiques Code interprétable Problèmes particuliers de la sécurité Exemples : web/javascript

Modèle à mémoire partagé Principe Simulation d'une mémoire globale partagée Exemple : Modèle à objets répartis partagés Espace d'objets réparties partagés Réalisé par des objets répliqués Problèmes de cohérence

Un exemple d application Surveillance des équipements d un réseau Problème : Surveillance de l'état de machines, de systèmes d'exploitation et d'applications dans un environnement distribué. Flot continuel de données en provenance de sources diverses sur le réseau. Les éléments du système peuvent apparaitre, disparaitre, migrer, etc.

Solution client/serveur Interrogation régulière par l'application d'administration (client) des éléments à surveiller (serveur) mise à jour d'une base de données centralisée. Utilisation d'une configuration complexe afin de connaitre l'ensemble des éléments à surveiller. Maintien de cette configuration lorsque des machines ou des applications rejoignent, quittent ou se déplacent dans le système. Interrogation par les administrateurs de la base centrale.

Exemple d application Solution client-serveur adm NT

Exemple d application Solution client-serveur (pull) adm NT

Exemple d application Solution client-serveur adm NT

Exemple d application Solution «bus à messages» Solution "Messaging" : Les différents éléments administrés émettent des messages : changements d'état et de configuration alertes, statistiques Un ou plusieurs démons reçoivent ces notifications et maintiennent l'état courant du système suivi des changements de configuration dynamiques

Exemple d application Solution bus à messages (push) adm Envoi périodique ou non d événements NT

Exemple d application Solution bus à messages Lecture de la base d information au moment souhaité NT adm