Applications Réparties
Atef Ben Ismail
INSAT 2009-2010
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 (RPC)
• Middleware, Objets répartis (RMI, CORBA, JNDI, JMX, EJB …)
• WWW, XML, SOAP, Web services, Ajax, .Net
3 Application Réparties INSAT 2010
Introduction
La majorité des applications informatiques sont maintenant réparties, c’est-à-
dire mettent en jeu un ensemble d’ordinateurs ou d’organes divers reliés par
un réseau de communication.
Les applications réparties ont aujourd'hui envahi notre quotidien. Cela est dû
en grande partie au développement de l'Internet et à la convergence entre la
téléphonie et l'informatique grand public.
Les applications réparties deviennent de plus en plus complexes.
Application répartie : application «découpée» en deux ou plusieurs unités
disposées sur diverses machines (physiquement séparés) d’un réseau.
4 Application Réparties| INSAT 2010
Motivation
Une évolution logique
• Coût/performance des équipements en chute
• Interconnexion et haut débit généralisés
• Généralisation des équipements communicants
Besoins propres des applications
• Communication, coopération
• Partage d’information, accès à des ressources distantes
• Répartition intrinsèque des applications
Convergence informatique / télécom
• 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
Intégration de la distribution dans l ’OS
Intégration de fonctions évoluées dans les équipements télécom
5 Application Réparties INSAT 2010
Classes d’intergiciel
Objets répartis
Java RMI, CORBA, DCOM, .NET
Composants répartis
Java Beans, Enterprise Java Beans, CCM
Message-Oriented Middleware (MOM)
Message Queues, Publish-Subscribe
Intégration d’applications
Web Services
Coordination
Accès aux données, persistance
Support d’applications mobiles
6 Application Réparties INSAT 2010
Caractéristiques
et besoins des applications réparties
Organisation
Coordination
Communication
Sécurité
Disponibilité
Capacité de croissance
7 Application Réparties INSAT 2010
Caractéristiques des Systèmes/Applications répartis
Le système est constitué d’un ensemble de composants matériels (ordinateurs,
organes d’entrée-sortie, processeurs spécialisés, dispositifs de commande ou
de mesure, etc.),interconnectés par un réseau de communication.
Les composants du système ne fonctionnent pas de manière indépendante,
mais coopèrent pour l’exécution de tâches communes.
Le système peut continuer à fonctionner (éventuellement en mode dégradé)
malgré les défaillances partielles des composants ou du réseau de
communication.
8 Application Réparties INSAT 2010
Organisation des Applications Réparties
Client-serveur
• Synchrone requête-réponse
• Asynchrone serveurs coopérants; service discontinu
Objets partagés (organisations diverses)
Flots de communication :discrets (messages) ou continus (multimédia)
Code mobile (Machine Virtuelle)
9 Application Réparties INSAT 2010
Organisation des Applications Réparties
Application Répartie
Application
Middleware
OS Système de Communication
Support Physique de Communication
Réseau
10 Application Réparties INSAT 2010
Coordination
Les composants d’une application interagissent en respectant des règles fixées
• englobe synchronisation et communication
• divers niveaux d’abstraction
• divers mécanismes (messages, événements, etc…)
Caractéristiques de la communication
• synchrone : schéma pré-défini (RPC)
• asynchrone : réaction à un événement
• flots discrets ou continus – QoS
Informations partagées
• espace unique ou multiples
• divers modes de réalisation (centralisé, réparti, dupliqué,…)
11 Application Réparties INSAT 2010
Sécurité
Confidentialité
Intégrité
• Protection par contrôle des droits d’accès
• Isolation (pare-feux)
Authentification, signature électronique
• Identification des partenaires
• Non-déni d’envoi ou de réception
• Messages authentifiés
Technique de base : cryptographie
12 Application Réparties INSAT 2010
Disponibilité
La duplication
• Des serveurs
• Des services
• Des informations
Séparation des machines (Serveurs, autres)
Les transactions
13 Application Réparties INSAT 2010
Capacité de Croissance/Adaptation
Eviter la dégradation des performances lorsqu’augmentent:
• Le nombre de sites
• Le nombre d’utilisateurs
• Le volume de données
• La fréquence des interactions
Quelques heuristiques
Éviter la concentration des données
Éviter les algorithmes nécessitant la participation de tous les sites
Déléguer et décentraliser les décisions
Adaptation
• Changement de la structure et/ou des fonctions d’une application
• Adaptation dynamique : réalisée au cours de l’exécution de l’application, sans arrêt de
l’application
14 Application Réparties INSAT 2010
Quelques classes d’Application Réparties
Coordination d’activités
• Systèmes à flots de données (“workflow”)
• Systèmes à “agents”
Communication et partage d’information
• Bibliothèques virtuelles
Collecticiels
• Édition coopérative
• Téléconférence
Applications “temps réel”
• Contrôle et surveillance de procédés et d’installations
• Localisation de mobiles
• Réseaux de capteurs
Nouveaux services grand public
• Presse électronique
• Télévision interactive
• Commerce électronique
15 Application Réparties INSAT 2010
Architecture Commerce Electronique 1/2
Application Web
16 Application Réparties INSAT 2010
Architecture Commerce Electronique 2/2
17 Application Réparties INSAT 2010
[Link]
INSAT 2009-2010
18 | A look Forward | January 2010