F2B101A : Paradigmes et Modèles pour les Systèmes logiciels distribués


Retour
Imprimer la fiche programme
Code analytique: EDF02B101
Responsable  :    
Programmé en UVF2B101

Présentation :

Ce module aborde les systèmes informatiques dans un contexte réseaux. En effet, les réseaux fournissent des moyens de communication, de partage et d'interactions pour les applications informatiques et de ce fait ont introduit des changements majeurs pour la conception des systèmes informatiques et logiciels. Nous ferons un bref aperçu de la thématique avant de présenter les différents modèles comme le passage de message, les objets distribués et les IPC d'UNIX.
Après une présentation de ces modèles en cours, des travaux pratiques permettront de les expérimenter et de développer des applications informatiques destinées à fonctionner sur des machines en réseau.


Objectifs (obsolète):

Le but de ce module est donc d’explorer le thème de cette association et se décline en 3 objectifs principaux :
- connaître les principes de la programmation des systèmes distribués
- découvrir les plateformes de développement de logiciels pour
machines en réseau
- découvrir une nouvelle approche de conception de systèmes
informatiques et de les expérimenter sur des machines en réseau.

Pré-requis :

aucun – les rappels sur les principes de concurrence et de synchronisation n'imposent pas le suivi de la majeure Concurrence.

Volume horaire : 30h


Contenu détaillé :

Le module se compose de deux parties.

Partie 1 : Un Tronc commun : court – 6h

Introduction au domaine

- des rappels historiques
- le « rationale » des systèmes distribués pour le partage des ressources
- les classes d’applications visées
- quelques rappels sur les réseaux
- l’importance du réseau et son impact sur les applications : topologie, maillage, propriétés comportementales du réseau, etc…
- modèles d’interactions
- les défaillances et les pannes
- les enjeux et impératifs des intergiciels ("middleware") et
les architectures à base de service

Les IPC : inter Process Communication

- rappels sur la synchronisation et processus

- synchronisation par message
- la représentation des interactions entre processus par des MSC
- les modes connectés et non connectés
- les IPC d’UNIX : sockets, RPC, TLI, POSIX…




Partie 2 : Paradigmes et modèles


Modèles de programmation des applications distribuées
Notre objectif est de montrer dans cette partie que les systèmes distribués proposent des approches originales pour la résolution de problèmes et surtout différents niveaux d’abstraction… Nous aborderons en particulier :

- les paradigmes à base de message, de partage, peer-to-peer, de coopération, etc…
- les classes d'applications visées par ces modèles



Le modèle client serveur
Point clé : montrer tous les bénéfices d’une organisation et d’une architecture à base de services

- le modèle et son organisation
- les protocoles sous-jacents
- architecture logicielle et services
- les différents modèles
- le mode avec ou sans état


Le paradigme de passage par message :
point clé : montrer la simplicité mais aussi les pièges de ce paradigme très utilisé. Une série de TPs autour de PVM (ou de MPI) permettront de mettre en pratique les thèmes abordés en cours et surtout d’expérimenter les interblocages, les problèmes de terminaison, les problèmes de nomage, etc… Parmi les thèmes
abordés dans cette section, nous trouvons :
- le passage de message
- les codages des données avec XDR, ASN1 et la prise en compte de l'hétérogénéité
- le codage des paramètres pour des données complexes : marshaling, serialization
- la désignation de son interlocuteur : communication directe ou par intermédiaire (boite aux lettres, canal).
- la communication 1 vers 1, diffusion et notions de communications de groupes
- Un système : PVM ou MPI et des TPs. Le premier TP avec XPVM permet de visualier directement l’exécution des processus sous forme de MSC, de visualiser la charge des processeurs et les échanges des messages. Ce sont des indicateurs qui peuvent guider au développement d’une solution au problème posé dans le TP.


Le paradigme d’objet distribués :
point clé : une solution largement répandue avec Java RMI et qui propose des alternatives intéressantes au paradigme de passage de message. Les points étudiés seront :

- historique et concepts de l’objet distribué
- le RPC vs. l’invocation distante de méthodes
- le cas Java RMI
- la mise au point des applications distribuées
- Java RMI avancé : les callbacks, la sécurité, les chargements dynamiques des stubs
- des TPs autour de Java RMI simple et un autre autour de Java RMI avancé – différents modèles à explorer


Le modèle CORBA :
point clé : présenter une solution simple et bien connue et montrer les différents services (verticaux et horizontaux) fournis par CORBA.

- historique et concepts
- la notion de transparences selon CORBA
- l’inter opérabilité selon CORBA
- l’architecture de CORBA et de l’ORB en particulier
- une architecture de services
- un ou 2 services détaillés : serveur de noms, de transaction, d’événements
- TPs d'application autour de CORBA

les webservices
un impératif pour les systèmes d’entreprises à l’heure actuelle


Année 2006/2007
Dernière mise à jour le 03-JUL-06
Validation par le responsable de programme le


IMT Atlantique
Campus de Brest
Technopôle Brest-Iroise
CS 83818
29238 Brest Cedex 3
France

Tél  +33 (0)2 29 00 11 11
Fax +33 (0)2 29 00 10 00