NFP111 Systèmes et Applications Réparties

Documents pareils
Environnements de Développement

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

Messagerie asynchrone et Services Web

Software Engineering and Middleware A Roadmap

Architectures n-tiers Intergiciels à objets et services web

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

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

Introduction aux applications réparties

NFP111 Systèmes et Applications Réparties

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

Formation en Logiciels Libres. Fiche d inscription

Java Naming and Directory Interface

Remote Method Invocation (RMI)

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

Java - RMI Remote Method Invocation. Java - RMI

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)

Hébergement de sites Web

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

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.

Les Architectures Orientées Services (SOA)

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

2 Chapitre 1 Introduction

Cisco Certified Network Associate

Introduction à la plateforme J2EE

Les Services Web. Jean-Pierre BORG EFORT

Compte Rendu d intégration d application

Mise en œuvre des serveurs d application

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

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

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

Réplication des données

FileMaker Server 12. publication Web personnalisée avec XML

Groupe Eyrolles, 2004 ISBN :

Devenez un véritable développeur web en 3 mois!

Module BD et sites WEB

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

Architecture distribuée

Quel ENT pour Paris 5?

Cedric Dumoulin (C) The Java EE 7 Tutorial

Ré-architecture et migration d une application standalone vers un serveur applicatif multi-tiers dans un contexte JAVA-SAP

W4 - Workflow La base des applications agiles

Le modèle client-serveur

Oracle Maximum Availability Architecture

Le cadre des Web Services Partie 1 : Introduction

FileMaker Server 14. Aide FileMaker Server

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

Refonte front-office / back-office - Architecture & Conception -

Le moteur de workflow JBPM

EP60.92 Projet d application pluridisciplinaire La chasse aux trésors

Architectures web/bases de données

Introduction aux intergiciels

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

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

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

Messagerie & Groupeware. augmentez l expertise de votre capital humain

Business Process Execution Language

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

Plan. Department of Informatics

Evaluation Idéopass Cahier d analyse technique

RMI le langage Java XII-1 JMF

CS REMOTE CARE - WEBDAV

5. Architecture et sécurité des systèmes informatiques 5.1 Architecture technique.

Projet Active Object

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

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

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

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09

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

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

Introduction à. Oracle Application Express

Chapitre 1 Windows Server

Mise à jour : Octobre 2011

TD sur JMS ) Qu est-ce qu un middleware orienté message (MOM)? Quelles différences faites-vous entre un MOM et JMS?

Alfstore workflow framework Spécification technique

FAMILLE EMC VPLEX. Disponibilité continue et mobilité des données dans et entre les datacenters

18 TCP Les protocoles de domaines d applications

ANALYSTE PROGRAMMEUR DIPLÔME D ÉTABLISSEMENT

OS Réseaux et Programmation Système - C5

Programmation Web Avancée Introduction aux services Web

Cours CCNA 1. Exercices

La plate forme VMware vsphere 4 utilise la puissance de la virtualisation pour transformer les infrastructures de Datacenters en Cloud Computing.

Architecture Orientée Service, JSON et API REST

Catalogue des Formations Techniques

FileMaker Server 14. Guide de démarrage

Bases de données Cours 1 : Généralités sur les bases de données

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

Cours Bases de données

EXTENSION de Microsoft Dynamics CRM Réf FR 80452

DotNet. Plan. Les outils de développement

Europa. Développement JEE 5. avec Eclipse. K a r i m D j a a f a r. A v e c l a c o n t r i b u t i o n d e O l i v i e r S a l v a t o r i

Introduction à Sign&go Guide d architecture

Découverte et analyse de dépendances dans des réseaux d entreprise

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

Utiliser Améliorer Prêcher. Introduction à LDAP

Parallélisme et Répartition

WebSSO, synchronisation et contrôle des accès via LDAP

Bases de Données relationnelles et leurs systèmes de Gestion

FileMaker Server 11. Publication Web personnalisée avec XML et XSLT

Implémentation des SGBD

Transcription:

NFP111 Systèmes et Applications Réparties 1 de 30 d NFP111 Systèmes et Applications Réparties Cours 1 - Introduction Claude Duvallet Université du Havre UFR Sciences et Techniques 25 rue Philippe Lebon - BP 540 76058 LE HAVRE CEDEX Courriel : Claude.Duvallet@gmail.com http://litis.univ-lehavre.fr/ duvallet/

