Professional Documents
Culture Documents
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
Modles dexcution
Plusieurs modles
Client/Serveur Communication par messages Communication par vnements Objet Composant Services
Services Web (Web services)
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,
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
Interactions client-serveur
Un client, un serveur Client Serveur Client Plusieurs clients, un serveur Serveur Client
Requte/Rponse
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)
Plate-forme dexcution
Rpartie
Client et Serveur sur deux machines distantes
Pas de partage Communication par messages Htrognit (homognit)
Modle
RPC (Remote Procedure Call)
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
Conception dapplications
3 niveaux
Prsentation
Interfaces
Logique applicative
Traitements Applications mtiers
Donnes
Gestion (stockage, accs, )
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 ?
11
Source: O. Glk
M. Ben Haj Hmida 12
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
Inconvnients
surcharge de la mainframe difficult de la maintenance
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
16
Architecture 2 niveaux
17
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
19
Modle 3 niveaux ( )
Suite
20
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
Inconvnients
toute la complexit rside dans le tiers intermdiaire Lutilisation du modle RPC implique certaines limites comme la rutilisation de code
22
Logique applicative et logiques donnes sont integres dans des objets Modle objets distribus
RMI CORBA DCOM
M. Ben Haj Hmida 23
Inconvnients
La complexit rside dans le tiers intermdiaire
24
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
Inconvnients
toute la complexit rside dans le tiers intermdiare
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
27
Servlet
28
29
JSP Modle 1
Simple et utilis pour les petites applications
30
31
Excution JSP
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
Modle 4 niveaux
35