• Aucun résultat trouvé

Chapitre I : Protocoles client serveur et architectures distribuées

N/A
N/A
Protected

Academic year: 2022

Partager "Chapitre I : Protocoles client serveur et architectures distribuées"

Copied!
15
0
0

Texte intégral

(1)

Chapitre I : Protocoles client serveur et architectures distribuées

Eric Leclercq & Marinette Savonnet

Département IEM / UB Eric.Leclercq@u-bourgogne.fr Bureau G212 Aile des Sciences de l’Ingénieur

Mise-à-jour :Février 2008

(2)

Plan du chapitre

Plan du chapitre

Les différents modes d’interaction client serveur Définitions

Exemples

Architectures d’environnements distribués Architectures type

Système d’Information Infrastructure de SI Le couplage des systèmes

Les logiciels clé pour les infrastructures

(3)

Interactions C/S Définitions

Les trois modes principaux

Définition : (Client serveur de données)

le modèle C/S de données regroupe les protocoles qui ont pour objectif le transfert de données

Définition : (Client serveur d’affichage)

le modèle C/S de d’affichage regroupe les protocoles qui ont pour objectif de permettre la prise de contrôle à distance

Définition : (Client de procédures)

le modèle C/S de procédures regroupe les protocoles qui ont pour objectif l’exécution à distance

(4)

Interactions C/S Définitions

Les trois modes principaux

Client Serveur

Appel de procédure et envoi des paramètres

Client Serveur

Envoi des résultats

Evénement clavier/souris

Primitives GraphiquesImages bitmap

Processus

Envoi d’un requete Envoi des résultats

Client/Serveur de données Client/Serveur de procédures

Données

Client/Serveur d’affichage Client Serveur

(5)

Interactions C/S Exemples

Protocole réseau et mode client serveur

I Client serveur de données : SMB, FTP, NFS, JDBC, ODBC, POP etc.

I Client serveur d’affichage : TELNET, SSH, X11, ICA, VNC, RDP, etc.

I Client serveur de procédure : RPC, Java-RMI (JRMP), CORBA-IIOP Remarque : être capable d’identifier clairement la différence entre partage et transfert de fichiers

Exercice :

1. Définir chaque protocole

2. Déterminer où sont exécutés les processus utilisateur et serveur dans le cas d’une connexion : SSH, TELNET, FTP, SMB, NFS, JDBC, IMAP.

Faire un schéma pour chaque cas.

(6)

Architecture ED Architectures type

Architectures type

I Systèmes distribués : coopération de systèmes sans objectif figé

I Systèmes fédérés : coopération de systèmes avec un objectif commun (exemple : bases de données fédérées)

I Cluster : grappe de machines homogènes localisées (disponibilité, répartition de charge, partage de ressources)

I Grid : infrastructure constituée d’un ensemble coordonné de ressources potentiellement partagées, distribuées, hétérogènes et sans

administration centralisée (ressources non contrôlées). Exemple : grille de calcul, grille de stockage

(7)

Architecture ED Système d’Information

Notion de Système d’Information

Définition : (Système d’information)

ensemble organisé de ressources matérielles et logicielles permettant d’acquérir, de stocker, de manipuler et de communiquer des informations (textes, images, sons, etc.) dans des organisations.

Selon leur finalité principale, on distingue différents types de SI :

I des systèmes d’information supports d’opérations: traitement de transactions, contrôle de processus industriels, supports d’opérations de communication

I des systèmes d’information supports de gestion: aide à la décision, gestion de la relation client

(8)

Architecture ED Système d’Information

Exemple de systèmes d’informations

I ERP - Enterprise Resource Planning (PGI pour progiciel de gestion intégré) solution logicielle qui intègre tous les composants informatisés permettant d’aider le travail dans l’entreprise ;

I CRM -Customer Relationship Management (GRC gestion de la relation client) : logiciel qui regroupe toutes les fonctions permettant de gérer les relations avec les clients d’une entreprise ;

I SCM - Supply Chain Management : logiciel qui regroupe toutes les fonctions permettant les fournisseurs et la logistique d’une entreprise.

(9)

Architecture ED Système d’Information

Intergiciel / Middleware

Définition :

un middleware (intergiciel) désigne un ensemble de logiciels se plaçant au dessus du système d’exploitation et servant d’intermédiaire entre les différents composant logiciels d’un SI.

On utilise généralement du middleware comme intermédiaire de

communication entre des applications distribuées (programmes applicatifs, BD, capteurs etc.).

Exemples : CORBA, JAVA-RMI sont des middleware orienté traitement permettant l’appel de méthodes à distance, JBDC est un middleware orienté données.

