Objectifs du cours. Master mention Informatique M1. Construction d Applications Réparties. Sommaire. Organisation.



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

Le cadre des Web Services Partie 1 : Introduction

Introduction aux applications réparties

Architectures n-tiers Intergiciels à objets et services web

Software Engineering and Middleware A Roadmap

NFP111 Systèmes et Applications Réparties

20/09/11. Réseaux et Protocoles. L3 Informatique UdS. L3 Réseaux et Protocoles. Objectifs du cours. Bibliographie

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

IT203 : Systèmes de gestion de bases de données. A. Zemmari zemmari@labri.fr

Mise en œuvre des serveurs d application

L EAI. par la pratique. François Rivard. Thomas Plantain. Groupe Eyrolles, 2003 ISBN :

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

PROGRAMME DETAILLE. Parcours en première année en apprentissage. Travail personnel CC + ET réseaux

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

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

GPC Computer Science

Conception des systèmes répartis

Patrons de Conception (Design Patterns)

Réseaux M2 CCI SIRR. Introduction / Généralités

Organisation du parcours M2 IR Les unités d enseignements (UE) affichées dans la partie tronc commun sont toutes obligatoires, ainsi que le stage et

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

CORBA. (Common Request Broker Architecture)

Développement des Systèmes d Information

MASTER SIR. Systèmes Informatiques & Réseaux

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

RES 224 Architecture des applications Internet. Presentation de l unitéd enseignement

Robin Favre Fabien Touvat. Polytech Grenoble RICM 3 ème Année Vendredi 21 Novembre 2008 Etude d Approfondissement Réseau

Gestion répartie de données - 1

Le modèle client-serveur

Bases de données et environnements distribués Chapitre I : Architecture logicielle technologies de developpement en environnement

Réseaux Locaux. Objectif du module. Plan du Cours #3. Réseaux Informatiques. Acquérir un... Réseaux Informatiques. Savoir.

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

CORBA haute performance

2 Chapitre 1 Introduction

Remote Method Invocation en Java (RMI)

TECHNOLOGIE SOFTWARE DU FUTUR. Logiciel de gestion d entreprise pour le Web

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

Master (filière Réseau) Parcours Recherche: Systèmes Informatiques et Réseaux (RTS)

Introduction à la conception de systèmes d information

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

SIO Page 1 de 5. Applications Web dynamiques. Prof. : Dzenan Ridjanovic Assistant : Vincent Dussault

Architecture Orientée Service, JSON et API REST

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

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

Cours Bases de données

Hébergement de sites Web

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

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

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

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

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

Evolution des technologies et émergence du cloud computing Drissa HOUATRA, Orange Labs Issy

LA SOLUTION DE DISTRIBUTION AUDIO/VIDEO/DATA INTERACTIVE DE NOUVELLE GENERATION (SUR RESEAU INFORMATIQUE)

Architectures d'intégration de données

Messagerie asynchrone et Services Web

Environnements de Développement

Parcours en deuxième année

18 TCP Les protocoles de domaines d applications

Intégration de systèmes

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

Voix sur IP Étude d approfondissement Réseaux

GEI 465 : Systèmes répartis

Compte Rendu d intégration d application

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

Introduction aux systèmes temps réel

Machines virtuelles Cours 1 : Introduction

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

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

Intégration et Déploiement de Systèmes d Information

Les nouvelles architectures des SI : Etat de l Art

Activité : TP Durée : 6H00. Un PC d assemblage de marque NEC Un casque avec micro Une clé USB. Un CD de Windows XP professionnel

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

Cours Base de données relationnelles. M. Boughanem, IUP STRI

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

Management des Systèmes d Information

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

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Cloud computing Votre informatique à la demande

Description de la formation

C-JDBC. Emmanuel Cecchet INRIA, Projet Sardes.

Remote Method Invocation (RMI)

JOnAS 5. Serveur d application d

Administration de systèmes

Bases de données cours 1

WEBSPHERE & RATIONAL. Jacques Rage

Les Architectures Orientées Services (SOA)

Principes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles

Bases de données avancées Introduction

SOA : une brique de la 4 ième génération de l architecture informatique? Hervé Crespel Président du club urba-ea

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

Master Sciences et Technologies Mention Informatique Spécialité E-Services en Alternance

Comment tirer profit des web services dans le monde réel Un document eforce France Mars 2003

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

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

