1 Archi

Vous aimerez peut-être aussi

Vous êtes sur la page 1sur 109

Page 1

Technos pour les applis C/S : Introduction Anas ABOU EL KALAM


Technologie des applications
Technologie des applications
client-sereur
client-sereur
UE !S" #$%
UE !S" #$%
Support de cours To&e #
Support de cours To&e #
Anas ABOU EL KALAM
Anas ABOU EL KALAM
anas'a(ouel)ala&*enseeiht'+r anas'a(ouel)ala&*enseeiht'+r
Page 2
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
,lan
,lan
Introduction / -otions g.n.rales Introduction / -otions g.n.rales

/e /e
l0in+or&ation centralis.e au client-sereur
l0in+or&ation centralis.e au client-sereur

Les 1&iddle2ares3
Les 1&iddle2ares3

Les architectures distri(u.es


Les architectures distri(u.es

Application : architectures internet


Application : architectures internet
Page 3
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
,lan
,lan
Introduction / -otions g.n.rales Introduction / -otions g.n.rales

/e /e
l0in+or&ation centralis.e au client-sereur
l0in+or&ation centralis.e au client-sereur

Les architectures distri(u.es


Les architectures distri(u.es

Les 1&iddle2ares3
Les 1&iddle2ares3

Application : architectures internet


Application : architectures internet
Page 4
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Introduction : situation actuelle
Introduction : situation actuelle
E++ort de recherche et de production industrielle au niveau mondial :
- l'apparition de composants de rapidit. et de co&ple4it. en
croissance continue.
- la possibilit de dveloppement de solutions logicielles et
organisationnelles irralistes quelques annes auparavant.
Mutation permanente des concepts, des
techniques et des organisations associes aux
applications informatiques.
Page 5
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Introduction : s5st6&es disponi(les
Introduction : s5st6&es disponi(les
On dispose prix accessible pour les entreprises et le grand public de
calculateurs puissants munis :

de SE volus

d'I7M volues

de capacit.s de stoc)age normes

de capacit.s de traite&ents rapides

de &o5ens d8interconne4ion "r.seau4 locau4" trs


performants

de &o5ens d8interconne4ion "longue distance"


bas prix et de bande passante importante.
Standardisation, C/S, ...
Page 6
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Introduction : Modes de co&& entre progs
Introduction : Modes de co&& entre progs
Modle conversationnel
e.g., conversation tlphonique, sockets (dans TCP / IP
Modle ! appel de procdure
e.g., Machine ! sous, "PC
Modle as#nchrone
e.g., poste, $ail
Page
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Co&&unication as5nchrone par &essages :
Co&&unication as5nchrone par &essages :
aantages
aantages
%pplis co$$unicantes ne sont plus lies l&une ! l&autre.
Peuvent avoir des caractristiques di''rentes de disponi(ilit et de d(it
%pplis 'ont appel ! un gestionnaire de $essages applicati's
! n&ont plus ! se proccuper des pro(l$es de co$$ inhrents au) changes
! Il leur su''it de placer / e)traire $essages dans des 'iles d&attente
! "*le gestionnaires + transiter $essages de 'iles d&attente en 'iles d&attente ,
(ventuelle$ent intgrit, ...
Sparation nette entre dveloppe$ent d&applications et e)ploitation de s#st$e
-a standardisation (%PI co$$une d&accs ren'orce utilisation ces techniques
%s#nchronis$e per$et de dvelopper des applications qui traitent in'os . au 'il
de l&eau /, i.e. au 'ur et ! $esure que les donnes sont disponi(les, tout en cr0tant
les pointes d&activit, si cela est ncessaire
Page "
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Le C/S : d.+inition 9(asi:ue;
Le C/S : d.+inition 9(asi:ue;
%rchitecture rseau dans laquelle +
donnes localises et traits sur S // accessi(le au) C +
client $et des requ0tes,
serveur rend le service de$and.
...utiliser co$$unication par $essages de donnes en $ode
as#nchrone o''erte par les protocoles de transport
!
1
er
$ssg + C envoie requ0te e)cution traite$ent au S
!
2
nd
$ssg + S envoie rponse (aprs avoir e''ectu traite$ent
CLIENT
SERVEUR
Requte
Rponse
X-data-req
X-data-ind
X-data-req
X-data-ind
Page #
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Le C/S en &ode &essage : Architecture g.n.rale
Le C/S en &ode &essage : Architecture g.n.rale
3onctionne$ent le plus 'rquent en C/S +
$ode requ0te rponse pour une population de C et de S
Poste client
$seau
%rc&itecture
de communication
'Middle(are'
Poste client
Poste ser)eur
$equ*te
$ponse
$equ*te
$ponse
$equ*te
$ponse
Page 1+
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Le C/S : applications 9#/%;
Le C/S : applications 9#/%;
in'or$atique de gestion
algorith$ique rpartie,
in'or$atique industrielle,
%pplications internet ....
4ans son acception la plus co$plte+ possi(ilit de
d'inir n5i$porte quelle architecture de co$$unication.
Chaque entit est ! la 'ois client et serveur
Chaque entit $et et traite des requ0tes
Page 11
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
C/S :
C/S :
applications 9%/%;
applications 9%/%;
pplications coopratives 91Cooperatie 2or)1;
!nsemble d'entits logicielles coop.rant au mo"en d'un rseau la
ralisation d'une t<che in+or&ati:ue
#"stmes rpartie 91/istri(uted Co&puting1;
pplications s"stmes et rseaux indispensables au fonctionnement des
machines en rseau
$ntelligence rtificielle %istribue 91/istri(uted AI1;
pplication cooprative mettant en relation des agents qui fonctionnent
selon des approches drives de l'$
&e calcul massivement parallle 91=rid Co&puting1;
pplication de calcul ralis par le travail en parallle et en coopration d'un
nombre lev de processeurs
&es s"stmes rpartis de contr'le commande de procds industriels
(pplication de contr'le en temps rel de procds tenant compte des
contraintes de )o# et de s*ret de fonctionnement.
Page 12
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Le C/S en &ode &essage : Architecture g.n.rale
Le C/S en &ode &essage : Architecture g.n.rale
6otions 7 8uestions ! traiter 9
Modles de rpartition
!
donnes
!
traite$ents
!
4ans une architecture rseau

%PI

Middle:are

...
Page 13
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
,lan
,lan
Introduction / -otions g.n.rales Introduction / -otions g.n.rales

/e /e
l0in+or&ation centralis.e au client-sereur
l0in+or&ation centralis.e au client-sereur
Les 1&iddle2ares3
Les 1&iddle2ares3
Les architectures distri(u.es
Les architectures distri(u.es
Application : architectures internet
Application : architectures internet
Page 14
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
-ieau4 d8a(straction d8une application
-ieau4 d8a(straction d8une application

Couche pr.sentation Couche pr.sentation +$,-. +$,-.

interaction de l'application avec l'utilisateur.


/rer saisies clavier0souris1 prsentation info l2cran
%oit 3tre conviviale et ergonomique

Logi:ue applicatie> traite&ents Logi:ue applicatie> traite&ents


travaux raliser par l'application
4raitements locaux : contr'les dialogue au niveau $,-1 aide la saisie1 5
4raitements globaux constituant l2appli elle m3me :
! business logic : rgles internes qui rgissent l2entreprise

/onn.es /onn.es
mcanismes permettant la gestion des informations stoc6es par l'application
Page 15
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
-ieau4 d8a(straction d8une application
-ieau4 d8a(straction d8une application
Page 16
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
7es trois niveaux peuvent 3tre imbriqus ou rpartis de diffrentes
manires entre plusieurs machines ph"siques.
-ieau4 d8a(straction d8une application
-ieau4 d8a(straction d8une application
&e no"au de l'application no"au de l'application est compos de

la logique de l'affichage0prsentation

la logique des traitements.


&e dcoupage et la rpartition de ce no"au permettent de distinguer les
architectures applicatives suivantes :

# #-tiers +tage.1

% %-tiers 889 7lient0#erveur

? ?-tiers 889 pplications distribues

n n-tiers.
Page 1
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
L8architecture un-tiers : d.+inition
L8architecture un-tiers : d.+inition

&es trois couches applicatives sont intimement lies et


s'excutent sur le m3me ordinateur

On ne parle pas ici d'architecture client-serveur1 mais


d'informatique centralise.

%ans un contexte multi-utilisateurs1 on peut rencontrer deux


t"pes d'architecture mettant en :uvre des applications un tiers :

des applications sur site central

des utilisateurs accdant depuis des sites distinctes +terminaux


passifs. aux m3mes donnes
889 partage de fichiers ph"siquement localiss sur site
central
Page 1"
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
L8architecture un tiers : e4e&ple du
L8architecture un tiers : e4e&ple du
&ain+ra&e
&ain+ra&e 9#/%; 9#/%;

ccs multi-utilisateurs ccs multi-utilisateurs

&es utilisateurs se connectent aux applis l'aide de ter&inau4 passi+s


esclaves.

&es applis sont excutes sur Sereur central +mainframe.


qui prend en charge l'intgralit des traitements1
! " compris l'affichage qui est simplement dport sur des terminaux passifs
Page 1#
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
L8architecture un tiers :
L8architecture un tiers :
&ain+ra&e
&ain+ra&e 9%/%; 9%/%;
vantages
;acilit d'administration
&arge palette d'outils de conception1 de programmation et
d'administration a"ant atteint un niveau de maturit et de fiabilit
7entralisation utilisation optimale des ressources
-ainframe 889 <oint dur ...
%mods
mergence des interfaces utilisateur
$nterface utilisateur en mode caractre =uge obsolte par les
utilisateurs >88 mergence bureautique1 ...
r-habillage permet de ra=eunir +/?$.1 mais au prix d'une lourdeur
Mais Mais
Page 2+
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
L8architecture un tiers : Li&itations
L8architecture un tiers : Li&itations
#ite central

$nterface utilisateur en mode caractres

7ohabitation d'applications micro exploitant des donnes communes n'est pas


fiable au del d'un certain nombre d'utilisateurs.
Ainsi est n. le concept du client-sereur client-sereur ''' '''
#olution doit concilier

l'interface utilisateur moderne moderne des applications sur micro-ordinateurs.

;iabilit ;iabilit des solutions sur site central1 qui grent les donnes de fa@on
centralise1
%onc 5

il faut scinder scinder les applications en plusieurs parties distinctes et cooprantes

gestion centralise des donnes1

gestion locale de l'interface utilisateur.


Page 21
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Mod6les de r.partitions :
Mod6les de r.partitions :
sch.&a du
sch.&a du
=artner =roup
=artner =roup 9#/@; 9#/@;
Page 22
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Le sch.&a du =artner =roup
Le sch.&a du =artner =roup 9%/@; 9%/@;

,r.sentation distri(u.e

habillage graphique de l'affichage en mode caractres


d2applications fonctionnant sur site central

<oste client conserve une position d2esclave 0 serveur


,r.sentation distante

7lient serveur de prsentation

#erveur ensemble traitements

7lient que l2affichage

$nconvnient

/nration trafic rseau fort

ucune rpartition charge entre 70#

!xemples

A-BindoC1 %ec4< sur Dax1 <<7 sur $E-


Page 23
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Le sch.&a du =artner =roup
Le sch.&a du =artner =roup 9?/@; 9?/@;
=estion distante des donn.es

7lient serveur de donnes

7lient totalit de l2appli

#/E% centralis gestion donnes et contr'le d2intgrit

#ouvent pour applis t"pe infocentre 0 banques de donnes

$nconvnient

4rafic rseau asseF important


Ge soulage pas normment le client
Traite&ent distri(u.

7lient serveur de traitement

%coupage de l2appli se fait au plus prs de son no"au et


les traitements sont distribus entre le client et le serveur

ppel de procdures

vantage

optimiser rpartition charge

&imite trafic rseau

$nconvnient

7 H # doivent l'avance connaItre et implmenter


procdures accomplir
Page 24
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Le sch.&a du =artner =roup
Le sch.&a du =artner =roup 9A/@; 9A/@;

Bases de donn.es distri(u.es

Dariante du 70# de donnes dans laquelle une


partie des donnes est prise en charge par le client

$ntressant si
l2appli doit grer de gros volumes de donnes
On souhaite disposer de temps d2accs rapide
7ontraintes de confidentialit
/onn.es et traite&ents distri(u.s

4ire partie de la notion de composants rutilisables et


distribuables pour rpartir au mieux la charge entre 70#

rchitecture complexe -!D


Page 25
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Le sch.&a du =artner =roup
Le sch.&a du =artner =roup 9@/@; 9@/@;

-e correspondent pas -e correspondent pas
rai&ent B des applis C/S rai&ent B des applis C/S
Archi %-tiers Archi %-tiers
Page 26
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
L8architecture deu4 tiers : ,r.sentation
L8architecture deu4 tiers : ,r.sentation
le poste client se contente de d.l.guer la gestion des donn.es un
service spcialis.

!.g.1 appli de gestion fonctionnant sous BindoCs et exploitant #/E% centralis


7e t"pe d'application permet de tirer partie de
! $nterface riche des ordis dplo"s en rseau1
! 7ohrence des donnes1 qui restent gres de fa@on centralise.
/estion des donnes prise en charge par #/E% centralis1 s'excutant
le plus souvent sur un serveur ddi
7lient envoie requ3te +langage de requ3te e.g.1 #)&. au serveur

%ialogue 70#
! envoi de requ3tes et retour des donnes correspondant aux requ3tes.
Page 2
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
E4e&ple de C/S en architecture deu4 tiers
E4e&ple de C/S en architecture deu4 tiers

client client

<rovoque0initie l'tablissement d'une conversation afin d'obtenir des donnes


ou un rsultat de la part du serveur.

Jmet des requ3tes

sereur sereur
<rogramme qui rpond au client 889 rend le serice demand
&2.change .change de messages
transite travers le rseau reliant les deux machines.
met en :uvre des mcanismes relativement complexes qui sont1 en gnral1
pris en charge par un &iddle2are &iddle2are.
Page 2"
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
,lan
,lan
Introduction / -otions g.n.rales Introduction / -otions g.n.rales
/e l0in+or&ation centralis.e au client-sereur /e l0in+or&ation centralis.e au client-sereur

Les Middle2ares Les Middle2ares


Les architectures distri(u.es
Les architectures distri(u.es
Application : architectures internet
Application : architectures internet
Page 2#
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Le Middle2are : d.+inition 9#/%;
Le Middle2are : d.+inition 9#/%;

<ourquoi K <ourquoi K

ssurer changes donnes entre 7 et # en &as:uant les diffrents problmes


potentiels lis :
r.partition des donnes et traitements +accs distant1 baisse performances.
h.t.rog.n.it. des matriels et des logiciels en opration.
...

)uoi K )uoi K

.l.&ent du &ilieu 8 inter+ace de co&& unierselle entre processus

&2ensemble des couches couches rseau rseau et services services logiciel logiciel qui permettent le dialogue
entre les diffrents composants d'une application r.partie.
Page 3+
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Le Middle2are : d.+inition 9%/%;
Le Middle2are : d.+inition 9%/%;
envo"er des requ3tes d'accs des donnes +t"pe #)&. d'un client vers un
serveur et recevoir les rsultats

Ourir une conne4ion entre entits

!nvoi de re:uCtes SDL vers le serveur

Conersion des +or&ats de requ3tes

Enoi des rsultats

Conersion des rsultats

+/estion des erreurs.

Eer&eture de connexion.
Page 31
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Le Middle2are : serices
Le Middle2are : serices
7omment raliser les fonctions classiques des s"stmes centraliss 7omment raliser les fonctions classiques des s"stmes centraliss
que l'on rencontre maintenant en univers rparti que l'on rencontre maintenant en univers rparti K K

Conersion Conersion : #ervice utilis pour la communication entre machines mettant en


oeuvre des formats de donnes diffrents formats de donnes diffrents1 elle est prise en charge par la ;<

Adressage Adressage : <ermet d'identifier la machine serveur sur laquelle est localis le
service demand afin d'en dduire le chemin d'accs dduire le chemin d'accs.
nnuaire

S.curit. S.curit. : <ermet de garantir la confidentialit et la scurit des donnes l'aide de


mcanismes d'authentification d'authentification et de chiffrement chiffrement des informations.

Co&&unication Co&&unication : <ermet la transmission des messages entre les deux s"stmes
sans altration.
connexion au serveur
prparation de l'excution des requ3tes
rcupration des rsultats
d-connexion.
Page 32
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Le Middle2are : serices
Le Middle2are : serices
Page 33
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Le Middle2are : e4e&ples
Le Middle2are : e4e&ples

SDLF-et SDLF-et : $nterface permettant de faire dialoguer une application cliente avec une
base de donnes Oracle.
<assage requ3te #)&1 ppel procdures
indpendance vis vis du rseau +topologie1 protocole. et des O#
multi-thread 8 plusieurs connexions dans un seul process Oracle #erveur
=ournalisation et tra@age1 gestion des connexions avortes1 ...
E/A 9 E/A 9E Enterprise nterprise / /ata ata A Access;-SDL ccess;-SDL
,trognit : interface commune pour clients s'excutant sur LMN platformes
requ3tes +simultanes. sur LOP E%
Due uniforme indpendante du t"pe plateforme1 forme stoc6age1 ....
O/BC O/BC: $nterface standardise isolant le client du serveur de donnes.
7'est l'implmentation par -icrosoft du 7&$ +7all &evel $nterface. du #)& ccess /roup
!lle se compose de :
gestionnaire de driver standardis1
<$ s'interfa@ant avec l'application cliente
driver correspondant au #/E% utilis
Page 34
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Le Middle2are : e4e&ples
Le Middle2are : e4e&ples
/CE /CE +%istributed 7omputing !nvironment. 0 Q<7
<ermet processus tournant sur LL ordis de communiquer comme s'il sont en local
%ans prog client1 fonction locale qui a le m3me nom que fonction distante
et qui1 en ralit1 appelle fonctions de la bibliothque Q<7
! grent connexions rseaux1 passage params1 retour rsultats
%e m3me1 c't serveur1 fonction0processus qui attend connexions clientes1
appelle votre fonction avec bons param1 renvo"er les rsultats.
;onctions qui prennent en charge les connexions rseaux sont des "stub"
! $l faut donc crire stub 7 H stub #1 en plus du prog 7 et fctn distante
-oniteur transactionnel +4ransaction <rocessing -onitor.

#orte de "scheduler sophistiqu" pour partager ressources limites


+E%1 mmoire. entre un grand nombre d'utilisateurs simultans et
plusieurs serveurs
planification de l'excution des transactions1 s"nchronisation ...
e.g.1 E! 4uxedo pour ?nix0CindoCs1 4op !nd de G7Q pour ?nix1
$E- 4<;1 Eull 4<O1 ...
Page 35
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Le Middle2are : !e&ar:ues
Le Middle2are : !e&ar:ues
&e choix d'un middleCare est dterminant en matire d'architecture1

il =oue un grand r'le dans la structuration structuration du s"stme d'information


<our certaines applis devant accder des services htrognes1 il est
parfois ncessaire de combiner plusieurs middleCares.

poste client doit connaItre et mettre en :uvre plusieurs $<7 +$nter <rocess
7ommunication.
-canismes : queues de messages1 mmoire commune1 smaphores

client lourd client lourd


Page 36
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
C/S deu4 tiers : Aantages
C/S deu4 tiers : Aantages
permet l'utilisation d'une interface utilisateur riche1
<ermet l'appropriation des applications par l'utilisateur1
$ntroduit la notion d'interoprabilit.
Page 3
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
C/S deu4 tiers : Li&ites
C/S deu4 tiers : Li&ites
<oste client supporte la grande ma=orit des traitements applicatifs

Client lourd Client lourd ou +at client +at client


le poste client est :
fortement sollicit1
devient de plus en plus complexe
doit 3tre mis =our rgulirement pour rpondre aux besoins des utilisateurs1
co*ts et la complexit de sa maintenance.
la conversation entre client et serveur est asseF bru"ante et s'adapte mal des
bandes passantes troites
les applications se pr3tent asseF mal aux fortes montes en charge car il est difficile
de modifier l'architecture initiale1
Page 3"
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
C/S deu4 tiers : Solution G
C/S deu4 tiers : Solution G

But But
Qsoudre limitations du 70# R-tiers tout en conservant des avantages

Solution G Solution G
rchitecture plus volue1 facilitant les forts dploiements moindre
co*t

architectures distri(u.es'
architectures distri(u.es'
Page 3#
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
,lan
,lan
$ntroduction 0 Gotions gnrales

%e l2information centralise au client-serveur

Les architectures distri(u.es


Les architectures distri(u.es


pplication : architectures internet
Page 4+
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
L8architecture trois tiers : o(Hecti+s
L8architecture trois tiers : o(Hecti+s
,rincipe ,rincipe
utilisation d'un poste client si&ple si&ple communicant avec le serveur par le biais
d'un protocole standard standard.

%onnes tou=ours gres de fa@on centralise1

prsentation tou=ours prise en charge par le poste client1

logique applicative prise en charge par un serveur intermdiaire



Archi ?- tiers
Archi ?- tiers
Eorce des archi ?-tiers Eorce des archi ?-tiers
IIJ d.ploie&ent immdiat1
889 .olutions peuvent 3tre transparentes pour l'utilisateur
889caractristiques du poste client sont li(res
Page 41
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
L8architecture trois tiers : r.partition des
L8architecture trois tiers : r.partition des
traite&ents
traite&ents
pre&ier nieau
affichage et traitements locaux +contr'les saisie1 mise en forme. pris en
charge par client1
deu4i6&e nieau
traitements applicatifs globaux pris en charge par service applicatif
troisi6&e nieau
services de base de donnes pris en charge par un #/E%.
Page 42
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
L8architecture trois tiers : pre&i6res tentaties
L8architecture trois tiers : pre&i6res tentaties
#erveur d2application centralis
7ommunication 70# utilisant dialogue Q<7
-canismes pour dialogue Q<7
?nix intgr au s"stme G;#
-icrosoft Get%%! puis %7O- 889 rendu obselte par .Get
#olutions propitaires +;or4 ou $mplicite. permettent l2exploitation d2un serveur
d2application par des clients simplement quips d2un environnement d2excution
+runtime.
Mais Mais
S A(sence de standards A(sence de standards
S Mise en place CoKteuse Mise en place CoKteuse
Page 43
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
E4e&ple d0archi trois tiers : sereur de transactions
E4e&ple d0archi trois tiers : sereur de transactions

Moniteur transactionnel Moniteur transactionnel : mise en relation 7lient avec #erveurs de donnes

Ato&icit. Ato&icit. : &a transaction ne peut 3tre partiellement effectue1

Coh.rence Coh.rence : transaction fait passer la base d'un tat cohrent un autre1

Isolation Isolation : transaction n'est pas affecte par le rsultat des autres

/ur.e /ur.e : modifications dues une transaction sont durablement garanties.

Soit transaction a d.+initie&ent eu lieu> soit elle n0a Ha&ais e4ist. Soit transaction a d.+initie&ent eu lieu> soit elle n0a Ha&ais e4ist.

A,I A,I : masque complexit de l2organisation des serveurs de donnes


Page 44
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
L8architecture trois tiers : la r.olution Internet
L8architecture trois tiers : la r.olution Internet
Lorld Lide Le( +TUOU. :
permet de publier des informations richement mises en forme
affichage H traitements locaux +contr'les saisie1 mise en forme. pris en charge par client
Q<G!4 889 7!QG fut l'acteur principal du BBB 889 BM7
7aractre universel1 rendu possible par l'utilisation de standards standards reconnus
,4-&1 pour la description des pages disponibles sur le Beb1
,44<1 pour la communication entre navigateur et serveur Beb1
47<0$<1 le protocole rseau largement utilis par les s"stmes ?nix1
7/$1 l'interface qui permet de dclencher des traitements sur les serveurs Beb
excution d2un processus +sur #erveur. pour chaque invocation +par 7lient.
prfrer extensions comme $#<$1 G#<$ ou #ervlets =ava1 5
Intranet
<rincipes d2internet L technologies dplo"es dans entreprise
on utilise rseau local de l2entreprise
donnes gres par un #/E%
Page 45
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
L8architecture trois tiers : r.partition des
L8architecture trois tiers : r.partition des
traite&ents
traite&ents
Giveaux indpendants
peuvent 3tre implants sur machines diffrentes

poste client ne supporte plus traitements


moins sollicit1 moins volu1 moins co*teux1 5

ressources prsentes sur rseau sont mieux exploites

puisque les traitements applicatifs peuvent 3tre partags ou regroups

;iabilit0performances certains traitements se trouvent amliores par


centralisation

relativement simple de faire face une forte monte en charge1 en


renfor@ant le service applicatif
Page 46
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
L8architecture trois tiers : e4e&ple en Intranet
L8architecture trois tiers : e4e&ple en Intranet
poste client client prend la forme d'un simple navigateur Beb1
service applicati+ applicati+ assur par un serveur ,44<

co&&unication aec le S=B/ co&&unication aec le S=B/ met en oeuvre les mcanismes bien connus des
applications client-serveur de la premire gnration.
distinction entre deux tron@ons de comm
indpendants et dlimits par serveur ,44< :

circuit +roid : relie client au serveur Beb


pour permettre l'interaction avec l'utilisateur
et la visualisation des rsultats.

circuit chaud : permet collecte donnes V


peut voluer sans impacter la configuration
des postes clients
Page 4
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Architecture trois tiers : Le client l.ger
Architecture trois tiers : Le client l.ger
9Thin Client;
9Thin Client;
Ge prend en charge que

prsentation de l'application avec1 ventuellement

une partie de logique applicative permettant une vrification immdiate de la


saisie et la mise en forme des donnes
souvent constitu d'un simple navigateur $nternet
7lient ne communique qu'avec la fa@ade ,44< de l'application et ne dispose d'aucune
connaissance des traitements applicatifs ou de la structure des donnes exploites.
&es volutions de l'application sont donc possibles sans ncessiter de modification de
la partie cliente.
!xemple de clients lgers

poste BindoCs quip d'un navigateur ,4-&

station rseau du t"pe G7 +Oracle1 #un et $E- .

terminal Get<7 +CindoCs.


Page 4"
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Architecture trois tiers : Le client
Architecture trois tiers : Le client
Li&ites '''
&es pages ,4-&1 m3me avec l'aide de langages de script1 sont loin d'atteindre les
possibilits offertes par l'environnement du client :

les pages affiches sont relativement statiques1

le dveloppement multi-plateforme peut 3tre contraignant

l'ergonomie de l'application est limite aux possibilits du navigateur.

le multi-fen3trage n'est pas facile mettre en :uvre1

le droulement de l'application doit se faire squentiellement1


$l est possible d'aller au del des possibilits offertes par le langage ,4-& en "
introduisant des applets Wava ou des contr'les Actie".
Wava

Orient ob=et1 multi-plateforme

se pr3te bien une utilisation sur $nternet

WD-1 pplet1 <$1 W%E71 Q-$1 7OQE.


Page 4#
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Architecture trois tiers : Les actie"
Architecture trois tiers : Les actie"
rponse devant le phnomne Wava +multi-plateforme.
adaptation $nternet des composants O7A constituant clef de vo*te de l'archi %G
peuvent 3tre intgrs une page ,4-& mais1 la diffrence des applets Wava1 ils
persistent sur le poste client aprs utilisation.
permet d'optimiser les transferts de composants sur le rseau
mais alourdissement du poste client1 problmes de scurit1 5
&es composants ctiveA peuvent communiquer entre eux en utilisant la technologie
%7O- ou avec des bases de donnes1 en utilisant O%E7
<rofite de la richesse de CindoCs mais rend les applications dpendantes de cette
plateforme
ctiveA dans application $ntranet vs intr3t de cette architecture
! 889 rappelle fortement le client-serveur deux tiers.
Page 5+
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Architecture trois tiers : Le serice applicati+
Architecture trois tiers : Le serice applicati+
architecture trois tiers
logique applicative prise en charge par le serveur ,44<.
+se retrouve dans la position du poste client d'une application deux tiers.
#erveur ,44< peuvent mettre en :uvre technos bases sur :

C=I C=I : mcanisme standard1 mais grand consommateur de ressources1

-SA,I -SA,I ou ISA,I ISA,I : <$ de Getscape et -icrosoft permettant l'criture


d'applications multi-thread intgres au serveur ,44<1

scripts serveur comme AS, AS, +ctive #erver <age pour $$#. ou ,7, ,7, +pour
pache. sont interprts par le serveur pour gnrer des pages
d"namiquement1

serlets Maa serlets Maa ou MS, MS, : qui appliquent le mcanisme des applets aux
traitements raliss sur le serveur.
Page 51
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Architecture trois tiers : Li&itations
Architecture trois tiers : Li&itations
&'architecture trois tiers a corrig les excs du client lourd
en centralisant une grande partie de la logique applicative sur un serveur
&e poste client1 qui ne prend sa charge que la prsentation et les contr'les de
saisie1 s'est trouv soulag et plus simple grer.
<ar contre1 le serveur constitue la pierre angulaire de l'architecture et se trouve
souvent fortement sollicit
il est difficile de rpartir la charge entre client et serveur.
On se retrouve confront aux problmes de dimensionnement serveur et de
gestion de la monte en charge.
&es contraintes semblent inverses par rapport celles rencontres avec les
architectures deux tiersXX
client est soulag1 mais serveur fortement sollicit 5

Apparition des architectures n-tiers' Apparition des architectures n-tiers'


Page 52
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
pallier limitations architectures trois tiers H concevoir applis puissantes et
simples maintenir.

distri(uer distri(uer plus librement la logi:ue applicatie logi:ue applicatie1

faciliter la r.partition de la charge r.partition de la charge entre tous les niveaux.


-ettre en :uvre une approche o(Het approche o(Het pour offrir
! plus grande souplesse d'implmentation
! faciliter la rutilisation des dveloppements.
! 7apacits d'extension

permettre l'utilisation d'interfaces utilisateurs riches1

sparer nettement tous les niveaux de l'application1


Les architectures n-tiers : pr.sentation
Les architectures n-tiers : pr.sentation
Page 53
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
&'appellation n-tiers pourrait faire penser que cette architecture met en
:uvre un nombre indtermin de niveaux de service1 alors que ces derniers
sont au maximum trois.

&a distri(ution d8application entre de &ultiples serices et non la


multiplication des niveaux de service.

co&posants N&.tiersP co&posants N&.tiersP spcialiss et indpendants1 introduits par les


concepts orients ob=ets

composants mtiers rutilisables

rendent service gnrique0rutilisable et clairement identifi.

sont capables de communiquer entre eux et peuvent donc cooprer en tant


implants sur des machines distinctes.
Les architectures n-tiers : pr.sentation
Les architectures n-tiers : pr.sentation
Page 54
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
%istribution des services applicatifs sur plusieurs serveurs

facilite l'intgration de traitements existants dans les nouvelles applications....


!x : connecter un programme de prise de commande existant sur le site de
l'entreprise une application distribue en utilisant un middleCare
Les architectures n-tiers : pr.sentation
Les architectures n-tiers : pr.sentation
Ob=ectif gnral

volutivit

-aintenabilit

<erformances
)uantit de donnes stoc6e
%isponibilit du serveur
Gombre d2utilisateurs
Page 55
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
&es volutions de l'informatique permettent de masquer la complexit des
mcanismes mis en :uvre derrire une approche de plus en plus conceptuelle.

<rogrammation : langage machine OO +e.g.1 Wava.

<rotocoles rseau : couche ph"sique OQE YOb=ect Qequest Ero6er[


ensemble de fonctions +classes Wava1 bibliothques 7LL.... qui implmentent un
Y bus logiciel [ par lequel des ob=ets envoient et re@oivent des requ3tes et des
rponses1 de manire transparente et portable
! permet une totale transparence des appels distants
, permet de manipuler un ob=et distant comme s'il tait local

flux d'infos : octets messages


Les architectures n-tiers : Le rQle de l8approche
Les architectures n-tiers : Le rQle de l8approche
o(Het
o(Het
Page 56
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
,lan
,lan
$ntroduction 0 Gotions gnrales
%e l2information centralise au client-serveur
Les architectures distri(u.es
Les architectures distri(u.es

Application : architectures internet


Application : architectures internet
Page 5
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Architectures n-tiers pour le Web

Rappels modle OSI

Les architectures 3-tiers classiques

les architectures Web

Le tiers client

Le tiers Web

Le tiers du milieu

Le tiers ressource (EIS)


Page 5"
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
ouches OSI
7. Application
6. Prsentation
5. Session
4. Transport
3. Rseau
2. Liaison
1. Phsique

!"S# $!et%or&
"ile Sste'$
(P# (nternet Protocol
Rseau)
Locau)
Lignes
spcialises
Point * Point
%pplications -.P/0P
directes
Rseau)
Pu+lics
Pratique'ent tout support ,e trans'ission
Rseau
tlphonique
R!(S- AT.
/ncapsulation (P 0sur LA! ou liaisons SL(P-PPP1
"TP# $"ile
Trans2er
Protocol$
34R#$/)ternal
4ata
Representation$
RP5#$Re'ote
Proce,ure 5all$
S.TP $Si'ple
.ail Trans2er
Protocol$
64P# 6ser 4atagra' Protocol 0non connect1
T5P# Trans'ission 5ontrol Protocol 0connect1
%pplications pile
123/41
565MP751
Page 5#
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
ouches OSI ! ni"eau transport
1er des niveau) utilisa(le par user pour dvelopper des applis C/S
"alise un service de trans$ission entre processus (trans$ission
de (out en (out, ;end to end;.
Selon les options de conception il assure+
<estion des conne)ions.
protocoles en $ode connect
protocoles en $ode non connect.
6gociation de qualit de service.
Multiple)age/clate$ent
Contr*le d5erreur.
Contr*le de 'lu).
Contr*le de squence.
Seg$entation.
Page 6+
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
ouches OSI ##$ ni"eau transport ##$ %&
=rient conne)ion
per$et ! deu) $achines qui co$$uniquent de contr*ler
l5tat de la trans$ission.
"e$ettre en ordre datagra$$es en provenance du protocole IP
>ri'ier le 'lot de donnes a'in d5viter une saturation du rseau
3or$ater les donnes en seg$ents de longueur varia(le a'in de les
;re$ettre; au protocole IP
Multiple)er les donnes
'aire circuler si$ultan$ent des in'or$ations provenant de
sources distinctes sur une $0$e ligne
Initialisation et 'in d5une co$$unication
Page 61
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
ouches OSI ##$ ni"eau transport ##$ '(&
trans$ission de donnes de $anire trs si$ple entre deu)
entits d'inies par ?IP , 6@ port
Mode nonAconnect+
pas de $o#en de vri'ier si tous datagra$$es envo#s sont
(ien arrivs ! destination et ni dans quel ordre
6on 'ia(le + aucun contr*le de 'lu) ni de congestion
Cn revanche, pour un paquet D4P donn, l5e)actitude du
contenu des donnes est assure grEce ! un checksu$
Page 62
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
ouches OSI ##$ ni"eau session

structure et s#nchronise les dialogues point ! point en $ode


$essage
!
S#nchronisation

qui peut $ettre ! tel $o$ent


!
gestion des .transactions/

$canis$e de correction des erreurs de traite$ent par


restauration d5un tat antrieur connu.
"e$arques

Dne seule session peut ouvrir et 'er$er plusieurs conne)ions


!
Pour travail + appel a$i qui de$ande in'os suppl$entaires

Plusieurs sessions peuvent se succder sur la $0$e conne)ion


!
Coup de 'il (avec votre pouse ! un de vos a$is (avec sa 'e$$e
Page 63
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
ouches OSI ##$ ni"eau session ##$ R&
7e mode de communication du transport tant le $ode $essage
as#nchrone, la session est d'inie pour o''rir ! l5usager un $ode de
dialogue de t#pe s#nchrone.
FG Per$ettre ! un usager d5e)cuter une procdure ou une
'onction sur un autre site+
Pro(l$e dlicat + %ssurer en environne$ent rparti une
s$antique pour l5appel de procdure distante voisine de celle
connue en univers centralis.
C)e$ples + S#st$es d5o(Hets rpartis
I%>% "MI +;"e$ote Method Invocation;
C="J% +;Co$$on =(Hect "equest Jroker %rchitecture;
KSAS=%P +;Ke( Services A Si$ple =(Hect %ccess Protocol;
Page 64
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
ouches OSI ##$ ni"eau pr)sentation
Traite du codage des donnes changes
di''rents sites a#ant des reprsentations di''rentes peuvent
utiliser les donnes
C)e$ple
;$ots; F suite d5octets ($ot de L2 (itsFcollection de M octets
Intel FFG octets nu$rots de droite ! gauche
Motorola FFG de gauche ! droite
Si $achine ! (ase Intel NFFG $achine ! (ase Motorola O
FFG -es conversions de t#pes + caractres, nu$riques, construits
S#nta)e a(straite
analogue de s#nta)e d'inition de t#pes dans langage volu
S#nta)e de trans'ert
"eprsentation unique dans le rseau des valeurs changes
pour trans'rer les donnes
Page 65
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
ouches OSI ##$ ni"eau pr)sentation ##$
standards de con"ersion
"seau) pu(lics
S#nta)e a(straite %S61+ P2QR
S#nta)e de trans'ert +P2QS
SD6A=S/ Internet
P4" + ;ePternal 4ata "epresentation;.
S#st$es d5o(Hets rpartis C="J%
I4- + ;Inter'ace 4e'inition -anguage;.
C4" + Co$$on 4ata representation.
Ke( services
KS4- + ;Ke( Services 4e'inition -anguage;.
"PC/Cncoded + ;S#nta)e de trans'ert PM-;
Page 66
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
ouches OSI ##$ ni"eau pr)sentation
Co$pression des donnes
Trans'erts avec application d5algorith$es de co$pression
e.g., son, l5i$age ou la vido...
4ans =SI, ces algos sont 'ournis par couche prsentation
Scurit
Cr#ptographie, ...
...
Page 6
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
ouches OSI ##$ ni"eau application

cette couche propose gale$ent des services 'ournir !


l5utilisateur des 'onctions dont il a (esoin coura$$ent

Principale$ent des services de trans'ert de 'ichiers, (3TP,


de $essagerie (SMTP de docu$entation h#perte)te (TTTP
etc.
Page 6"
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Accs au* in+ormations distantes ! le WWW
=(Hecti'
Per$ettre l5accs ! des donnes distantes pour des personnes.
Jases
S#st$es de dsignation D"- (;Dni'or$ "esource -ocator;,
Protocole de co$$unication TTTP (T#per Te)t Trans'er
Protocol;,
Initiale$ent 'or$at TTM-FG 'or$at MIMC C)tension
FFG 'or$at PM-
C)tension + per$ettre co$$unications entre progra$$es+
notion de services :e(
S=%P USi$ple =(Hect %ccess Protocol&,
KS4- UKe( Services 4e'inition language&
D44I 5Dniversal 4escription 4iscover# and Integration5
Page 6#
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Architectures n-tiers pour le Web

Rappels modle OSI

Les architectures 3-tiers classiques

les architectures Web

Le tiers client

Le tiers Web

Le tiers du milieu

Le tiers ressource (EIS)


Page +
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Rappel ! architectures 3-tiers classiques
Page 1
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Les architectures ,eb
Page 2
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Les architectures ,eb ! le tiers client
,eb bro,ser
&(A
client lourd (+at client)- applets- apps
Web-ser"ice
Page 3
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Les architectures ,eb ! le ,eb tiers
re.ois les requ/tes 0%%& des clients et ren"ois les r)ponses
permet la s)paration entre pr)sentation et 1 business lo2ic 3
2)nre du contenu d4namiquement
trans+orme des requ/tes 0%%& dans un +ormat compris par l5application
contient la lo2ique du +lot de pr)sentation
identi+ie la session de l5utilisateur
supporte plusieurs t4pes de clients
Page 4
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Le tiers ,eb ! %echnoli2ies 6 architecture
7 8I9:ast8I
7 AS&
7 ;a"a Ser"lets
7 ;S&
7 &0&- &4thon
7 ;a"aScript
Page 5
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Les architectures ,eb ! le tiers du milieu
78estion de composants
7 %ol)rance de +autes- haute disponibilit)
7 &assa2e < l=)chelle
7 >alance de char2e
7 Ressources spoolin2
7 %ransaction ?ana2ement
7 onsole de mana2ement
7 S)curit)
Page 6
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Les architectures ,eb ! le tiers ressource
>ase de donn)es (databases)
7 ;(O- S@L9;- ;(>- A(OABE%
7 ER& (Enterprise Resource &lannin2) 6 EAI (Enterprise Application
Inte2ration)
7 ;CEE onnector- protocoles propri)taires
Page
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
&late-+ormes
/eu4 &ondes/logi:ue R' /eu4 &ondes/logi:ue R'
Page "
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
,lan
,lan

/e l0in+or&ation centralis.e au client-sereur


/e l0in+or&ation centralis.e au client-sereur

Les architectures distri(u.es


Les architectures distri(u.es

Application : architectures 2e(


Application : architectures 2e(

,late-+or&e '-ET
,late-+or&e '-ET

,late-Eor&e M%EE
,late-Eor&e M%EE

Les serices Le(


Les serices Le(
Page #
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
' -ET
' -ET

4echnologie0spcification -icrosoft

<rsentation : $!

#erveur ,44< 0 ;4< : $$#

7ommunication : 7O-1 -#-)1 7O-L

7omposants : 7O-1 -4#

Eusiness >-9 %ata : ctiveA %ata Ob=ect1 O%E7

ccs aux donnes : O&!%E

<ersistance : #)& #erver1 !xchange1 ctive %irector" et G4;#

5
Page "+
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
' -ET
' -ET
Qponse de -icrosoft WR!!
pour %vpt d'applis d'entreprises multi-niveaux1 bases sur des composants
correspond un ensemble -icrosoft qui comporte un frameCor61 des langages de
dveloppement1 des spcifications techniques et des s"stmes +#"stmes
d'exploitation1 &ogiciels serveurs....
M parties

7&Q

E7&

#<.G!4
7&#
74#
-#$&
Page "1
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Era&e2or) '-ET
Era&e2or) '-ET
enironne&ent d8e4.cution

CL! : moteur d'excution1

compiler le code source en MSIL +-#


$ntermediate &anguage.

Tre excution1 code -#$& est compil la


vole en code spcifique au s"stme gr\ce au
compilateur W$4 +Wust $n 4ime..

AS, '-ET : environnement d'excution


d'applications et de services Ceb

LinEor&s : environnement d'excution


d'applications lourdes.
Serices

ECL : +Era&e2or) Class Li(rar5 Era&e2or) Class Li(rar5. : librairie


OO

S/K 9 9#oftCare %evelopment ]it; ; :


implmentation de ces classes
Page "2
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
AS,'-ET / Le(Eor&s
AS,'-ET / Le(Eor&s
AS,'-ET est une a(straction de 7TT,

,ages co&pil.es et e4.cut.es dans le CL!

-odle de dveloppement bas sur les Beb;orms 5

S.parer traite&ents et pr.sentations

formulaire reprsente la page Ceb

4raitements contenus dans Rde page appele Ycode behind[

7ette page peut 3tre code dans n2importe quel langage du


;rameCor6 .Get et implmente vnements 5

<age finale +gnre au client. intgre prsentation et 7ode YEehind[


Page "3
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
,lan
,lan

/e l0in+or&ation centralis.e au client-sereur


/e l0in+or&ation centralis.e au client-sereur

Les architectures distri(u.es


Les architectures distri(u.es

Application : architectures 2e(


Application : architectures 2e(

,late-+or&e '-ET
,late-+or&e '-ET

,late-Eor&e M%EE
,late-Eor&e M%EE

Les serices Le(


Les serices Le(
Page "4
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
M%EE
M%EE
Standard international
Une appli M%EE asse&(le des co&posants

Co&posants client : appelts

Co&posants Le( : #ervlets1 W#<

Co&posants Business : !WE

Gotion de E"te7ode

<$ : !WE1 W%E71 Wava #ervlet 4echnolog"1 W#<


4echnolog"1 W-#1 W41 Wava-ail 4echnolog"1 W;1
WA<1 W#1 5.
Page "5
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Architecture n-tiers : Les
Architecture n-tiers : Les Maa Beans Maa Beans

Les Maa Beans Les Maa Beans


co&posant logiciel r.utilisa(le.
notion large englobe aussi bien un simple bouton qu'une appli complte.
7oncrtement1 les Wava Eeans sont des classes Maa utilisant des
inter+aces particuli6res.
peut 3tre utilis indpendamment1 sous la forme d'une simple applet1 ou
intgr un dveloppement Wava
&es beans sont prvus pour pouvoir inter-agir aec d8autres (eans au
point de pouvoir dvelopper une application simplement en assemblant
des beans avec un outil graphique ddi.
#un fournit gratuitement un tel outil : E.%.]. +Eean %evelopment ]it.
Page "6
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Architecture n-tiers : Les
Architecture n-tiers : Les Maa Beans Maa Beans
caractristiques :
persistance : elle permet gr\ce au mcanisme de srialisation de sauvegarder
l'tat d'un bean pour le restaurer ainsi si on assemble plusieurs beans pour former
une application1 on peut la sauvegarder.
communication gr\ce des vnements qui utilise le modle des couteurs
peut dvoiler son comportement ses futurs utilisateurs l'aide :
S proprits qu'il expose et rend accessible l'aide d'accesseurs1
S des mthodes qu'il permet d'invoquer1 comme tout ob=et Wava1
S des vnements qu'il peut gnrer pour avertir d'autres composants.
introspection : ce mcanisme permet de dcouvrir de fa@on d"namique l'ensemble
des lments qui compose le bean +attributs1 mthodes et vnements. sans
avoir le source.
possibilit de paramtrer le composant : les donnes du paramtrage sont
conserves dans des proprits.
sont livrs sous forme de fichiers WQ
Page "
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Architecture n-tiers : Les
Architecture n-tiers : Les EMB EMB
but : +aciliter la cr.ation d8applications distri(u.es pour les entreprises.
&es !WE sont des composants et en tant que tel1 ils possdent certaines caractristiques
comme la r.utilisa(ilit.1 la possibilit de s8asse&(ler pour construire une application1
etc ...
&es !WE et les beans n'ont en commun que d'3tre des composants.
&es =ava beans sont des composants qui peuvent 3tre utiliss dans toutes les
circonstances.
&es EMB doient o(ligatoire&ent s8e4.cuter dans un enironne&ent
sereur d.di.'
&es !WE ne co&portent pas +orc.&ent de partie isi(le1
&es !WE permettent aux dveloppeurs de se concentrer sur traitements orients mtiers
&es !WE et l'environnement dans lequel ils s'excutent prennent en charge certain
traitements : gestion des transactions1 persistance des donnes1 ...
peuvent communiquer avec des Wava Eeans c't client de fa@on indpendante du
protocole +$$O<1 Q-$1 %7O-.1
Page ""
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Architecture n-tiers : Les
Architecture n-tiers : Les EMB EMB
&es !WE sont adapts pour 3tre intgrs dans une architecture M-tiers ou n-tiers.
&es !WE s'excutent dans un environnement particulier: le sereur d8EMB
fournit des fonctionnalits utilises par un ou LL conteneurs d'!WE qui
constituent le serveur d'!WE.
serveurs d'!WE commerciaux
! E! Beblogic1 $E- Bebpshere1 #un $<lanet1 -acromedia WQun1 Eorland pp#erver1...
serveurs d'!WE open source :
! WEoss1 Wonas
Page "#
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Architecture n-tiers : Les
Architecture n-tiers : Les Microsoft Transaction Microsoft Transaction
Server Server
: 9
: 9MTS; MTS;
COM COM : : Co&ponents O(Hects Model Co&ponents O(Hects Model
mcanisme au niveau du s"stme d2exploitation dans lequel il est possible d2installer des
composants serveurs afin de fournir des services varis des logiciels clients
dveloppement de logiciel est facilit1 puisqu2il est possible d2crire un programme en
faisant appel des traitements effectus par un serveur 7O- dvelopp par un tiers.

MTS MTS
#erveur destine simplifier la gestion et le suivi des composants distribues +7O-.
;onctionnalits associes aux composants : prise en charge automatique des
transactions pour protger l'intgrit des donnes1
scurit base de r'les1
accs aux bases de donnes1 aux logiciels de mise en file d'attente des
messages.
optimisation des performances telles que les pools de connexion.
Page #+
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Co&&unication entre o(Hets : les !MI
Co&&unication entre o(Hets : les !MI
mettre en :uvre facilement des ob=ets distribus
permettre l'appel1 l'excution et le renvoi du rsultat d'une mthode
excute dans une machine virtuelle diffrente de celle de l'ob=et
l'appelant.
#erveur : machine sur laquelle s'excute la mthode distante
7lient : appel mthode
obtenir une r.+.rence sur l'ob=et distant
appeler la mthode partir de cette rfrence.
Stu(: reprsentation locale de l'interface de l'ob=et serveur +S)eleton.
?n ob=et distribu se caractrise par son interface et son adresse +?Q&..
Page #1
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Co&&unication entre o(Hets : CO!BA
Co&&unication entre o(Hets : CO!BA
#tandard dfini par l'O-/ pour faire communiquer des ob=ets1 au sens
logiciel du terme1 quels que soient le langage de programmation utilis et la
machine sur laquelle s'excute le programme.
?ne application accde un ob=et distant en utilisant une tlcommande
locale1 appele prox". 7e prox" lui permet de dclencher les mthodes de
l'ob=et distant l'aide de primitives dcrites avec le langage $%&.
&'O-/ effectue toute une srie de recommandations connues sous le nom
de 7OQE services visant proposer des interfaces gnriques pour chaque
t"pe de service usuel +nommage1 transaction1 c"cle de vie1 .....
Page #2
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Co&paraison M%EE et '-ET
Co&paraison M%EE et '-ET
Page #3
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Co&paraison M%EE et '-ET
Co&paraison M%EE et '-ET
Page #4
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Co&paraison M%EE et '-ET
Co&paraison M%EE et '-ET
Page #5
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Co&paraisons
Co&paraisons
MS, MS, ,7, ,7, AS, AS, Asp'-et Asp'-et
&angage Wava <,<
VBScript ou JScript Tous les langages
supports par .Net (C#,
VB.Net, Delphi, ...)
mode
de!cution
Compil en
pseudo code
("#te code)
$nterprt $nterprt Compil en pseudo code
(%S$&)
principau!
a'antages
(epose sur la
plate)*orme
Ja'a dont elle
hrite des
a'antages
+pen source
Nom"reuses
"i"lioth,-ues et
sources
dapplications
li"res disponi"les
.acile / %0V
.acile / mettre en
oeu're
(epose sur la plate)*orme
.Net dont elle hrite des
a'antages
1#si2#g et e'nementiel
Code "ehind pour
sparation a**ichage 3
traitements
principau!
incon'nient
s
D"ogage
asse4
*astdieu!
Beaucoup de
code / crire
D"ogage asse4
*astdieu!
Beaucoup de code /
crire
support partiel de
la 5++ (seult '6)
D"ogage *astdieu!
Beaucoup de code
.onctionne essntlt sur
plate)*ormes 1indo2s
5as de 5++, o"7et
mtier encapsul dans
des o"7ets C+% lourd /
mettre en oeu're
.onctionne
essentiellement sur plate)
*ormes 1indo2s. ( Voir le
pro7et %ono pour le
support dautres plate)
*ormes)
Page #6
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM

rchitecture n-tiers base d2ob=ets est le grand //GG4 X

%e nos =ours1 l2important n2est pas de maItriser Wava1 DE1


ou 7#1 mais de comprendre en quoi ces langages sont
utiles pour implmenter des archi solides1 volutives et
maintenables.

Intgration l'existant : 1 point partout, la balle au centre


Choisir .NET quand tout le systme informatique repose sur un
enironnement !i"rosoft # et inersement # "$est possi%le

&'EE "onne"teur uniersel (&C)*

. NET +e% seri"es


Co&paraison M%EE et '-ET
Co&paraison M%EE et '-ET
Page #
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Le pragmatisme de Microsoft face l'ouverture de !""
Un deloppeur Visual ,asi" passera sans diffi"ult - .Net. !ais plus diffi"ilement
- &aa. l$inerse tant /alement rai
chez Microsoft, tout est packag : un problme correspond une solution
sur J2EE, souvent solutions, parfois sous forme de briues assembler
!"approche #$et est donc plus simple et adapte la %ME#
Mais la plate&forme manue de maturit, Microsoft ne couvre pas tous
les besoins d"une %ME
faire le choi' #$et, c"est accepter de dpendre de Microsoft l o( )
avec J2EE on a le choi' entre diffrents diteurs et m*mes des solutions
gratuites ou uasiment gratuites en +pen ,ource-#
argument avant tout marketing : #$et accepte certes plus de 2. langages de
dveloppement l o( J2EE n"accepte ue Java
Mais /e vois mal un dveloppeur 0obol dvelopper pour #$et# 0e n"est pas impossible,
mais la culture, les architectures, les applications### tout est diffrent avec #$et ou J2EE
Co&paraison M%EE et '-ET
Co&paraison M%EE et '-ET
Page #"
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
#$et moins c%er sur le court terme, mais apr&s '
Microsoft : solutions tant plus packages, elles ncessitent moins de
dveloppements, moins de ressources humaines
la phase d"acuisition des comptences est plus courte, la mise en oeuvre
est plus rapide et tout cela co1te forcment moins cher ue l"assemblage de
briues de J2EE#
!e retour sur investissement est donc plus rapide sur le court terme#
2vec le temps, les choses s"uilibrent et )
c"est m*me plus dlicat sur le long terme, car il n"est pas impossible
ue la phase initiale de J2EE, certes plus fastidieuse, s"avre plus
avantageuse sur le long terme-#
Co&paraison M%EE et '-ET
Co&paraison M%EE et '-ET
Page ##
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Architecture coh.rente
Architecture coh.rente
Architecture n-tiers Architecture n-tiers
vision cohrente du s"stme d'information.
4ous les services sont reprsents sous la forme d'ob=ets interchangeables
qu'il est possible d'implanter librement1 en fonction des besoins.
potentiel trs important et permettrait utilisation ob=ets mtiers rutilisables
moindre co*t et volution en fonction des besoins
voir 5
comment il sera utilis1
quel co*t
comment sera gre la transition depuis les environnements actuels.
Page 1++
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
!.capitulati+ S e4e&ples
!.capitulati+ S e4e&ples

Architecture #-tiers Architecture #-tiers


pplication mainframe

Architecture %-tiers Architecture %-tiers


70# avec #/E%Q et middleCare orient message1 transactionnel ou ob=et

Architecture ?-tiers Architecture ?-tiers


7lients lgers1 serveurs Ceb1 serveurs d2application et middleCare

Architecture n-tiers Architecture n-tiers


Qpartition de charge sur diffrents serveurs1 mise en :uvre de fermes
de serveurs1 5
Page 1+1
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
,lan
,lan

/e l0in+or&ation centralis.e au client-sereur


/e l0in+or&ation centralis.e au client-sereur

Les architectures distri(u.es


Les architectures distri(u.es

Application : architectures 2e(


Application : architectures 2e(

,late-+or&e '-ET
,late-+or&e '-ET

,late-Eor&e M%EE
,late-Eor&e M%EE

Les serices Le(


Les serices Le(
Page 1+2
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Serices 2e(
Serices 2e(
Quoi ? Quoi ?
composant lo2iciel repr)sentant une +onction applicati"eA
peut /tre accessible depuis une autre application

client- ser"eur ou autre ser"ice Web


'tilise r)seau* Internet 6 protocoles de transports disponiblesA
peut /tre impl)ment) comme une application autonome ou comme un
ensemble d=applications
Eass sur A-&
<rotocoles simples et standards
Pourquoi ? Pourquoi ?
&2intgration de modules distribus est trs difficile cause de l2htrognits des
s"stmes
dialoguer distance via $nternet1 indpendamment des plates-formes et des
langages sur lesquelles elles reposent
7OQE tait une solution mais sa complexit a frein son dveloppement
Page 1+3
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Serices 2e(
Serices 2e(
Comment ? Comment ?
protocoles standardisant les modes d=in"ocation mutuels de composants
applicati+s

ouche de transport
HTTP, FTP ou SMTP,

?essa2es D?L
SOAP

(escription des ser"ices


WSDL

Recherche de ser"ice
UDDI
Scnario Scnario
Page 1+4
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
E4e&ple
E4e&ple
Page 1+5
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
E4e&ple
E4e&ple
lient

(emande ser"ice

:ait recherche s)mantique dans annuaire '((I qui donne


la liste des prestataires habilit)s < r)pondre < la requ/te

R)ception r)ponse (en D?L)

Recherche inter+ace du composant r)+)renc) dans


annuaire
Inter+ace WS(L

()crit l5ensemble des ser"ices impl)ment)s par l5obEet distribu)


et il est possible de ")ri+ier si l5inter+ace correspond < la demande
&ro*4 SOA&

in"ocation ser"ice
Page 1+6
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
L0architecture Le( Serices '-ET
L0architecture Le( Serices '-ET
Page 1+
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
L0architecture Le( Serices M%EE
L0architecture Le( Serices M%EE
Page 1+"
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
C/C
C/C
Avantages

Simple- pr)sent sur toutes plates-+ormes 9 lan2a2es

()plo4able partout

ouche l)2re sur s4stmes e*istants


Problmes

Bou"eau

Applis ind)pendantes et contrFl)es par or2anisations di++)rentes

:iabilit) non 2arantie

G
Page 1+#
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
BIBLIO
BIBLIO
-icromax $nformation #ervices&td. TUUU.
G-4iers Eac6ground rticles.
CCC.n-tiers.com1 Octobre TUUU
;rdricGW-G 7dricG$7O&#1 7hristopheDQ!.
Wava client-serveur.
!"rolles1 TUUO.
4hierr"Q?$^ !mmanuel&$/G!.
7orba : Ob=ectifs et architecture.
CCC.etu.info.unicaen.fr0cliquet0dess0corba0doc-fr0nodeM.html1 vril
TUU_.
<hilippe?#7&%! Wean-;ran@ois/O/&$G.
%u client-serveur au Ceb-serveur.
,erms #ciences1 TUUU.
%aniel -Q4$G.
rchitecture des applications rparties.
http:00CorldserverR.oleane.com01 Octobre TUUU.
0dmartin0rchitecture applications reparties.htm.

Vous aimerez peut-être aussi