CAR ClientServeur

Embed Size (px)

Citation preview

  • 8/7/2019 CAR ClientServeur

    1/21

    Applications Rparties

    rc tecture ent erveur

    INSAT 2009-2010

    Atef Ben Ismail

  • 8/7/2019 CAR ClientServeur

    2/21

  • 8/7/2019 CAR ClientServeur

    3/21

    One Tier (History)

    + Simple

    + Performante

    + Scuris

    - Pas daccs distant

    3 Application Rparties INSAT 2010

  • 8/7/2019 CAR ClientServeur

    4/21

    Organisation des Applications Rparties (Rappel)

    Application

    Application Rpartie

    4 Application Rparties INSAT 2010

    Middleware

    Systme de Communication

    Rseau

    OS

    Support Physique de Communication

    Machine

    Interface

  • 8/7/2019 CAR ClientServeur

    5/21

    Dfinition

    Un systme est un ensemble de composants qui interagissent

    Un service est un comportement dfini par contrat, qui peut tre implment et

    fourni par un composant pour tre utilis par un autre composant, sur la base

    exclusive du contrat (*)

    Mise en oeuvre

    Services et interfaces

    Une interface dcrit linteraction entre client et fournisseur du service

    Point de vue oprationnel : dfinition des oprations et structures dedonnes qui concourent la ralisation du service

    Point de vue contractuel : dfinition du contrat entre client etfournisseur

    (*) Bieber and Carpenter, Introduction to Service-Oriented Programming, http://www.openwings.org

    5 Application Rparties INSAT 2010

  • 8/7/2019 CAR ClientServeur

    6/21

  • 8/7/2019 CAR ClientServeur

    7/21

    Partie oprationnelle

    Interface Definition Language (IDL). Pas de standard, mais sappuie sur un langage

    existant

    Partie contractuelle

    Plusieurs niveaux de contrats:

    Sur la forme : spcification de types -> conformit syntaxique

    -

    Dfinitions dinterfaces 2/2

    smantique Sur les interactions entre mthodes : synchronisation

    Sur les aspects non fonctionnels (performances, etc.) : contrats deQoS

    7 Application Rparties INSAT 2010

  • 8/7/2019 CAR ClientServeur

    8/21

    Dfinition

    Un schma gnral dinteraction au niveau application

    Mis en oeuvre sous des formes diverses (diffrents protocoles)

    RPC, Java RMI, Services Web, etc.

    Proprits

    Le client demande lexcution dun service ; le serveur ralise le service

    Le modle client-serveur

    Client et serveur sont (en gnral, pas ncessairement) localiss sur deux machines

    distinctes

    Indpendance interface-ralisation

    8 Application Rparties INSAT 2010

  • 8/7/2019 CAR ClientServeur

    9/21

    Modle client-serveur : Principes 1/2

    Requte

    Rponse

    Service 1

    Service 2

    Service n

    Serveur

    Client 1

    Client 2

    9 Application Rparties INSAT 2010

    Client

    Emet des requtes (demandes deservice)

    Mode d'excution synchrone

    Le client est l'initiateur du dialogueclient-serveur

    Serveur

    Ensemble de services excutables

    Excute des requtes mises par desclients

    -> excution des services (excutionsquentielle ou parallle)

  • 8/7/2019 CAR ClientServeur

    10/21

    Communication par messages (plutt que par partage de donnes, mmoire

    ou fichiers)

    Requte : paramtres dappel, spcification du service requis

    Rponse : rsultats, indicateur ventuel dexcution ou derreur

    Communication synchrone (dans le modle de base) : le client est bloqu en

    attente de la rponse

    Modle client-serveur : Principes 2/2

    10 Application Rparties INSAT 2010

  • 8/7/2019 CAR ClientServeur

    11/21

    Vu du Client

    Modle Client-Serveur : Partage du serveur

    Vu du serveur

    11 Application Rparties INSAT 2010

    Excution du service (squentiel, concurrent)

    Mmorisation ou non de ltat du client

  • 8/7/2019 CAR ClientServeur

    12/21

    Structuration

    fonctions bien identifies

    sparation interface du service - ralisation

    client et serveur peuvent tre modifis (remplacs) indpendamment

    Protection

    client et serveur sexcutent dans des domaines de protection diffrents

    Intrt du modle Client-Serveur

    Gestion des ressources

    le serveur peut tre partag entre plusieurs clients

    12 Application Rparties INSAT 2010

  • 8/7/2019 CAR ClientServeur

    13/21

    Par des oprations de bas niveau

    Utilisation de primitives du systme de communication

    Exemple : sockets

    Mode non connect (UDP)

    Mode connect (TCP)

    Par des oprations de haut niveau

    Mise en oeuvre du schma client-serveur

    Contexte : langage de programmation

    Appel de procdure distance

    Contexte : objets rpartis

    Appel de mthodes, cration dobjets distance

    13 Application Rparties INSAT 2010

  • 8/7/2019 CAR ClientServeur

    14/21

    Architecture Client-Serveur (2-Tier) 1/3

    14 Application Rparties INSAT 2010

  • 8/7/2019 CAR ClientServeur

    15/21

    Processus cooprant pour excuter une tche

    Caractristiques principales dun client

    Consommateur de service Proactif: lorigine de la demande

    Caractristiques principales du serveur

    Architecture Client-Serveur (2-Tier) 2/3

    Ractif

    Traitement de plusieurs clients

    Contrle daccs

    Garant de lintgrit globale

    15 Application Rparties INSAT 2010

  • 8/7/2019 CAR ClientServeur

    16/21

    + Design Modulaire

    + Minimum de trafic Rseau

    + HMI peut tre spar de la logique mtier

    + Pas de duplication de donnes (tat global observable)+ Gestion simple de la cohrence et de lintgrit des donnes

    + Matrise globale des traitements

    Architecture Client-Serveur (2-Tier) 3/3

    - Concevoir/Implmenter un Protocol de Communication solutions propritaires- Concevoir/Implmenter la persistance des donnes

    - Economiquement trop coteux

    Serveur

    Client 1

    Client 2

    Client 3

    16 Application Rparties INSAT 2010

  • 8/7/2019 CAR ClientServeur

    17/21

    Architecture 3-Tier 2/3

    17 Application Rparties INSAT 2010

    IHMServeur

    traitementServeurdonnes

  • 8/7/2019 CAR ClientServeur

    18/21

    Compose de trois lments (3 couches)

    La couche prsentation (HMI)

    La couche fonctionnelle lie au serveur (ex. Web server)

    La couche de donnes lie au serveur de base de donnes (SGBD)

    Architecture 3-Tier 2/3

    18 Application Rparties INSAT 2010

  • 8/7/2019 CAR ClientServeur

    19/21

    + Flexibilit des requtes client

    + Client lger

    + Flexibilit dans lallocation des ressources+ meilleure rpartition de charge

    + conomiquement moins cher

    Architecture 3-Tier 2/3

    + volutif- Administration plus complique

    - Mise en oeuvre plus complique

    - Mapping Objet Relationnel difficile

    19 Application Rparties INSAT 2010

  • 8/7/2019 CAR ClientServeur

    20/21

    Nombre illimit de parties

    Supporte plusieurs applications

    N-Tier

    20 Application Rparties INSAT 2010

  • 8/7/2019 CAR ClientServeur

    21/21

    www.alcatel-lucent.com -

    21 | A look Forward | January 2010