La Stratégie d Intégration Advantage

Bases de données relationnelles : Introduction

Modules du DUT Informatique proposés pour des DCCE en 2014/2015

MEAD : temps réel et tolérance aux pannes pour CORBA

Transcription:

Master mention Informatique M1 Construction d s Réparties Lionel Seinturier USTL-LIFL Équipe GOAL/Projet INRIA Jacquard Lionel.Seinturier@lifl.fr 2006/2007 1 Objectifs du cours Appréhender la conception d applications réparties motivations et concepts architectures et exemples problèmes et solutions Comprendre les solutions industrielles Internet et sockets Java Objets répartis en Java (RMI & CORBA) WWW, XML, SOAP, Web services Maîtriser par la pratique (beaucoup de TP) Java, WWW et CORBA 2 Sommaire Organisation I. Introduction aux applications réparties II. s réparties en mode message III. Internet et servlet IV. Client/serveur et objets V. Java RMI VI. Le bus logiciel CORBA VII. Web Services VIII. s réparties et composants Chaque semaine : 1 cours, 1 TD, 1 TP début cours : semaine 38 (pas de cours semaine 40 3/10) début TD : semaine 39 (25/9) début TP : semaine 40 (2/10) interruption pédagogique : semaine 44 (30/10) fin cours/td/tp : semaine 51 (18/12) 4 groupes de TD/TP, 3 enseignants J. Dubus, A.-F. Le Meur (x2), L. Seinturier http://www.fil.univ-lille1.fr/portail/ Procédure de remise de TPs (à venir) 3 4

Organisation du contrôle Un examen 4sujets de TPs Note de contrôle continu chaque sujet de TP dure 2 ou 3 séances utilise le langage Java démonstration de chaque TP en séance les TPs sont relevés et notés relève par l application PROF uniquement (mail refusé) dates de remise fermes binôme même groupe (pas de changement de binôme) I. Introduction aux applications réparties Lionel Seinturier LIFL - équipe GOAL/Projet INRIA Jacquard 5 6 Pourquoi des applications réparties? Au sommaire La plupart des applications informatiques sont réparties Besoins propres des applications Communication, coopération Partage d information, accès à des ressources distantes Répartition intrinsèque des applications Possibilités techniques Coût et performances des machines et des communications Interconnexion généralisée Interpénétration Informatique-télécom-télévision Les applications informatiques utilisent les technologies télécom Les réseaux de télécom sont des systèmes informatiques La télévision devient numérique et interactive Deux exemples d applications réparties La télévision interactive Le commerce électronique Les problématiques de la construction d applications réparties 7 8

Télévision Interactive Fonctions : fourniture d un ensemble de services aux clients Diffusion de programme à la demande Télé-achat Jeux interactifs Contraintes Interface client familière (télécommande) Disponibilité Performances Coût (terminal simple) Extensibilité Télévision Interactive Architecture du réseau Réseau 100 Mb/s Serveurs Réseau ATM Terminal TV (set-top box) 9 Terminaux 10 TV Télévision Interactive Télévision Interactive Services et objets Lancement d une application Services de l applications Connexion Livraison média Livraison fiable Gestion média Gestion fichiers Gestion terminal TV Diffusion amorce Système de communication Noms Contrôle serveurs Persistance Audit ressource Authentification Spécification des services - Interfaces (IDL) Réalisation des services - 1 service = 1 objet - désignation par référence - service de noms Disponibilité - duplication active - serveur primaire/secondaire Service de noms Serveur 1 2 3 Gérant 4 d applications Terminal TV Service d installation d applications 5 1. Localiser service installation 2. Appeler service installation 3. Installer application 4. Lancer application 5. Appeler services spécifiques 11 télécommande 12

