35
Stéphane Frénot -MID - V.0.0.3 I-Intro 1 Introduction au Middleware, aux systèmes distribués et au système d'information

Systèmes d'Information Répartis - INSA Lyonperso.citi.insa-lyon.fr/sfrenot/cours/SID/cours/SID10...Stéphane Frénot -MID - V.0.0.3 I-Intro 32 Transparence de la distribution •

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Systèmes d'Information Répartis - INSA Lyonperso.citi.insa-lyon.fr/sfrenot/cours/SID/cours/SID10...Stéphane Frénot -MID - V.0.0.3 I-Intro 32 Transparence de la distribution •

Stéphane Frénot -MID - V.0.0.3 I-Intro 1

Introduction auMiddleware, aux systèmes distribués

et au système d'information

Page 2: Systèmes d'Information Répartis - INSA Lyonperso.citi.insa-lyon.fr/sfrenot/cours/SID/cours/SID10...Stéphane Frénot -MID - V.0.0.3 I-Intro 32 Transparence de la distribution •

Stéphane Frénot -MID - V.0.0.3 I-Intro 2

Système d'informations

• Ensemble des applications nécessaires au bon fonctionnement de l'entreprise

• Applications dédiées (edt)

• Applications standards (mail)

• Applications d'infrastructures (ldap)

➢ Ensemble de l'infrastructure supportant ces applications

• Machines : Clients, Serveurs, Backup...

• Réseau : ...

Page 3: Systèmes d'Information Répartis - INSA Lyonperso.citi.insa-lyon.fr/sfrenot/cours/SID/cours/SID10...Stéphane Frénot -MID - V.0.0.3 I-Intro 32 Transparence de la distribution •

Stéphane Frénot -MID - V.0.0.3 I-Intro 3

Mise en oeuvre du SI

• Systèmes centralisés :

– 1970-80, IBM, machine unique

– AS 400/OS 390

– Liaison série vers les postes

– Enterprise Resource Planning

• Systèmes client / serveur :

– 80-90, IBM, base de données

– NS/DK, BusinessObject, Oracle

– L'application est décomposée en une partie cliente et une partie serveur

– Le rôle du client et du serveur a largement évolué dans le temp• Client lourd (<90) : client = Affichage + traitement, serveur=Data

• Client léger (>90) : client = Affichage, serveur= traitement + Data

Page 4: Systèmes d'Information Répartis - INSA Lyonperso.citi.insa-lyon.fr/sfrenot/cours/SID/cours/SID10...Stéphane Frénot -MID - V.0.0.3 I-Intro 32 Transparence de la distribution •

Stéphane Frénot -MID - V.0.0.3 I-Intro 4

Un système d'information médical

• Des bases de données – Administratives

– Dossier médical

– Données médicales

• Une infrastructure réseau– Liaisons Ethernet

– Liaisons modem

• Des postes de travail– MacIntosh, PC (WIN98, PC…)

– Bureau du médecin, des infirmières…

Page 5: Systèmes d'Information Répartis - INSA Lyonperso.citi.insa-lyon.fr/sfrenot/cours/SID/cours/SID10...Stéphane Frénot -MID - V.0.0.3 I-Intro 32 Transparence de la distribution •

Stéphane Frénot -MID - V.0.0.3 I-Intro 5

Des applications médicales

• Gestion :– administrative

– du dossier médical

– des médicaments

– des lits

– des actes

– des examens

– du courrier électronique

– des annuaires

– …

Page 6: Systèmes d'Information Répartis - INSA Lyonperso.citi.insa-lyon.fr/sfrenot/cours/SID/cours/SID10...Stéphane Frénot -MID - V.0.0.3 I-Intro 32 Transparence de la distribution •

Stéphane Frénot -MID - V.0.0.3 I-Intro 6

Le système d'information

M a c I I

C o m p a t i b l e I B M

C o m p a t i b l e I B M

C o m p a t i b l e I B M M a c I I

