Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
1
systèmes et applications répartis
Introduction M1 / RSSI BOUKLI HACENE Sofiane
2
Intitulé de la matière : Systèmes et Applications Réparties
Code : RSINF24 Semestre : S2 Unité d’Enseignement : UEF22 Enseignant responsable de l’UE : Mr. TAIEB BRAHIM MOHAMMED Enseignant responsable de la matière: Mr. BOUKLI HACENE SOFIANE Nombre d’heures d’enseignement Cours : 1h 30, TD : 1h 30 Nombre d’heures de travail personnel pour l’étudiant : 2 h Nombre de crédits : 5 Coefficient de la Matière : 4
3
Textbooks J. M. Rifflet, J.-B. Yunès. Unix - Programmation et Communication, Dunod (2003), chap. 19 R. Stevens. Unix Network Programming. Prentice-Hall.
4
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 Objectif du cours Rappels de l’architecture des réseaux et Introduire les notions de base des applications et des systèmes réparties Présenter quelques exemples concrets de mise en œuvre à tous les niveaux
5
Pourquoi des applications réparties ?
Besoins propres des applications Intégration d’applications existantes initialement séparées Intégration massive de ressources Grilles de calcul, gestion de données Pénétration de l’informatique dans des domaines nouveaux d’application Intégration d’objets du monde réel (informatique omniprésente (ubiquitous/pervasif computing)) Surveillance et commande d’installations Possibilités techniques Coût et performances des machines et des communications Interconnexion généralisée Exemple 1 : interpénétration informatique-télécom-télévision Exemple 2 : Réseaux de capteurs
6
Définition des systèmes répartis
Définition d’un système réparti Ensemble composé d’éléments reliés par un système de communication ; les éléments ont des fonctions de traitement (processeurs), de stockage (mémoire), de relation avec le monde extérieur (capteurs, actionneurs) Les différents éléments du système ne fonctionnent pas indépendamment mais collaborent à une ou plusieurs tâches communes. Conséquence : une partie au moins de l’état global du système est partagée entre plusieurs éléments (sinon, on aurait un fonctionnement indépendant)
7
Systèmes et applications répartis
Distinction entre “système” et “application” Système : gestion des ressources communes et de l’infrastructure, lié de manière étroite au matériel sous-jacent Système d’exploitation : gestion de chaque élément Système de communication : échange d’information entre les éléments Caractéristiques communes : cachent la complexité du matériel et des communications, fournissent des services communs de plus haut niveau d’abstraction Application : réponse à un problème spécifique, fourniture de services à ses utilisateurs (qui peuvent être d’autres applications). Utilise les services généraux fournis par le système. La distinction n’est pas toujours évidente, car certaines applications peuvent directement travailler à bas niveau (au contact du matériel). Exemple : systèmes embarqués, réseaux de capteurs.
9
Services et interfaces
Définition Un système est un ensemble de composants qui interagissent Un service est “un comportement défini par contrat, qui peut être implémenté et fourni par un composant pour être utilisé par un autre composant, sur la base exclusive du contrat” (*) Mise en œuvre Un service est accessible via une ou plusieurs interfaces Une interface décrit l’interaction entre client et fournisseur du service Point de vue opérationnel : définition des opérations et structures de données qui concourent à la réalisation du service Point de vue contractuel : définition du contrat entre client et fournisseur (*) Bieber and Carpenter, Introduction to Service-Oriented Programming,
10
Définitions d’interfaces
Fournir un service, mettre en jeu deux interfaces Interface requise (côté client) Interface fournie (côté fournisseur) Le contrat spécifie la compatibilité (conformité) entre ces interfaces Au delà de l’interface, chaque partie est une “boîte noire” pour l’autre (principe d’encapsulation) Conséquence : client ou fournisseur peuvent être remplacés du moment que le composant remplaçant respecte le contrat (est conforme) Le contrat peut en outre spécifier des aspects non contenus dans l’interface Propriétés dites “non fonctionnelles”, ou Qualité de Service
11
Quelques interfaces importantes
Chaque interface cache les interfaces de niveau inférieur
12
Notions de protocole L’exemple de la requête sur le web permet d’identifier divers “niveaux” d’échange entre le client et le serveur le niveau de l’application : le client clique sur un lien, le serveur renvoie une page web le niveau des messages : le client envoie un message contenant une URI, le serveur renvoie un message contenant un fichier HTML le niveau des paquets : le message du client est découpé en paquets, les routeurs du réseau les acheminent vers le serveur (idem pour le retour) le niveau de la transmission des bits : pour envoyer les paquets, chaque bit (0 ou 1) est transmis comme un signal électrique sur une ligne. chaque niveau utilise les fonctions du niveau inférieur Les notions de protocole et d’interface visent à représenter ce mode de fonctionnement Analogie : deux personnes peuvent dialoguer même si elles ne parlent pas la même langue
13
Notions de protocole (2)
Interface (d’un service) : ensemble de fonctions et de règles d’accès utilisables pour accéder au service Protocole : ensemble de conventions définissant les échanges entre des entités qui coopèrent pour réaliser un service Relations entre protocoles et interfaces une interface définit l’accès à un service, un protocole définit la réalisation d’un service la construction d’un protocole utilise souvent des protocoles de niveau inférieur (plus élémentaires), en accédant à leurs interfaces Protocoles en couches
14
Les protocoles de l’Internet
15
le “middleware” (intergiciel)
“Middleware” : couche de logiciel (réparti) destinée à masquer l’hétérogénéité des machines et systèmes masquer la répartition des traitements et données fournir une interface commode aux applications (modèle de programmation + API)
16
Importance de la normalisation
Le développement du “middleware” impose une normalisation des interfaces Logiciel de base Domaines spécifiques d’applications Nombreux consortiums et standards Open Group (ex-OSF) : systèmes, outils de base Web Consortium (W3C) : Web et outils associés OMG : objets répartis (CORBA, IIOP, etc.) ODMG : bases de données à objets ODP : organisation “ouverte” des applications Workflow Management Coalition : applications à flots de données ……
17
Quelques protocoles au niveau middleware
Objectif Permettre la construction, la composition et l’exécution d’applications réparties Fournir des services communs aux applications Position Utilisent les protocoles de transport des réseaux (souvent via l’interface socket) Sont utilisés par les applications finales Exemples RPC (Remote Procedure Call) Java RMI (Remote Method Invocation) CORBA : objets répartis hétérogènes HTTP : protocole du World Wide Web SOAP (au-dessus de HTTP) : services Web
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.