Télévision Interactive Commentaires Contraintes d une application grand public Disponibilité -> duplication active/passive, reprise Performances -> bon dimensionnement : répartition de charge Simplicité de l interface -> terminal TV Passage à l échelle -> évolution incrémentale Génie logiciel d une grande application répartie Organisation client/serveur Modèle objets Utilisation systématique de l IDL Service de noms évolué Capacité d évolution 13 Commerce électronique Fonction : exécution de transactions commerciales entre clients et fournisseurs Recherche de produits et de services (catalogues) Commande simple ou groupée Paiement Livraison Contraintes Protection des informations confidentielles (client et fournisseur) Respect des règles de concurrence Respect des garanties fournisseur -> client (offre sincère, exécution du contrat) Respect des garanties client -> fournisseur (identité, paiement) Respect des droits de propriétés (licences, droit d auteur) Disponibilité permanente du service 14 Service de commerce électronique Service de commerce électronique Cas d un produit disponible sous forme électronique Cas d un produit disponible sous forme électronique Client Demande prix [1] Fournisseur Client Demande prix [1] Fournisseur [2] offre prix [2] offre prix cliente PM Demande achat [3] [4] envoi produit {chiffré} TC fournisseur cliente PM Demande achat [3] [4] envoi produit {chiffré} TC fournisseur Ordre paiement [5] Reçu+clé [8] Ordre paiement [5] Reçu+clé [8] Porte-monnaie Organisme financier Tiroir-caisse [6] envoi facture [7] attestation paiement 15 Serveur de Paiement Porte-monnaie Organisme financier Tiroir-caisse [6] envoi facture [7] refus de paiement 16 Serveur de Paiement

Tolérance aux fautes Point de vue du client Pannes dans les étapes de 1 à 4 Aucune transaction financière n a eu lieu Pas de paiement, pas de livraison Paiement après émission de [5] (ordre de paiement) Le client a accepté le produit Pas de réponse du serveur Le client prend l initiative de la reprise (contacte fournisseur ou serveur pour connaître l état de la requête) Erreurs possibles Ordre de paiement non transmis au serveur : annuler (délai de garde) Ordre de paiement transmis et accepté (transaction) : le client finira par recevoir la clé (si besoin, du serveur) 17 Tolérance aux fautes Point de vue du fournisseur Pannes dans les étapes de 1 à 5 Aucune transaction financière n a eu lieu Pas de paiement, pas de livraison Pannes après émission de [6] (facture) Le fournisseur finira par obtenir une réponse du serveur (au besoin en renvoyant la facture [6]) Propriété transactionnelle sur [6]+[7] (envoi facture et résultat du règlement) : annulation possible si panne durable 18 Service de commerce électronique Commentaires Sécurité Confidentialité (secret des informations) Intégrité (pas de modifications non désirées) Authentification Des partenaires Du contenu des messages Tolérance aux fautes Atomicité des transactions commerciales (paiement + livraison) Garanties assurées par le serveur (état défini, opérations transactionnelles) Pas d hypothèses sur sites extérieurs au serveur 19 Caractéristiques et besoins des applications réparties Organisation Coordination Communication Sécurité Disponibilité Capacité de croissance Génie logiciel Construction Administration 20

Organisation des applications réparties Client-serveur Exécution «synchrone» requête- réponse Extensions : serveurs coopérants; service discontinu Objets partagés (organisations diverses) Flots de communication Discrets (messages) ou continus (multimédia) Code mobile Machine virtuelle cache l hétérogénéité Problèmes de sécurité Agents Programme agissant pour le compte d une entité cliente Agents fixes ou mobiles, statiques ou adaptatifs Coopération entre agents Organisation des applications réparties Un schéma commun : le «middleware» «Middleware is everywhere» IBM OS x répartie Middleware = intergiciel... OS y 21 22 Organisation des applications réparties Un schéma commun : le «middleware» «Middleware»: couche logicielle destinée à Masquer l hétérogénéité des machines et des systèmes Masquer la répartition des traitements et données Fournir une interface commode aux applications (modèle de programmation + API) s Middleware Système de communication Site 1 Site 2 23 Interface Bibliographie W. Rosso. Java RMI. O Reilly, 2002. D. Flanagan. Java in a Nutshell. O Reilly, 2001. Kurose, Ross. Computer Networking. Addison Wesley, 2001. J. Siegel. CORBA 3 Fundamentals and Programming. Wiley, 2000. J.-M. Geib, C. Gransart, P. Merle. CORBA: des concepts à la pratique. Dunod, 2ème édition, 1999. B. Meyer. Object-Oriented Software Construction. Prentice Hall 1997. R. Orfali, D. Harkey, J. Edwards. The Essential Client/Server Survival Guide. Wiley 1996. A. Tanenbaum. Distributed Operating Systems. Prentice-Hall 1995. Le site Penser en Java : http://penserenjava.free.fr/ 24