M a c I I

M a c I I

M a c I I

M a c I I

Page 7: Systèmes d'Information Répartis - INSA Lyonperso.citi.insa-lyon.fr/sfrenot/cours/SID/cours/SID10...Stéphane Frénot -MID - V.0.0.3 I-Intro 32 Transparence de la distribution •

Stéphane Frénot -MID - V.0.0.3 I-Intro 7

Les besoins du SI pour l'entreprise

• Echange de données entre applications hétérogènes

• Répartition des données sur des sites géographiques distants

• Interopérabilité des plates-formes (ouverture)

• Gestion des accès concurrents

• Gestion de la Tolérance de panne

• Persistance des données

• Intégration des systèmes légacy

• Sécurité

==> Urbanisation du système d'information

Page 8: Systèmes d'Information Répartis - INSA Lyonperso.citi.insa-lyon.fr/sfrenot/cours/SID/cours/SID10...Stéphane Frénot -MID - V.0.0.3 I-Intro 32 Transparence de la distribution •

Stéphane Frénot -MID - V.0.0.3 I-Intro 8

Application

• Application :– Logiciel s'exécutant sur une ou plusieurs machines et

rendant un ou plusieurs services

– Elle s'exécute en mémoire vive au dessus d'un système d'exploitation

– Avant exécution, elle est stockée sur un support persistant (DD)

Page 9: Systèmes d'Information Répartis - INSA Lyonperso.citi.insa-lyon.fr/sfrenot/cours/SID/cours/SID10...Stéphane Frénot -MID - V.0.0.3 I-Intro 32 Transparence de la distribution •

Stéphane Frénot -MID - V.0.0.3 I-Intro 9

Exemple commande sur Internet

• Authentification sur le réseau local

• Connexion sur le serveur distant

• Passage de la commande

• Gestion du suivi

• Gestion de relance

Page 10: Systèmes d'Information Répartis - INSA Lyonperso.citi.insa-lyon.fr/sfrenot/cours/SID/cours/SID10...Stéphane Frénot -MID - V.0.0.3 I-Intro 32 Transparence de la distribution •

Stéphane Frénot -MID - V.0.0.3 I-Intro 10

Un modèle d'exécution standard

Données

Processus

Application

Système d'exploitation

Page 11: Systèmes d'Information Répartis - INSA Lyonperso.citi.insa-lyon.fr/sfrenot/cours/SID/cours/SID10...Stéphane Frénot -MID - V.0.0.3 I-Intro 32 Transparence de la distribution •

Stéphane Frénot -MID - V.0.0.3 I-Intro 11

Applications distribuées

• Un grand nombre d'applications ne s'exécutent pas intégralement sur un seul noeud de calcul – Il s'agit d'applications distribuées

• L'intégration de la dimension réseau dans une application soulève un certain nombre de problèmes– Calcul distribué, Bases de données distribuées, Interfaces

utilisateurs distantes...

– Temps de réponse, consensus...

Page 12: Systèmes d'Information Répartis - INSA Lyonperso.citi.insa-lyon.fr/sfrenot/cours/SID/cours/SID10...Stéphane Frénot -MID - V.0.0.3 I-Intro 32 Transparence de la distribution •

Stéphane Frénot -MID - V.0.0.3 I-Intro 12

La distribution du SE (Processus)

Données

Systèmed'exploitation

Application

Données

Systèmed'exploitation

Données

Systèmed'exploitation

Clusters : Beowulf,SE distribués : Mach, Mosix... Grid Computing : http://www.gridforum.org

Page 13: Systèmes d'Information Répartis - INSA Lyonperso.citi.insa-lyon.fr/sfrenot/cours/SID/cours/SID10...Stéphane Frénot -MID - V.0.0.3 I-Intro 32 Transparence de la distribution •

Stéphane Frénot -MID - V.0.0.3 I-Intro 13

La distribution du SE (les données)

Données

