Vous êtes sur la page 1sur 35

3me Anne Licence applique

Informatique Industrielle
Moez BEN HAJ HMIDA ISSAT Sousse 2009/2010

Plan
Modles dexcution Conception dapplications Architecture 1-tiers Architecture 2-tiers Architecture 3-tiers Architecture 4-tiers Middleware

M. Ben Haj Hmida

Modles dexcution
Plusieurs modles
Client/Serveur Communication par messages Communication par vnements Objet Composant Services
Services Web (Web services)

M. Ben Haj Hmida

Modle client-serveur
Client
Envoi de requtes (demande de service) Excution synchrone

Serveur
Fournit un ou plusieurs services Traitement des requtes squentiel ou parallle

Exemples
Serveur de fichiers, de BD, dimpression, de noms,

M. Ben Haj Hmida

Modle client-serveur
Requte :
message transmis par un client un serveur dcrit lopration excuter pour le compte du client

Rponse :
message transmis par un serveur un client produit suite lexcution dune opration contient le rsultat de lopration excute

M. Ben Haj Hmida

Interactions client-serveur
Un client, un serveur Client Serveur Client Plusieurs clients, un serveur Serveur Client

Requte/Rponse

Un serveur traite plusieurs requtes en mme temps

Un client, plusieurs serveurs Client Serveur Serveur

Un serveur fait appel un autre serveur


M. Ben Haj Hmida 6

Plate-forme dexcution
Centralise
Client et Serveur sur la mme machine
Appel de procdure Invocation de mthode (objet) Partage de ressources Communication par ressources partages Signaux, Tubes (pipes)

M. Ben Haj Hmida

Plate-forme dexcution
Rpartie
Client et Serveur sur deux machines distantes
Pas de partage Communication par messages Htrognit (homognit)

Modle
RPC (Remote Procedure Call)

M. Ben Haj Hmida

Conception dapplications
Dcoupage dune application
Dterminer les procdures qui la composent
Dcoupage fin Augmentation du nombre dappels Peu de calcul interne Augmentation de la charge rseau Dcoupage moins fin Trouver un quilibre entre calcul et communication

Structuration applicative
Dcoupage au sens entreprise

M. Ben Haj Hmida

Conception dapplications
3 niveaux
Prsentation
Interfaces

Logique applicative
Traitements Applications mtiers

Donnes
Gestion (stockage, accs, )

M. Ben Haj Hmida

10

Dfinitions
Application distribue
programmes sexcutant sur 2 ou plusieurs de machines

Architecture
O sexcutent les programmes ? Que fait chaque programme ? Comment ces programmes interagissent ?

M. Ben Haj Hmida

11

Conception d'une application C/S


Exemples de dcoupage Client/Serveur :
Module de gestion des donnes hberg par un serveur distant (SGBD, serveur web) Module de gestion de laffichage gr par un serveur distant (un terminal X)

Source: O. Glk
M. Ben Haj Hmida 12

Conception d'une application C/S

M. Ben Haj Hmida

13

Architecture 1 niveau

Des terminaux non-intelligents sont directement relis l'unit centrale Modle centralis (oppos du modle distribu) La prsentation, le traitement et les donnes entrelacs
M. Ben Haj Hmida 14

Arch. 1 niveau: critiques


Avantages
facilits de dploiement

Inconvnients
surcharge de la mainframe difficult de la maintenance

M. Ben Haj Hmida

15

Architecture 2 niveaux
Requte SQL Rponse SQL

Base de donnes

Client lourd qui traite les diffrentes logiques Client doit connatre la structuration des donnes et comment y accder

M. Ben Haj Hmida

16

Architecture 2 niveaux

Architectures et applications distribues

17

Arch. 2 niveaux: critiques


Avantages
Indpendance par rapport au SGBD