NFP111 Systèmes et Applications Réparties 2 de 30 d de la présentation. Les appels de procédure distante (RPC). Propriétés d ordre, algorithmique répartie. Objets répartis et composants (CORBA, RMI, EJB) : Les avec RMI. Les avec CORBA. L approche composant avec les EJB. Les annuaires LDAP (peut-être). Mémoire virtuelle, fichiers. Tolérance aux pannes.

NFP111 Systèmes et Applications Réparties 3 de 30 d WEBlographie J ai souvent eu recours aux supports disponibles sur le WEB et notamment à ceux des personnes suivantes : Pascal Molli. Maître de conférences à l Université Henry Poincaré. Roland Balter. ScalAgent Distributed Technologies. Cyrille Bertelle. Maître de conférences à l Université du Havre. Damien Olivier. Maître de conférences à l Université du Havre. Éric Leclercq. Université de Bourgogne. Samia Bouzefrane. Maître de conférences au CNAM de Paris. Nicolas Delestre. Maître de conférences àl INSA de Rouen. Gérard Florin. Professeur au CNAM de Paris.

NFP111 Systèmes et Applications Réparties 4 de 30 d de la présentation 1 2 d 3 4 5 6

NFP111 Systèmes et Applications Réparties 5 de 30 d Les : principes Application répartie = traitements coopérants sur des données réparties. Coopération = communications + synchronisation : modèle d exécution, interface de programmation, outils de développement. Distribution des données : données distribuées, traitement centralisé. Distribution du contrôle : données centralisées, contrôle distribué. Distribution des utilisateurs : données et contrôle centralisé, utilisateurs distribués. une combinaison de tout ça...

NFP111 Systèmes et Applications Réparties 6 de 30 d d Coordination d activités : Systèmes à flots de données («workflow»). Systèmes à agents. Communication et partage d informations : Bibliothèques virtuelles. Collecticiels : Édition coopérative. Téléconférence. Ingénierie concourante. Applications temps réel : Contrôle de procédés industriels. Avionique, etc. Localisation de mobiles. Toutes les applications qui nécessitent des utilisateurs ou des données réparties.

NFP111 Systèmes et Applications Réparties 7 de 30 d Construction d Conception de l architecture de l application. Programmation des entités logicielles : Utilisation d un mécanisme de communication avec un modèle d exécution (socket, RMI, RPC, CORBA, etc.). Programmation en fonction du modèle d exécution. Configuration des entités de diverses provenances : leur permettre de communiquer, d échanger des données. leur permettre d échanger des informations de contrôle. leur permettre de se comprendre. Prendre en considération l installation et le déploiement. Administration : Surveillance, maintenance et évolution des applications.

NFP111 Systèmes et Applications Réparties 8 de 30 Conception d un jeu de Morpion (1/2) d Conception suivant une architecture Client/Serveur. Les échanges entre les clients et le serveur : le client passe des commandes au serveur. le serveur notifie au client les changements d états aux clients (joueur X a joué en (x,y)). Choix d un modèle d exécution : appel de procédure distante (RMI). implémentation de méthodes d accès au sein du serveur. implémentation d un client sous forme d une applet.

NFP111 Systèmes et Applications Réparties 9 de 30 Conception d un jeu de Morpion (2/2) d Configuration : mise en place des politiques de sécurité : fichiers de sécurité et serveur d authentification. configuration du serveur Web pour recevoir l applet. Déploiement (applet client) : copie des fichiers ".class". démarrage de rmiregistry. démarrage du serveur HTTP. démarrage du serveur Morpion. accès distant à la page Morpion.

NFP111 Systèmes et Applications Réparties 10 de 30 d... Applications Site A Site B Système de communication : couche logicielle destinée à masquer l hétérogénéité des machines et des systèmes, masquer la répartition des données et des traitements, fournir une API de programmation.

NFP111 Systèmes et Applications Réparties 11 de 30 d Tolérance aux pannes. Passage à l échelle. Nommage et accès aux applications. Intégration de l existant. Déploiement des applications. Sécurité et authentification. Disponibilité de l application.

NFP111 Systèmes et Applications Réparties 12 de 30 Tolérance aux pannes d En anglais : reliability, fault tolerance. Un serveur participant à l application tombe en panne. Un serveur envoie des informations erronées. Un serveur n est plus atteignable (mais pas en panne) puis le redevient. Atomicité dans les.