(10)

Architecture ED Infrastructure de SI

Exemple d’infrastructure de SI pour le support des applications

SGBD

SGBD SGBD

Serveur WEB APACHE

Filtrage ipfilter/netfilter + L7

Filtrage

ORACLE / PostgreSQL / MySQL

Transactions / Sessions d’applications

Serveur TOMCAT/JONAS

Partenaire

SOAP

JSP/PHP HTML/CSS/XML/XSLT

JMS/RMI/CORBA

SOAP JDBC/JDO/OJBXML Middleware

Remarque : ajouter messagerie, service de fichier etc. pour d’approcher des éléments d’un SI

(11)

Le couplage des systèmes

Notion de couplage

Définition :

le couplage est une mesure traduisant les dépendances entre composants logiciels ou matériels.

Le couplage peut se situer à différents niveaux dans le SI :

I programmation (technique intrusive)

I stockage (format de stockage)

I transport (format de transmission)

I services réseau : éléments clé de l’infrastructure du SI →influence la disponibilité

(12)

Le couplage des systèmes

Le couplage et quelques propriétés essentielles

Le couplage est un frein à :

I l’évolutivité ;

I lascalability (tenue à la charge, passage à l’échelle) ;

I la disponibilité,

I l’interopérabilité (substituer des composants, permettre le dialogue entre différents composants).

On parle d’architecture :

I fortement couplée pour désigner des systèmes centralisé ou fédéré

I faiblement couplée pour désigner des systèmes distribués.

Exercice :

Quel type d’architecture peut qualifier cluster et grid ?

(13)

Le couplage des systèmes

Comment valider/contribuer aux propriétés

I évolutivité : essentiellement liée à la qualité du logiciel, permettre l’ajoute de fonctionnalité et assurer une indépendance entre les traitements métier et les technologies utilisées pour véhiculer les informations. Une solution consiste à utiliser des protocoles et des formats normalisés ou standards

I lascalability : peut être assurée par une indépendance à la localisation des traitements et des données et par un équilibrage / décomposition de la charge totale.

I la disponibilité : peut être améliorée avec une redondance des ressources. Ceci nécessite une transparence (ou indépendance) à la localisation. Elle décroît inversement au couplage.

(14)

Le couplage des systèmes

Gestion des accès et des protection des flux

Une des problématiques majeure des systèmes distribués est le contrôle d’accès aux ressources (traitement et données).

Pour résoudre cette problématique trois concepts fondamentaux sont mis en œuvre :

I l’authentification (identifier une personne ou une machine) : niveau application et système

I les autorisations (accès aux ressources, aux fonctionnalités) : niveau application

I le chiffrage des échanges : niveau système et réseau

I la traçabilité des opérations : niveau application (ou plus rarement système)

(15)

Offre logiciels

Évolution de l’offre logiciels

NIS, NFS, FTP, SSL, SSH

IA32, IA64, PPC, SPARC, PA−RISC etc.

DNS BIND, DHCP, IMAP, POP, LDAP, SMTP Sendmail JONAS, JBOSS, GERONIMO

SAMBA, Apache, SQUID, TOMCAT, etc.

CORBA, SOAP, JRMP, JMS PostgreSQL

MySQL

CPU

Système d’exploitation Infrastructure Réseau Linux, FreeBSD, NetBSD, OpenBSD, GNU HURD etc.

Infrastructure applicative Intergiciels

Serveur d’application SGBD

Références

Documents relatifs

Ces paramètres permettent au serveur de calculer le contenu de la page à fabriquer et à renvoyer au client : on parle alors de site dynamique car le contenu est calculé à

 Caractériser cette socket en terme de communication : -au moins un numéro de port (associé au service) -éventuellement une adresse IP (interface cible).  Lui permettre de

//On associe un paquet à un buffer vide pour la réception DatagramPacket paquet =new DatagramPacket(buffer,buffer.length());. //On crée un socket pour écouter sur le

Serveur en gestion multi--clients clients en en mode connecté. mode

◮ Réponse : message transmis par un serveur à un client suite à l’exécution d’une opération, contenant le résultat

◆ Le thread veilleur doit créer explicitement un nouveau thread exécutant à chaque nouvelle connexion d’un client (donc à l’exécution de accept ()). ◆ Une socket

– Comment casser la relation forte entre client et serveur, comment rendre le client indépendant du serveur pour l'appel.

En revanche, certaines utilisations comme le continu (streaming) nécessitent l'emploi d'un protocole plus léger et plus rapide, comme UDP (User Datagram Protocol ou protocole