Arc Hi
Arc Hi
Arc Hi
Page 1
Plan
Introduction / Notions gnrales De linformation centralise au client-serveur
Page 2
Plan
Introduction / Notions gnrales De linformation centralise au client-serveur
Page 3
Mutation permanente des concepts, des techniques et des organisations associes aux applications informatiques.
Effort de recherche et de production industrielle au niveau mondial : - l'apparition de composants de rapidit et de complexit en croissance continue. - la possibilit de dveloppement de solutions logicielles et organisationnelles irralistes quelques annes auparavant.
Page 4
de SE volus d'IHM volues de capacits de stockage normes de capacits de traitements rapides de moyens d'interconnexion "rseaux locaux" trs performants de moyens d'interconnexion "longue distance" bas prix et de bande passante importante.
Page 5
Modle conversationnel e.g., conversation tlphonique, sockets (dans TCP / IP) Modle appel de procdure e.g., Machine sous, RPC Modle asynchrone e.g., poste, mail
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Page 6
Page 7
CLIENT
Technos pour les applis C/S : Introduction
SERVEUR
Anas ABOU EL KALAM
Page 8
Poste client
Rponse Requte
Poste client
Requte Requte
Rponse
Poste serveur
Page 9
Dans son acception la plus complte: possibilit de dfinir n'importe quelle architecture de communication. Chaque entit est la fois client et serveur Chaque entit met et traite des requtes
Page 10
Page 11
Notions & Questions traiter Modles de rpartition donnes traitements Dans une architecture rseau API Middleware ...
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Page 12
Plan
Introduction / Notions gnrales De linformation centralise au client-serveur
Page 13
Donnes
Page 14
Page 15
Page 16
Page 17
Page 18
Page 19
Donc
il faut scinder les applications en plusieurs parties distinctes et cooprantes gestion centralise des donnes, gestion locale de l'interface utilisateur.
Page 20
Page 21
Prsentation distribue
habillage graphique de l'affichage en mode caractres dapplications fonctionnant sur site central Poste client conserve une position desclave / serveur
Prsentation distante
Client serveur de prsentation Serveur ensemble traitements Client que laffichage Inconvnient Gnration trafic rseau fort Aucune rpartition charge entre C/S Exemples X-Window, DecTP sur Vax, APPC sur IBM
Anas ABOU EL KALAM
Page 22
Traitement distribu
Client serveur de traitement Dcoupage de lappli se fait au plus prs de son noyau et les traitements sont distribus entre le client et le serveur Appel de procdures Avantage optimiser rpartition charge Limite trafic rseau Inconvnient C & S doivent l'avance connatre et implmenter procdures accomplir
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Page 23
Page 24
Archi 2-tiers
Anas ABOU EL KALAM
Page 25
Gestion des donnes prise en charge par SGBD centralis, s'excutant le plus souvent sur un serveur ddi
Client envoie requte (langage de requte e.g., SQL) au serveur Dialogue C/S
envoi de requtes et retour des donnes correspondant aux requtes.
Page 26
serveur
Lchange de messages
transite travers le rseau reliant les deux machines. met en uvre des mcanismes relativement complexes qui sont, en gnral, pris en charge par un middleware.
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Page 27
Plan
Introduction / Notions gnrales De linformation centralise au client-serveur Les Middlewares
Page 28
Pourquoi ?
Assurer changes donnes entre C et S en masquant les diffrents problmes potentiels lis : rpartition des donnes et traitements (accs distant, baisse performances) htrognit des matriels et des logiciels en opration. ...
Page 29
Page 30
Le Middleware : services
Comment raliser les fonctions classiques des systmes centraliss que l'on rencontre maintenant en univers rparti ?
Conversion : Service utilis pour la communication entre machines mettant en oeuvre des formats de donnes diffrents, elle est prise en charge par la FAP Adressage : Permet d'identifier la machine serveur sur laquelle est localis le service demand afin d'en dduire le chemin d'accs. Annuaire Scurit : Permet de garantir la confidentialit et la scurit des donnes l'aide de mcanismes d'authentification et de chiffrement des informations. Communication : Permet la transmission des messages entre les deux systmes sans altration. connexion au serveur prparation de l'excution des requtes rcupration des rsultats d-connexion.
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Page 31
Le Middleware : services
Page 32
Le Middleware : exemples
SQL*Net : Interface permettant de faire dialoguer une application cliente avec une base de donnes Oracle. Passage requte SQL, Appel procdures indpendance vis vis du rseau (topologie, protocole) et des OS multi-thread = plusieurs connexions dans un seul process Oracle Serveur journalisation et traage, gestion des connexions avortes, ... EDA (Enterprise Data Access)-SQL Htrognit : interface commune pour clients s'excutant sur +35 platformes requtes (simultanes) sur +80 BD Vue uniforme indpendante du type plateforme, forme stockage, .... ODBC: Interface standardise isolant le client du serveur de donnes. ODBC C'est l'implmentation par Microsoft du CLI (Call Level Interface) du SQL Access Group Elle se compose de : gestionnaire de driver standardis, API s'interfaant avec l'application cliente driver correspondant au SGBD utilis
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Page 33
Le Middleware : exemples
DCE (Distributed Computing Environment) / RPC Permet processus tournant sur ++ ordis de communiquer comme s'il sont en local Dans prog client, fonction locale qui a le mme nom que fonction distante et qui, en ralit, appelle fonctions de la bibliothque RPC grent connexions rseaux, passage params, retour rsultats De mme, ct serveur, fonction/processus qui attend connexions clientes, appelle votre fonction avec bons param, renvoyer les rsultats. Fonctions qui prennent en charge les connexions rseaux sont des "stub" Il faut donc crire stub C & stub S, en plus du prog C et fctn distante
Moniteur transactionnel (Transaction Processing Monitor) Sorte de "scheduler sophistiqu" pour partager ressources limites
(BD, mmoire) entre un grand nombre d'utilisateurs simultans et plusieurs serveurs planification de l'excution des transactions, synchronisation ... e.g., BEA Tuxedo pour Unix/windows, Top End de NCR pour Unix, IBM TPF, Bull TP8, ...
Anas ABOU EL KALAM
Page 34
Le Middleware : Remarques
Pour certaines applis devant accder des services htrognes, il est parfois ncessaire de combiner plusieurs middlewares.
poste client doit connatre et mettre en uvre plusieurs IPC (Inter Process
Communication)
Mcanismes : queues de messages, mmoire commune, smaphores
client lourd
Page 35
permet l'utilisation d'une interface utilisateur riche, Permet l'appropriation des applications par l'utilisateur, Introduit la notion d'interoprabilit.
Page 36
Page 37
But
Rsoudre limitations du C/S 2-tiers tout en conservant des avantages
Solution ?
Architecture plus volue, facilitant les forts dploiements moindre cot
architectures
Technos pour les applis C/S : Introduction
distribues.
Anas ABOU EL KALAM
Page 38
Plan
Introduction / Notions gnrales De
Page 39
Archi 3- tiers
Force des archi 3-tiers ==> dploiement immdiat, ==> volutions peuvent tre transparentes pour l'utilisateur ==>caractristiques du poste client sont libres
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Page 40
Page 41
Page 42
Moniteur transactionnel : mise en relation Client avec Serveurs de donnes Atomicit : La transaction ne peut tre partiellement effectue, Cohrence : transaction fait passer la base d'un tat cohrent un autre , Isolation : transaction n'est pas affecte par le rsultat des autres Dure : modifications dues une transaction sont durablement garanties.
Soit transaction a dfinitivement eu lieu, soit elle na jamais exist
Page 43
Page 44
poste client ne supporte plus traitements moins sollicit, moins volu, moins coteux, ressources prsentes sur rseau sont mieux exploites
puisque les traitements applicatifs peuvent tre partags ou regroups
Fiabilit/performances certains traitements se trouvent amliores par centralisation relativement simple de faire face une forte monte en charge, en renforant le service applicatif
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Page 45
distinction entre deux tronons de comm indpendants et dlimits par serveur HTTP : circuit froid : relie client au serveur Web pour permettre l'interaction avec l'utilisateur et la visualisation des rsultats. circuit chaud : permet collecte donnes ; peut voluer sans impacter la configuration des postes clients
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Page 46
Page 47
Page 48
Page 49
Page 50
Page 51
pallier limitations architectures trois tiers & concevoir applis puissantes et simples maintenir.
distribuer plus librement la logique applicative, applicative faciliter la rpartition de la charge entre tous les niveaux.
Mettre en uvre une approche objet pour offrir plus grande souplesse d'implmentation faciliter la rutilisation des dveloppements. Capacits d'extension
permettre l'utilisation d'interfaces utilisateurs riches, sparer nettement tous les niveaux de l'application,
Page 52
composants mtiers spcialiss et indpendants, introduits par les concepts orients objets
composants mtiers rutilisables rendent service gnrique/rutilisable et clairement identifi. sont capables de communiquer entre eux et peuvent donc cooprer en tant implants sur des machines distinctes.
Page 53
Objectif gnral
volutivit Maintenabilit Performances
Quantit de donnes stocke Disponibilit du serveur Nombre dutilisateurs
Page 54
Page 55
Plan
Introduction / Notions gnrales De
Page 56
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 57
Couches OSI
Applications TCP/IP directes 7. Application EXEM PLES SM T P "Sim ple M ail T ransfer Protocol" FT P: "File T ransfer Protocol" Applications pile SUN/OS NFS: "Network File System " XDR:"E xternal Data Representation" RPC:"Rem ote Procedure Call" T CP: T ransm ission Control Protocol (connect) UDP: User Datagram Protocol (non connect) IP: Internet Protocol E ncapsulation IP (sur L AN ou liaisons SL IP,PPP) Pratiquem ent tout support de transm ission Rseaux Publics L ignes spcialises Point Point Rseaux L ocaux Rseau tlphonique RNIS, AT M
6. Prsentation
5. Session
4. T ransport
3. Rseau
2. L iaison
1. Physique
Page 58
Page 59
Page 60
En revanche, pour un paquet UDP donn, l'exactitude du contenu des donnes est assure grce un checksum
Page 61
Page 62
Page 63
Page 64
SUN-OS/ Internet XDR : "eXternal Data Representation". Systmes d'objets rpartis CORBA IDL : "Interface Definition Language". CDR : Common Data representation. Web services WSDL : "Web Services Definition Language". RPC/Encoded : "Syntaxe de transfert XML"
Page 65
Compression des donnes Transferts avec application d'algorithmes de compression e.g., son, l'image ou la vido... Dans OSI, ces algos sont fournis par couche prsentation Scurit Cryptographie, ... ...
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Page 66
cette couche propose galement des services fournir l'utilisateur des fonctions dont il a besoin couramment Principalement des services de transfert de fichiers, (FTP), de messagerie (SMTP) de documentation hypertexte (HTTP) etc.
Page 67
Page 68
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 69
Page 70
Page 71
Page 72
Page 73
Page 74
Page 75
Page 76
Plate-formes
Deux mondes/logique .
Page 77
Plan
De linformation centralise au client-serveur
Les architectures distribues Application : architectures web Plate-forme .NET Plate-Forme J2EE Les services Web
Page 78
. NET
Technologie/spcification Microsoft
Prsentation : IE Serveur HTTP / FTP : IIS Communication : COM, MSMQ, COM+ Composants : COM, MTS Business <-> Data : ActiveX Data Object, ODBC Accs aux donnes : OLEDB Persistance : SQL Server, Exchange, Active Directory et NTFS
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Page 79
. NET
Rponse de Microsoft J2EE pour Dvpt d'applis d'entreprises multi-niveaux, bases sur des composants correspond un ensemble Microsoft qui comporte un framework, des langages de dveloppement, des spcifications techniques et des systmes (Systmes d'exploitation, Logiciels serveurs...)
3 parties
CLR BCL ASP.NET
Page 80
Framework .NET
environnement d'excution CLR : moteur d'excution, compiler le code source en MSIL (MS Intermediate Language) 1re excution, code MSIL est compil la vole en code spcifique au systme grce au compilateur JIT (Just In Time). ASP .NET : environnement d'excution d'applications et de services web WinForms : environnement d'excution d'applications lourdes. Services FCL : (Framework Class Library) : librairie Library OO SDK (Software Development Kit) : implmentation de ces classes
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Page 81
ASP.NET / WebForms
ASP.NET est une abstraction de HTTP Pages compiles et excutes dans le CLR Modle de dveloppement bas sur les WebForms Sparer traitements et prsentations formulaire reprsente la page web Traitements contenus dans 2de page appele code behind Cette page peut tre code dans nimporte quel langage du Framework .Net et implmente vnements Page finale (gnre au client) intgre prsentation et Code Behind
Page 82
Plan
De linformation centralise au client-serveur Les architectures distribues Application : architectures web Plate-forme .NET Plate-Forme J2EE Les services Web
Page 83
J2EE
Standard international Une appli J2EE assemble des composants Composants client : appelts Composants Web : Servlets, JSP Composants Business : EJB Notion de ByteCode API : EJB, JDBC, Java Servlet Technology, JSP Technology, JMS, JTA, JavaMail Technology, JAF, JAXP, JAAS, .
Page 84
Page 85
Page 86
Page 87
Page 88
MTS
Serveur destine simplifier la gestion et le suivi des composants distribues (COM) Fonctionnalits associes aux composants : prise en charge automatique des transactions pour protger l'intgrit des donnes, scurit base de rles, accs aux bases de donnes, aux logiciels de mise en file d'attente des messages. optimisation des performances telles que les pools de connexion.
Page 89
mettre en uvre facilement des objets distribus permettre l'appel, l'excution et le renvoi du rsultat d'une mthode excute dans une machine virtuelle diffrente de celle de l'objet l'appelant. Serveur : machine sur laquelle s'excute la mthode distante Client : appel mthode obtenir une rfrence sur l'objet distant appeler la mthode partir de cette rfrence. Stub: reprsentation locale de l'interface de l'objet serveur (Skeleton) Un objet distribu se caractrise par son interface et son adresse (URL).
Page 90
Page 91
Page 92
Page 93
Page 94
Comparaisons
JSP
Langage Java
PHP
PHP
ASP
VBScript ou JScript
Asp.Net
Tous les langages supports par .Net (C#, VB.Net, Delphi, ...)
Compil en pseudo code (byte code) Repose sur la plate-forme Java dont elle hrite des avantages
Interprt
Interprt
Open source Nombreuses bibliothques et sources d'applications libres disponibles Facile MEV
Repose sur la plate-forme .Net dont elle hrite des avantages Wysiwyg et evnementiel Code behind pour sparation affichage / traitements
principaux inconvnient s
Dbogage fastdieux
Fonctionne
essentiellement sur plateBeaucoup de code ABOU EL KALAM Anas formes Windows. ( Voir le
Page 95
Page 96
Page 97
Page 98
Architecture cohrente
Architecture n-tiers
vision cohrente du systme d'information. Tous les services sont reprsents sous la forme d'objets interchangeables qu'il est possible d'implanter librement, en fonction des besoins. potentiel trs important et permettrait utilisation objets mtiers rutilisables moindre cot et volution en fonction des besoins voir comment il sera utilis, quel cot comment sera gre la transition depuis les environnements actuels.
Page 99
Architecture 2-tiers
C/S avec SGBDR et middleware orient message, transactionnel ou objet
Architecture 3-tiers
Clients lgers, serveurs web, serveurs dapplication et middleware
Architecture n-tiers
Rpartition de charge sur diffrents serveurs, mise en uvre de fermes de serveurs,
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Page 100
Plan
De linformation centralise au client-serveur
Les architectures distribues Application : architectures web Plate-forme .NET Plate-Forme J2EE Les services Web
Page 101
Services web
Pourquoi ?
Lintgration de modules distribus est trs difficile cause de lhtrognits des systmes dialoguer distance via Internet, indpendamment des plates-formes et des langages sur lesquelles elles reposent CORBA tait une solution mais sa complexit a frein son dveloppement
Quoi ?
composant logiciel reprsentant une fonction applicative. peut tre accessible depuis une autre application
client, serveur ou autre service Web
Utilise rseaux Internet & protocoles de transports disponibles. peut tre implment comme une application autonome ou comme un ensemble d'applications Bass sur XML Protocoles simples et standards
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Page 102
Services web
Comment ?
protocoles standardisant les modes d'invocation mutuels de composants applicatifs
Couche de transport
HTTP, FTP ou SMTP, SOAP WSDL UDDI
Scnario
Page 103
Exemple
Page 104
Exemple
Client
Demande service
Fait recherche smantique dans annuaire UDDI qui donne la liste des prestataires habilits rpondre la requte Rception rponse (en XML) Recherche interface du composant rfrenc dans annuaire Interface WSDL
Dcrit lensemble des services implments par lobjet distribu et il est possible de vrifier si linterface correspond la demande
Proxy SOAP
invocation service
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Page 105
Page 106
Page 107
C/C
Avantages
Simple, prsent sur toutes plates-formes / langages Dployable partout Couche lgre sur systmes existants
Problmes
Nouveau Applis indpendantes et contrles par organisations diffrentes Fiabilit non garantie
Page 108
BIBLIO
Micromax Information ServicesLtd. 1999. N-Tiers Background Articles. www.n-tiers.com, Octobre 1999 FrdricNAJMAN CdricNICOLAS, ChristopheAVARE. Java client-serveur. Eyrolles, 1998. ThierryRUIZ EmmanuelLIGNE. Corba : Objectifs et architecture. www.etu.info.unicaen.fr/cliquet/dess/corba/doc-fr/node3.html, Avril 1997. PhilippeUSCLADE Jean-FranoisGOGLIN. Du client-serveur au web-serveur. Herms Sciences, 1999. Daniel MARTIN. Architecture des applications rparties. http://worldserver2.oleane.com/, Octobre 1999. /dmartin/Architecture applications reparties.htm.
Technos pour les applis C/S : Introduction Anas ABOU EL KALAM
Page 109