NFP111 Systèmes et Applications Réparties 13 de 30 Passage à l échelle d En anglais : scalability. Ce qui marche pour un utilisateur, marchera-t-il pour 10 000? Ce qui marche pour un objet, marchera-t-il pour 1 000 000? Ce qui marche pour un site, marchera-t-il pour 1000? Exemple : les applications de gestion de commerce électronique.

NFP111 Systèmes et Applications Réparties 14 de 30 Nommage et accès aux applications d En anglais : naming. Comment retrouver les objets distants? Un objet = un identifiant + un état + un comportement. Applications non réparties : nommage géré par le langage (référence) ou par l OS (adressage). Applications réparties : nommage explicite, dynamique? Exemple de nommage : DNS, URL, JNDI, LDAP,...

NFP111 Systèmes et Applications Réparties 15 de 30 Intégration de l existant d En anglais : legacy. Connexion sur toutes les ressources d une entreprise. Interopérabilité des applications. Transactions réparties.

NFP111 Systèmes et Applications Réparties 16 de 30 Déploiement des applications d Comment installer tous les composants logiciels sur différents clients et serveurs? Lorsque je change un nom de serveur ou j en ajoute un, je recompile? je redéploie? ou je peux configurer automatiquement le redéploiement?

NFP111 Systèmes et Applications Réparties 17 de 30 d Sécurité et authentification Confidentialité. Intégrité : Droits d accès, Pare-Feu. Authentification : Identification des applications partenaires. Non-répudiation. Messages authentifiés. Combien de personnes utilisent l application, qui sont-ils? Nécessité de se protéger contre les intrusions. Nécessité de stocker les accès des clients dans des fichiers journaux.

NFP111 Systèmes et Applications Réparties 18 de 30 Disponibilité d une application répartie d Exemple : un serveur qui fait de la tolérance aux pannes ne peut plus assurer d autres tâches. Permettre des accès simultanés sur un même objet : Sérialiser les objets. Paralléliser les accès. Appliquer différentes politiques. Multi-threading.

NFP111 Systèmes et Applications Réparties 19 de 30 d Les différents modèles d exécution Modèle Client-Serveur : RPC, RMI, CORBA, Servlet,... Modèle de communication par messages : MOM : Message Oriented. Files de messages. Modèle de communication par événements. Modèle à base de composants : Bean, EJB. Modèle à base d agents mobiles : Agglet, Voyager. Modèles à mémoires «virtuelles» partagées : Modèles à espace de tuples. Modèles à objets dupliqués.

NFP111 Systèmes et Applications Réparties 20 de 30 d Le modèle Client-Serveur (1/2) Coté serveur : Externalisation de services. Attente de requêtes en provenances de clients puis exécution des requêtes en séquentiel ou en parallèle. Interface : Skeleton reçoit l appel sous forme de «stream» décapsule les paramètres demande l exécution renvoi les paramètres (par références) et les résultats Coté client : Émission de requêtes puis attente de la réponse. Initiateur du dialogue. Interface : Stub reçoit l appel en local encapsule les paramètres attends les résultats du serveur décapsule les résultats redonne la main à la fonction appelante

NFP111 Systèmes et Applications Réparties 21 de 30 Le modèle Client-Serveur (2/2) d Client/Serveur «traditionnel» : RPC Client/Serveur «à objets» : RMI, CORBA, DCOM Client/Serveur «de données» : Requêtes SQL Client/Serveur «WEB» : CGI, Servlet, asp, jsp, php,...

NFP111 Systèmes et Applications Réparties 22 de 30 d Le modèle de communication par messages Module de synchronisation : Communication asynchrone émission non bloquante, réception bloquante (attente jusqu à réception d un message). Mode de communication : Communication directe entre processus (agents). Communication indirecte (boîtes aux lettres). Mode de transmission : Peut-être typé Les environnements : les sockets sous Unix. la programmation parallèle en MPI, PVM. les s à messages (MOM). la normalisation JMS (Java Messenging Service).

NFP111 Systèmes et Applications Réparties 23 de 30 d Le modèle de communication par événements Concepts de bases : événements, réactions. Principe d attachement : association dynamique entre un type d évènement et une réaction. Communication anonyme : indépendance entre l émetteur et les «consommateurs» d un évènement. Deux modes : PULL et PUSH PULL : les clients viennent prendre régulièrement leurs messages. PUSH : une méthode prédéfinie est attachée à chaque type de message et elle est appelée automatiquement à chaque occurrence de l évènement.

