Documente Academic
Documente Profesional
Documente Cultură
Application
DB
Autre
// presentation
echo "Hello " . $userName . "!";
Description
Qualit
Les applications Web utilisent des protocoles de transport tels que HTTP, qui sont
stateless, par consquent, ces protocoles ne garantissent pas le succs d'une
transaction. donc, la qualit des donnes ne peut tre garantie.
Vitesse
Le temps de rponse une requte par les applications web est lev. Mais, les
requtes concurrentes les unes avec les autres sur les mmes ressources
dentreprise rduisent la vitesse globale dexcution des requtes.
Complexit
Scurit
Problmatiques
Les entreprises sont en mutation permanente:
La ncessit de surmonter :
les incohrences,
La mauvaise communication
Lhtrognit de certains sous systmes, rsultant dune longue histoire.
Quelle Solution ?
Produire des Applications Entreprises
= Urbanisme + Architecture
LUrbanisme et lArchitecture
Lurbanisme du Systme dinformation dfinit les rgles dchanges et
dinteraction entre les blocs (ne dfinit pas la structure interne des
blocs).
Larchitecture est lart de construire ces blocs. Larchitecture respecte
les rgles de lurbanisme qui aura dfini la finalit du btiment et les
contraintes de construction, mais dispose dans ce cadre dune grande
libert.
Urbaniste et Architecte
Urbaniste: conoit le SI dun point de vue global et labore
larchitecture densemble : Vision globale et gnrale;
Architecte: labore les plans dun difice et travaille dans le cadre fix
avec une Vision dtaille.
Cette diffrence tant faite, la confusion persiste parfois
essentiellement du fait de la pnurie durbaniste des SI
10
Architecture des SI
Un SYSTME peut tre dfini comme "un ensemble d'lments en
interaction et formant un tout".
Le SYSTME D INFORMATION peut tre dfini comme lensemble des
moyens mis en uvre pour stocker, traiter, gnrer et restituer les
informations ncessaires au bon fonctionnement de lentreprise ou
de lorganisme.
Ainsi, l'tude de l'ARCHITECTURE d'un SYSTME DINFORMATION
consiste examiner la structure d'un ensemble de composants
fonctionnels, applicatifs, matriels et logiciels ainsi que le mode de
relation qu'entretiennent ces composants.
11
12
14
Architecture Logicielle
15
16
l'architecture 1-tiers,
l'architecture 2-tiers,
l'architecture 3-tiers,
les architectures n-tiers.
17
L'architecture 1-tier
Aven les PC en rseau, il est devenu
possible de dployer une application un
tier sur plusieurs ordinateurs
indpendants.
Plusieurs utilisateurs se partagent des
fichiers de donnes stocks sur un serveur
commun.
La gestion des conflits d'accs aux donnes
est prise en charge par chaque programme
de faon indpendante.
18
Client / Serveur
Apparition
dbut des annes 1990.
Raisons :
Le cot lev du temps CPU des gros systmes qui
a pouss les utilisateurs demander des moyens
pour dporter les traitements sur les postes de
travail,
La volont de vouloir utiliser opportunits offertes
par les nouvelles interfaces graphiques
L'mergence d'un standard interfaces graphiques
et d'un standard OS de fait pour la station de
travail : Microsoft Windows.
19
Client / Serveur
L'architecture client/serveur est une des modalit des architectures
informatiques distribu.
Au sein de cette architecture, on trouve :
Des offreurs de services (serveurs)
Des consommateurs de services (client).
Les clients et les serveurs sont des modules fonctionnels dont la logique est
encapsule dans leurs interfaces respectives.
Les clients et les serveurs peuvent tre localiss sur des machines
ddies.
20
Client / Serveur
Classification des architectures Client/Server selon le Gartner Group
21
L'architecture 2-tiers
Architecture 2-Tiers appele client-serveur de premire gnration ou
client-serveur de donnes.
Le poste client se contente de dlguer la gestion des donnes un
service spcialis.
Les changes entre le client et le serveur seffectue travers rseau
reliant les deux machines grce des mcanismes relativement
complexes pris en charge par un middleware.
22
Le Middleware
Cest l'ensemble des couches rseau et services logiciel qui
permettent le dialogue entre les diffrents composants d'une
application rpartie. Ce dialogue se base sur un protocole applicatif
commun, dfini par l'API du middleware.
Le middleware est dfini par le Gartner Group comme une interface
de communication universelle entre processus. Il reprsente
vritablement la clef de vote de toute application client-serveur.
L'objectif principal du middleware est d'unifier, pour les applications,
l'accs et la manipulation de l'ensemble des services disponibles sur
le rseau, afin de rendre l'utilisation de ces derniers presque
transparente.
23
Le Middleware
Le choix d'un middleware est dterminant en matire d'architecture,
il joue un grand rle dans la structuration du systme d'information.
Pour certaines applications devant accder des services
htrognes, il est parfois ncessaire de combiner plusieurs
middlewares. Dans ce cas, le poste client doit connatre et mettre en
oeuvre plusieurs IPC, on en vient la notion de client lourd.
24
L'architecture 3-tiers
Larchitecture 3-Tiers remdie aux lacunes des architectures 2-tiers. La
solution rsiderait dans l'utilisation d'un poste client simple d'un
poste client simple communicant avec le serveur par le biais d'un
protocole standard.
Dans ce but, l'architecture trois tiers applique les principes suivants :
les donnes sont toujours gres de faon centralise,
la prsentation est toujours prise en charge par le poste client,
la logique applicative est prise en charge par un serveur intermdiaire.
L'architecture 3-tiers
Ces trois niveaux tant indpendants, ils peuvent tre implants sur
des machines diffrentes, de ce fait :
le poste client ne supporte plus l'ensemble des traitements, il est moins
sollicit et peut tre moins volu, donc moins coteux,
les ressources prsentes sur le rseau sont mieux exploites, puisque les
traitements applicatifs peuvent tre partags ou regroups (le serveur
d'application peut s'excuter sur la mme machine que le SGBD),
la fiabilit et les performances de certains traitements se trouvent amliores
par leur centralisation,
il est relativement simple de faire face une forte monte en charge, en
renforant le service applicatif.
27
Limitations
le serveur HTTP constitue la pierre angulaire de l'architecture et se trouve
souvent fortement sollicit et il est difficile de rpartir la charge entre client
et serveur.
On se retrouve confront aux pineux problmes de dimensionnement
serveur et de gestion de la monte en charge rappelant l'poque des
mainframes.
De plus, les solutions mises en uvre sont relativement complexes
maintenir et la gestion des sessions est complique.
Les contraintes semblent inverses par rapport celles rencontres avec
les architectures deux tiers : le client est soulag, mais le serveur est
fortement sollicit. Le phnomne fait penser un retour de balancier.
Le juste quilibrage de la charge entre client et serveur semble atteint avec
la gnration suivante : les architectures n-tiers.
29
Architectures n-tiers
32
Vue
Intgrateur
Mtier
donnes
33
B
A
SGBD
34
35
B
A
SGBD
36
37
38
Besoin de traitements
Un exemple : comment implanter une mthode de sauvegarde pour le Bean Person?
Pour implanter cette mthode nous devons avoir des informations sur la nature (BDR, XML, etc.) et
les paramtres (login, mot de passe, etc.) du systme de persistance.
Ces informations ne peuvent pas tre reprsentes par une proprit du bean Person :
- ce ne sont pas des donnes de lapplication,
- ils seraient dupliques dans chaque instance,
39
Besoin de traitements
Nous devons donc ajouter un paramtre cette mthode :
40
Besoin de traitements
Nouveaux objectifs :
q supprimer les dpendances entre donnes et traitements,
q rassembler les traitements parpills,
Solution : il faut ranger le code technique de sauvegarde dans une classe spcialise qui va se
charger de la sauvegarde de tous les beans :
41
Besoin de traitements
Il peut exister plusieurs versions de cette classe (JDBCStorage, FileStorage,
XmlStorage) qui rendent le mme service mais de manire diffrente.
B
A
SGBD
C
q Les services sont dvelopps indpendamment et la couche dintgration va faire le lien entre A/C, A/D, B/D, C/B et C/D.
q On peut classer les services en fonction de leur rle.
44
DAO
SGBD
45
Les contrleurs
Un contrleur assure :
q limplantation du protocole dentre,
q le traitement et la validation des requtes clientes,
q lappel aux couches internes.
Contrleur
B
DAO
SGBD
46
Les vues
Contrleur
Vue
DAO
SGBD
47
Contrleur
Mtier B
Vue
DAO
SGBD
Mtier C
48
Application
Client
Contrleur
Objet
CORBA
Application
Client
Mtier B
DAO
Vue
Mtier C
SGBD
Service
Web
50
Bibliographie:
PATTERN-ORIENTED SOFTWARE ARCHITECTURE, A
Pattern Language for Distributed Computing,
By : Frank Buschmann, Kevlin Henney and Douglas C.
Schmidt, 2007
51