Inconvnients :
Lentrelacement des logiques cause une difficult de la maintenance Si les schmas de la BD changent, tous les clients tombent en panne Les mises jour doivent tre dployes au niveau de tous les clients Une connexion de BD pour chaque client, difficult de la mise lchelle
M. Ben Haj Hmida 18

Modle 3 niveaux

Architectures et applications distribues

19

Modle 3 niveaux ( )
Suite

Architectures et applications distribues

20

Architecture 3 niveaux (RPC)

Client plus lger: sparation de la logique de prsentation des deux autres logiques La logique applicative et la logique daccs aux donnes sont traites au niveau du tiers du intermdiaire tiers du intermdiaire gre les services systme
Contrle de concurrence, threading, transaction, scurit, persistance
M. Ben Haj Hmida 21

Arch. 3 niveaux (RPC): critiques


Avantages
flexibilit de modification de la logique applicative qui rside dans le tiers intermdiaire

Inconvnients
toute la complexit rside dans le tiers intermdiaire Lutilisation du modle RPC implique certaines limites comme la rutilisation de code

M. Ben Haj Hmida

22

Architecture 3 niveaux (Objets distants)


Objet Objet

Logique applicative et logiques donnes sont integres dans des objets Modle objets distribus
RMI CORBA DCOM
M. Ben Haj Hmida 23

Arch. 3 niveaux (Objets): critiques


Avantages
Rutilisation du code

Inconvnients
La complexit rside dans le tiers intermdiaire

M. Ben Haj Hmida

24

Arch. 3 niveaux (serveur Web)


Serveur Web HTML HTML

Le navigateur Web gre prsentation Le client et le serveur communiquent en HTTP La logique applicative et la logique daccs aux donnes sont traites par des technologies de gnration dynamique de contenu (CGI, servlet/JSP, ou ASP)
M. Ben Haj Hmida 25

Arch. 3 niveaux (Web): critiques


Avantages :
type de client omniprsent pas de gestion du client support de plusieurs types de matriel client (exple. Tlphone portable)

Inconvnients
toute la complexit rside dans le tiers intermdiare

M. Ben Haj Hmida

26

Servlet
Composant logiciel crit en Java fonctionnant du cot serveur Conception de composants Web dynamiques Au mme titre: CGI (Common Gateway Interface) qui est trs limit CGI cr un nouveau processus pour chaque requte client
ne peut pas supporter un grand nombre de clients

Les Servlets peuvent tre toutes gres par des threads spars au sein dun mme processus de machine virtuelle
plus efficaces que CGI

M. Ben Haj Hmida

27

Servlet

M. Ben Haj Hmida

28

Java Server Pages


Separe la logique applicatice de la prsentation
Prsentation sous forme de HTML ou XML logique applicatice est implmente en composants Java (Java Beans) ou custom tags (Struts) Meilleure maintenance, rutilisabilit

Repose sur la technologie Servlet

M. Ben Haj Hmida

29

JSP Modle 1
Simple et utilis pour les petites applications

M. Ben Haj Hmida

30

JSP Modle 2 (MVC2)


Pour accder une grosse application dentreprise

M. Ben Haj Hmida

31

Excution JSP

M. Ben Haj Hmida

32

Exemple de Servlet
public class HelloWorldServlet extends HttpServlet { protected void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
res.setContentType("text/html"); PrintWriter out = res.getWriter(); out.println("<html>"); out.println(" <head>"); out.println(" <title>Bonjour tout le monde</title>"); out.println(" </head>"); out.println(" <body>"); out.println(" <h1>Bonjour tout le monde</h1>"); out.println(" Date:" + (new java.util.Date().toString()) + " "); out.println(" </body>"); out.println("</html>"); }

}
M. Ben Haj Hmida 33

Mme exemple en JSP


<html> <head> <title>Bonjour tout le monde</title> </head> <body> <h1>Bonjour tout le monde</h1> Date : <%= new java.util.Date().toString() %> . </body> </html>
M. Ben Haj Hmida 34

Modle 4 niveaux

Architectures et applications distribues

35