Systèmed'exploitation

Application

Données Données

Disques RAIDMémoire partagée

Page 14: Systèmes d'Information Répartis - INSA Lyonperso.citi.insa-lyon.fr/sfrenot/cours/SID/cours/SID10...Stéphane Frénot -MID - V.0.0.3 I-Intro 32 Transparence de la distribution •

Stéphane Frénot -MID - V.0.0.3 I-Intro 14

La distribution du SE (l'affichage)

Données

Systèmed'exploitation

ApplicationServeur

TelnetX11Ica/Vnc

Systèmed'exploitation

ApplicationCliente

Page 15: Systèmes d'Information Répartis - INSA Lyonperso.citi.insa-lyon.fr/sfrenot/cours/SID/cours/SID10...Stéphane Frénot -MID - V.0.0.3 I-Intro 32 Transparence de la distribution •

Stéphane Frénot -MID - V.0.0.3 I-Intro 15

Données

Processus

Application

Système d'exploitation

Page 16: Systèmes d'Information Répartis - INSA Lyonperso.citi.insa-lyon.fr/sfrenot/cours/SID/cours/SID10...Stéphane Frénot -MID - V.0.0.3 I-Intro 32 Transparence de la distribution •

Stéphane Frénot -MID - V.0.0.3 I-Intro 16

Répartition "horizontale" d'une application

Données

Systèmed'exploitation

Application detraitement

Données

Systèmed'exploitation

Application dePrésentation

Données

Systèmed'exploitation

Application deDonnées

Page 17: Systèmes d'Information Répartis - INSA Lyonperso.citi.insa-lyon.fr/sfrenot/cours/SID/cours/SID10...Stéphane Frénot -MID - V.0.0.3 I-Intro 32 Transparence de la distribution •

Stéphane Frénot -MID - V.0.0.3 I-Intro 17

Répartition d'une application : e-

Serveur de requêtes web

Clientde

présentation

Serveur de présentation

Serveur de traitements

Serveur de données

mozilla apache tomcat jonas oracle

Httphtml

Connecteur jk2 RMIInterface Java

JdbcSql

Clientde

présentation

Serveur WebServeur de traitement

Serveur de données

mozilla Apache php

Mysql

Httphtml

php_jdbc

Page 18: Systèmes d'Information Répartis - INSA Lyonperso.citi.insa-lyon.fr/sfrenot/cours/SID/cours/SID10...Stéphane Frénot -MID - V.0.0.3 I-Intro 32 Transparence de la distribution •

Stéphane Frénot -MID - V.0.0.3 I-Intro 18

Application deDonnées

Application detraitement

Application detraitement Application de

DonnéesApplication de

traitementApplication de

traitement

Répartition "verticale" d'une application

Données

Systèmed'exploitation

Application detraitement

Données

Systèmed'exploitation

Application dePrésentation

Données

Systèmed'exploitation

Application deDonnées

Page 19: Systèmes d'Information Répartis - INSA Lyonperso.citi.insa-lyon.fr/sfrenot/cours/SID/cours/SID10...Stéphane Frénot -MID - V.0.0.3 I-Intro 32 Transparence de la distribution •

Stéphane Frénot -MID - V.0.0.3 I-Intro 19

Proxy de répartition de

charge

Clientde

présentation

Serveur de présentation

Serveur de traitements

Serveur de données

Serveur de données

Serveur de données

Serveur de présentation

Serveur de traitements

Serveur de présentation

Serveur de traitements

Serveur de présentation

Serveur de traitements

MoniteurTransactionnel

Page 20: Systèmes d'Information Répartis - INSA Lyonperso.citi.insa-lyon.fr/sfrenot/cours/SID/cours/SID10...Stéphane Frénot -MID - V.0.0.3 I-Intro 32 Transparence de la distribution •

Stéphane Frénot -MID - V.0.0.3 I-Intro 20

La distribution indépendante du SE

• Base de données :– Répliquées / Réparties

• Moniteurs transactionnels

• Web

• Serveurs d'applications

Page 21: Systèmes d'Information Répartis - INSA Lyonperso.citi.insa-lyon.fr/sfrenot/cours/SID/cours/SID10...Stéphane Frénot -MID - V.0.0.3 I-Intro 32 Transparence de la distribution •

Stéphane Frénot -MID - V.0.0.3 I-Intro 21

Middleware

• Le middleware est couche intermédiaire entre le système d'exploitation et l'application afin d'en améliorer sa mise en oeuvre

Machine 1 Machine 2 Machine 3

SE localSE local SE local

Middleware Middleware

Applications distribuées

Réseau

Page 22: Systèmes d'Information Répartis - INSA Lyonperso.citi.insa-lyon.fr/sfrenot/cours/SID/cours/SID10...Stéphane Frénot -MID - V.0.0.3 I-Intro 32 Transparence de la distribution •

Stéphane Frénot -MID - V.0.0.3 I-Intro 22

Défis pour les systèmes distribués d'une manière générale

• Modèles de connexion des ressources, des traitements, des données ou des utilisateurs

• Gestion de l'hétérogénéité

• Ouverture

• Sécurité

• Capacité de croissance

• Gestion des pannes

• Gestion de la concurrence

• Gestion de la transparence

Page 23: Systèmes d'Information Répartis - INSA Lyonperso.citi.insa-lyon.fr/sfrenot/cours/SID/cours/SID10...Stéphane Frénot -MID - V.0.0.3 I-Intro 32 Transparence de la distribution •

Stéphane Frénot -MID - V.0.0.3 I-Intro 23

Modèles de communication

• Concepts

– C/S : Le client serveur, le modèle de base

– Évènements : Principes des canaux de communication

• P2P : les entités d'exécution sont identiques

• Orienté Message : Synchrone/Asynchrone

– Orienté Flux

• Techniques

– Communication de groupes

– Espaces partagés : tableau blanc/tuple space

– Protocole de validation distribuée : 2 phase commit

– Tube Unix : IPC

– Copier/Coller

Page 24: Systèmes d'Information Répartis - INSA Lyonperso.citi.insa-lyon.fr/sfrenot/cours/SID/cours/SID10...Stéphane Frénot -MID - V.0.0.3 I-Intro 32 Transparence de la distribution •

Stéphane Frénot -MID - V.0.0.3 I-Intro 24

Gestion de l'hétérogénéité

• Réseau,

• Matériel,

• Système d'exploitation,

• Langages de programmation,

• Génie logiciel

==> Le Middleware

Machines virtuelles

Plates-formes à composants

Page 25: Systèmes d'Information Répartis - INSA Lyonperso.citi.insa-lyon.fr/sfrenot/cours/SID/cours/SID10...Stéphane Frénot -MID - V.0.0.3 I-Intro 32 Transparence de la distribution •

Stéphane Frénot -MID - V.0.0.3 I-Intro 25

Ouverture

• Extensible,

• Ré-implantation,

==> Interfaces publiques : posix

==> Support de communication standard

==> Normes : ISO, Ietf, OMG...

Page 26: Systèmes d'Information Répartis - INSA Lyonperso.citi.insa-lyon.fr/sfrenot/cours/SID/cours/SID10...Stéphane Frénot -MID - V.0.0.3 I-Intro 32 Transparence de la distribution •

Stéphane Frénot -MID - V.0.0.3 I-Intro 26

Sécurité

• Confidentialité

• Intégrité– Protection par contrôle des droits d'accès

– Isolation (pare-feux)

• Authentification, signature électronique– Identification des partenaires

– Non-deni d'envoi ou de réception

– Messages authentifiés

– Respect possible de l'anonymat

• Une méthode de base : la cryptographie– Aspects techniques

– Aspects sociaux, juridiques et législatifs

Page 27: Systèmes d'Information Répartis - INSA Lyonperso.citi.insa-lyon.fr/sfrenot/cours/SID/cours/SID10...Stéphane Frénot -MID - V.0.0.3 I-Intro 32 Transparence de la distribution •

Stéphane Frénot -MID - V.0.0.3 I-Intro 27

Capacité de croissance (1)

• Propriété souhaitables : éviter la dégradation des performances lorsque augmentent :– le nombre de sites et la distance entre les sites

– le nombre d'utilisateurs / de processus

– Le nombre de domaines de reponsabilité

– le volume des données

– la fréquence des interactions

Page 28: Systèmes d'Information Répartis - INSA Lyonperso.citi.insa-lyon.fr/sfrenot/cours/SID/cours/SID10...Stéphane Frénot -MID - V.0.0.3 I-Intro 32 Transparence de la distribution •

Stéphane Frénot -MID - V.0.0.3 I-Intro 28

Capacité de croissance (2) Techniques

• Distribution : Répartir les données et les calculs entre plusieurs machines

– Déplacement du calcul vers les clients (Applet Java)

– Systèmes de nommage décentralisés (DNS)

– Systèmes d'information décentralisés (WWW)

• Réplication : Rendre des copies de données disponibles à plusieurs endroits

– Serveurs de fichiers répliqués (Principalement pour la tolérance de pannes)

– Bases de données répliquées

– Site Web miroirs

– Systèmes de mémoire partagées large échelle

• Mise en cache : Permettre aux clients d'accéder à des copies locales

– Caches Web (Proxy web)

– Caches de fichiers (au niveau serveur et client)

Page 29: Systèmes d'Information Répartis - INSA Lyonperso.citi.insa-lyon.fr/sfrenot/cours/SID/cours/SID10...Stéphane Frénot -MID - V.0.0.3 I-Intro 32 Transparence de la distribution •

Stéphane Frénot -MID - V.0.0.3 I-Intro 29

Capacités de croissance (2)

• Quelques heuristiques

– Eviter la centralisation des données

– Eviter les algorithmes nécessitant la participation de tous les sites

– Déléguer et décentraliser les décisions

• Mettre en oeuvre des techniques de croissance est facile à part un détail

– Posséder de multiples copies (en cache ou répliqué) conduit à des inconsistances. Modifier une copie la rend différent du reste

– Maintenir toutes les copies consistantes demande une synchronisation globale à chaque modification

– La synchronisation globale empêche les solutions large-échelle

• Remarque 1 : Si on tolère les inconsistances, le besoin de synchronisation global n'est pas nécessaire

• Remarque 2 : Accepter les inconsistances est dépendant des applications !

Page 30: Systèmes d'Information Répartis - INSA Lyonperso.citi.insa-lyon.fr/sfrenot/cours/SID/cours/SID10...Stéphane Frénot -MID - V.0.0.3 I-Intro 32 Transparence de la distribution •

Stéphane Frénot -MID - V.0.0.3 I-Intro 30

Gestion des pannes

• Système de pannes partiel– Détection de pannes

– Masquage de pannes

– Tolérance de pannes

– Récupération de pannes

– Redondance

Page 31: Systèmes d'Information Répartis - INSA Lyonperso.citi.insa-lyon.fr/sfrenot/cours/SID/cours/SID10...Stéphane Frénot -MID - V.0.0.3 I-Intro 32 Transparence de la distribution •

Stéphane Frénot -MID - V.0.0.3 I-Intro 31

Gestion de la concurrence

• Plusieurs clients accèdent simultanément à une donnée partagée– Mécanisme de synchronisation

– Mécanisme de transaction

Page 32: Systèmes d'Information Répartis - INSA Lyonperso.citi.insa-lyon.fr/sfrenot/cours/SID/cours/SID10...Stéphane Frénot -MID - V.0.0.3 I-Intro 32 Transparence de la distribution •

Stéphane Frénot -MID - V.0.0.3 I-Intro 32

Transparence de la distribution

• Accès Masquer les différence de représentation de données et des mécanismes d'invocation (RPC)

• Localisation On cache la localisation d'un objet

• Migration Permettre à un système de changer l'emplacement d'un objet sans qu'il ne soit perturbé (migration à froid)

• Relocalisation Masquer à un client la migration d'un objet qu'il est en train d'utiliser (migration à chaud)

• Replication L'objet est présent sous la forme de plusieurs réplicats

• Concurrence L'accès à un objet se fait par de multiples clients. La consistance globale doit être préservée

• Panne Masquer la panne et éventuellement la reprise d'un objet

• Persistance Masquer le fait qu'un objet est régulièrement sauvegardé

==> La transparence peut être un but, sa réalisation est une autre histoire

Page 33: Systèmes d'Information Répartis - INSA Lyonperso.citi.insa-lyon.fr/sfrenot/cours/SID/cours/SID10...Stéphane Frénot -MID - V.0.0.3 I-Intro 32 Transparence de la distribution •

Stéphane Frénot -MID - V.0.0.3 I-Intro 33

Degré de transparence

• La transparence totale c'est un peu trop– Les utilisateurs sont naturellement répartis, pourquoi

masquer la distribution ?

– Masquer complètement les pannes du réseau et des noeuds est impossible (résultat théorique)

• Impossible de distinguer un ordinateur lent d'un ordinateur en panne

• Impossible d'être certain qu'un ordinateur a réalisè une certaine opération avant de tomber en panne

– La transparence totale a un coût• Conserver les caches exactement à jour à chaque MAJ de

la copie principale

• A chaque écriture en cache mémoire on écrit sur le disque

Page 34: Systèmes d'Information Répartis - INSA Lyonperso.citi.insa-lyon.fr/sfrenot/cours/SID/cours/SID10...Stéphane Frénot -MID - V.0.0.3 I-Intro 32 Transparence de la distribution •

Stéphane Frénot -MID - V.0.0.3 I-Intro 34

Systèmes distribués : Une vision globale

•Caractéristiques des Systèmes distribués

•Modèles de systèmes distribués

•Réseaux

•Communication Interprocessus

Fondements

•Temps et états globaux

•Coordination et Accords

Algorithmes distribués

•Objets distribués et Invocation distante

•Sécurité

•Nommage

•Exemple : les EJB / Webservices

Middleware

•Support pour système d'exploitation

•Systèmes de fichiers distribués

•Systèmes multimédia distribués

•Mémoire partagée distribuée

•Exemple : Le système MACH

Infrastructure Système•Transaction et Contrôle de concurrence

•Transactions distribuées

•Réplication

Données partagées

Page 35: Systèmes d'Information Répartis - INSA Lyonperso.citi.insa-lyon.fr/sfrenot/cours/SID/cours/SID10...Stéphane Frénot -MID - V.0.0.3 I-Intro 32 Transparence de la distribution •

Stéphane Frénot -MID - V.0.0.3 I-Intro 35

Biblio

• Kenneth P. Birman, "Reliable Distributed Systems", Springer, 2005

• George Coulouris, Jean Dollimore, Tim Kindberg "Distributed Systems : Concepts and Design », Addison-Wesley

• Michel raynald, Tous...

• Andrew S. Tanenbaum "Distributed Operating Systems", Prentice-Hall

• Sape Mullender, 2nd Edition "Distributed Systems », Addison-Wesley

• Clemens Szyperski with Dominik Gruntz and Stephan Murer, "Component-Software Beyond Object-Oriented Programming"

• Richard Monson-Haefel, "Enterprise JavaBeans"

• Thierry Brethes, François Hisquin and Pierre Pezziardi "Serveurs d'applications", Eyrolles

• Jean-Marie Chauvet, "Services Web avec SOAP, WSDL, UDDI, ebXML", Eyrolles

• James Goodwill, "Mastering Jakarta Struts"