NFP111 Systèmes et Applications Réparties 24 de 30 d Le modèle à base de composants Définition d un composant : module logiciel autonome et réutilisable. composable visuellement et donc dynamiquement pour construire une application. Beans, EJB, CORBA Component. Caractéristiques d un composant : des entrées/sorties déclarées pour permettre les connexions entre plusieurs composants. des propriétés déclarées permettant de configurer le composant. Composant Java Beans : Bean = classe + conventions d écriture : Entrées : les méthodes publiques. Propriétés : variables d instances et accesseurs/modificateurs. Sorties : les événements émis. On connecte et on configure des instances. Les instances sont crées par un BeanContainer (modèle par composition).

NFP111 Systèmes et Applications Réparties 25 de 30 d Les composants Beans Le BeanContainer doit être capable d interroger les instances pour : découvrir les propriétés qui peuvent être manipulées, comment elles doivent l être, découvrir les événements qui doivent être émis, utilisation de l introspection (au moyen de la classe class). Conventions d écriture : constructeur de la classe sans paramètres, méthodes commençant par set ou get pour manipuler les propriétés, méthodes commençant par add et remove pour manipuler les événements. Un bean n est pas forcément un composant visuel : il remplit une fonction (entrées/sorties/propriétés). Un bean peut accéder à un objet distant (RMI, CORBA, etc.), se connecter à une base de données.

NFP111 Systèmes et Applications Réparties 26 de 30 d Les Enterprise Java Beans Un environnement pour la répartition des objets répartis : un serveur qui gère tous les problèmes de répartitions. le développement d objets métiers conforme au modèle de l environnement. Les serveurs d EJB ou serveurs d applications : il s agit d un cadre d exécution pour des composants obéissant à un modèle (COM ou EJB), c est-à-dire un ensemble de services permettant la bonne exécution des composants : les services de base ; l administration, l exploitation, la sécurité ; les passerelles vers l existant ; la persistances. Quatre services de base : accès aux composants, optimisation de l accès aux ressources locales et distantes, gestion transactionnelle, répartition de charge.

NFP111 Systèmes et Applications Réparties 27 de 30 d Les modèles par agents mobiles Code mobile = programme se déplaçant d un site à un autre sur le réseau. Exemple : les applets = programme exécutable inclut dans une page HTML et qui s exécute sur le site qui télécharge la page. Avantage de la mobilité : efficacité, privilégie les interactions locales, moins de communications distantes effectuées pour les échanges de messages, amener le code aux données plutôt que le contraire, permet à des clients d étendre les fonctions d un serveur pour des besoins spécifiques. Les agents mobiles : entités logicielles permettant de construire des applications naturellement distribuées, utilisation de ressources allouées, autonomie et déplacement sur différents sites d un réseau.

NFP111 Systèmes et Applications Réparties 28 de 30 Modèles à mémoires «virtuelles» partagées (1/2) d Objectifs : Replacer le programmeur dans les conditions d un système centralisé : utiliser un espace mémoire commun pour les communications, synchronisation des applications par variables partagées. Avantages : transparence de la distribution pour le développeur, efficacité du développement car utilisation des paradigmes usuels de la programmation concurrente. Problématique : Utilisation des outils de développement existant. Mise en œuvre efficace d une mémoire partagée distribuée.

NFP111 Systèmes et Applications Réparties 29 de 30 Modèles à mémoires «virtuelles» partagées (2/2) d Approches utilisées : Modèles à espace de tuples : bases de données relationnelles partagées, modèle de programmation à la «linda» : dépôt, retrait et consultation d objets. Modèles à objets répartis partagées : espace d objets répartis partagés, interface de programmation : langage à objets «étendus», plusieurs modes de réalisation : objets répliqués ou objets à image unique.

NFP111 Systèmes et Applications Réparties 30 de 30 d Le conceptualise et réalise les fonctions suivantes : communications entre les, échanges de données, facilités de mise en œuvre. Il résout les problèmes d intégration et d interopérabilité : indépendance entre les applications et le système d exploitation, portabilité des applications, partage des services distribués. Services d un : communication, localisation, transactions, sécurité, administration.