SlideShare uma empresa Scribd logo
1 de 58
Baixar para ler offline
APPLICATIONS RÉPARTIES
CHAPITRE 2 : LES ARCHITECTURES
APPLICATIVES
Mariem ZAOUALI
Les principes de base
TP 1: Design Patterns appliqués
aux systèmes distribués
01
Architectures réparties: du
client/serveur au Cloud
Computing
02
Objets répartis :
RMI/CORBA
TP 2: RMI
03
Intergiciels orientés
messages : JMS
TP 3: JMS
04
05
06
Plan du module
2
07
Frameworks Labs :
Spring et ASP
TP 4 : Architecture micro-
services
Architecture micro-
services : Spring et ASP
(Exposés)
Architecture
microservices: Spring
et ASP (Exposés)
Plan du cours
Motivation01
Les architectures
centralisées02
Les architectures
distribuées
03
Le cloud computing
04
3
05
Protocole de transport
java tcp, udp, multicastIP
MOTIVATION
Your Date Here Your Footer Here
1
4
Motivation
Your Date Here Your Footer Here 5
Pourquoi penser à des architectures distribuées ?
• Echange d’information entre des programmes/applications/entités logicielles sur
plusieurs machines reliées par un réseau
• à large échelle (Internet)
• en local (Intranet)
• Séparation des rôles inhérente à la plupart des systèmes informatiques
Motivation
Your Date Here Your Footer Here 6
Architecture répartie
Architecture centralisée Architecture distribuée
Client/serveur
2 tiers 3 tiers
LES ARCHITECTURES
CENTRALISÉES
Your Date Here Your Footer Here
2
7
Architecture client-serveur
Définition
•Le client-serveur est un type
d’architecture qui effectue
une distinction stricte entre
les rôles de client d’une part et
de serveur d’autre part.
Your Date Here Your Footer Here 8
Architecture client-serveur
Définition
•Mode de fonctionnement
général :
• Point de vue client: un client
effectue une requête pour un
service précis sur un serveur
donné et reçoit une réponse.
• Point de vue serveur: un
serveur reçoit une demande de
service, la traite, et renvoie la
réponse au client.
Your Date Here Your Footer Here 9
Architecture client-serveur
Caractéristiques générales
• Protocoles asymétriques : un serveur
répond aux requêtes de plusieurs
clients. Les clients initient le dialogue.
• Encapsulation des services : le serveur
détermine lui-même comment traiter la
demande. Les serveurs peuvent être mis
à jours sans que les clients s’en
aperçoivent.
• Intégrité : le code et les données d’un
serveur sont maintenues de manière
centralisée, ce qui résulte en des coûts
de maintenance réduits et une garantie
d’intégrité des données.
Your Date Here Your Footer Here 10
Architecture client-serveur
Caractéristiques générales – côté client
•Il est actif (ou maître).
• Il envoie des requêtes au(x) serveur(s).
• Il attend (pas forcement) et reçoit les réponses
du/des serveur(s).
Your Date Here Your Footer Here 11
Architecture client-serveur
Caractéristiques générales – côté serveur
•Il est passif (ou esclave).
• Il est à l'écoute, prêt à répondre aux requêtes
envoyées par plusieurs clients.
• Dès qu'une requête lui parvient, il la traite et envoie
une réponse.
• Il accepte normalement un nombre important de
connections de la part des clients.
Your Date Here Your Footer Here 12
Architecture client-serveur
Protocole client-serveur
• Plusieurs paradigmes de communication sont possibles
du client-serveur par exemple :
• Passage de messages synchrone.
• Passage de messages asynchrone.
• Appel de procédures à distance (RPC).
• Invocation de méthodes à distance.
• Interaction événementielle.
• Interaction par messagerie.
• On parle ici de protocoles applicatifs de haut niveau,
indépendamment de leurs implémentations dans la
couche transport inférieure (tcp, udp, ...)
Your Date Here Your Footer Here 13
Architecture client-serveur
Invocation des méthodes à distance
•Généralisation des RPC au monde objet: on appel
une méthode sur un objet distant (ex. de
technologie: Java/RMI)
•Les invocations de méthodes à distance
permettent:
• De référencer des objets distants (il faut
précédemment avoir obtenu l’adresse distante de
l’objet).
• De transférer des objets locaux “non-répartis”:
Your Date Here Your Footer Here 14
Architecture client-serveur
Interaction évènementielle
• Basé sur la notion de publication d'événements :
1.Le client s’abonne à un ou plusieurs événements auprès du serveur.
2.Le serveur enregistre les abonnements, puis à chaque événement
correspondant il envoie un message aux abonnés.
• Notion de Push/Pull :
• Push : envoyer l’information à ceux qui en ont besoin.
• Pull : récupérer l’information quand on en a besoin.
• Avantages : évite de surcharger le serveur de messages inutiles
• Inconvénients : le serveur doit conserver la liste des clients en
mémoire persistance ( cause des pannes).
Your Date Here Your Footer Here 15
Architecture client-serveur
Interaction par message
•Consiste à utiliser une “boite à lettres” pour y
déposer des messages.
•Mécanisme de communication asynchrone
• Exemple : “Message Oriented Middleware” ou
MOM.
•Attention: ne pas confondre avec l’envoi de
messages sur une socket. On parle ici de
protocoles applicatifs de haut niveau et non pas
de protocoles de transport.
Your Date Here Your Footer Here 16
Architecture client-serveur
Architecture 2 tiers
• C’est le type d’architecture client-serveur le plus basique :
• La couche présentation est située sur le client
• La couche donnée est située sur le serveur (par ex. une base de
données relationnelles SQL, Oracle,...)
• La couche traitement peut être située sur le client (au sein même
de l’IHM) ou sur le serveur (par ex. des procédures stockées sur la
base de données), ou partagée entre les deux rôles.
• Il y a une relation directe entre les clients et les serveurs de
données.
• (+) simple à mettre en œuvre
• (-) peu flexible et supporte difficilement la montée en charge
• (-) souvent des solutions propriétaires, économiquement très
couteux
Your Date Here Your Footer Here 17
Architecture client-serveur
Architecture 3 tiers
• L’architecture 3-tiers est une extension du modèle client-serveur
qui introduit
• un rôle spécifique pour la couche de traitements métiers.
• Il y donc décomposition d’un même service sur 2 types de serveurs
(Un type de serveur dédié à la gestion des traitements métiers.
• Un type de serveur dédié à la gestion des données persistantes.
• (+) plus évolutif que le 2-tiers
• (+) meilleure répartition des charges de travail coté serveur
• (+) économiquement moins cher, surtout lors de la montée en
charge
• (-) administration et mise en œuvre plus compliquée que le 2-tiers
Your Date Here Your Footer Here 18
APPLICATION : LES
PROTOCOLES DE TRANSPORT
Your Date Here Your Footer Here
3
19
Protocoles de transport
•Les protocoles de transport à aborder sont les
suivants:
•TCP: permet l’utilisation de flux bi-directionnels
de communication
• UDP: permet l’envoi asynchrone de messages
•Multicast-IP: permet l’envoi de message à un
groupe de destinataires
Your Date Here Your Footer Here 20
Protocoles de transport
• L’utilisation de ce niveau primitif de communication permet la
communication dans les architectures simples de type client-
serveur 2-tiers.
• En effet il est nécessaire de :
• 1.Définir le format des messages réseau.
• 2.Localiser le serveur.
• 3.Emballer (“marshall”) les informations émises par le client pour le
réseau.
• 4.Déballer (“unmarshall”) les informatiions émises par le réseau
pour le serveur.
• 5.Gérer la requête.
• 6.Emballer/déballer la/les valeur(s) de retour pour le client.
Your Date Here Your Footer Here 21
Protocoles de transport
•Pour chacun de ces protocoles, on dispose de
deux primitives de communication :
• send : envoi d’un message dans un buffer (zone
tampon) distant
• receive : lecture d’un message à partir d’un
buffer local
Your Date Here Your Footer Here 22
Protocoles de transport
• De plus, on distingue deux modes de fonctionnement pour ces
primitives :
• synchrone : les primitives sont bloquantes
• asynchrone : les primitives sont non-bloquantes
• Par exemple :
un send synchrone va rester bloqué jusqu’à l’envoi complet du
message, de même un receive synchrone va rester bloqué jusqu’à
ce qu’il y ait un message à lire.
• L’utilisation de primitives asynchrones est plus souple que celui
de primitives synchrones.
• Mais aussi, un programme avec des primitives synchrones vous
épargne de la gestion de la concurrence.
Your Date Here Your Footer Here 23
TCP : fonctionnement
• 1.Le serveur crée une socket et
attend une demande de
connexion
• 2.Le client envoie une demande
de connexion
• 3.Le serveur accepte la connexion
• 4.Etablissement du dialogue entre
client et serveur en mode flux
• 5.Fermeture de connexion à
l'initiative du client ou du serveur
Your Date Here Your Footer Here 24
TCP : fonctionnement
•1.Le serveur crée une
socket et attend une
demande de connexion
Your Date Here Your Footer Here 25
TCP : fonctionnement
•2.Le client envoie une
demande de connexion
Your Date Here Your Footer Here 26
TCP : fonctionnement
•3.Le serveur accepte la
connexion
Your Date Here Your Footer Here 27
TCP : fonctionnement
•4.Etablissement du dialogue entre client et serveur en mode flux
Your Date Here Your Footer Here 28
Le client
Le serveur
TCP : fonctionnement
•5.Fermeture de connexion à l'initiative du client ou du
serveur
Your Date Here Your Footer Here 29
Initiative du client
pour fermer la
connexion en tapant
« exit »
TCP: Live demo
•Fork your repo from my github!
•https://github.com/MariemZaouali/Test_tcp_serv
eur
•https://github.com/MariemZaouali/Test_tcp_clie
nt
Your Date Here Your Footer Here 30
UDP : fonctionnement
•1.Le serveur crée une socket UDP.
•2.Le serveur attend la réception d’un message.
•3.Le client envoie un message.
Your Date Here Your Footer Here 31
UDP : fonctionnement
•1.Le serveur crée une socket UDP.
•2.Le serveur attend la réception d’un message.
Your Date Here Your Footer Here 32
UDP : fonctionnement
•3.Le client envoie un message.
Your Date Here Your Footer Here 33
UDP : fonctionnement
•1.Le serveur crée une socket UDP.
•2.Le serveur attend la réception d’un message.
•3.Le client envoie un message.
Your Date Here Your Footer Here 34
UDP : fonctionnement
•Le serveur va recevoir le paquet
Your Date Here Your Footer Here 35
Durée d’attente
Méthode de traitement
UDP : Live demo
•Fork your repo from my github!
•https://github.com/MariemZaouali/Test_udp_ser
ver
•https://github.com/MariemZaouali/Test_udp_clie
nt
Your Date Here Your Footer Here 36
Remarque
•Pourquoi utiliser les buffers (input/output)?
Your Date Here Your Footer Here 37
Il s'agit d'une région d'une mémoire physique utilisée
pour stocker temporairement des données pendant
qu'elles sont déplacées d'un endroit à un autre.
Ce stockage de mémoire physique serait RAM
(mémoire à accès aléatoire) dans la plupart des cas
Multicast IP : fonctionnement
•1.Le serveur (et client) crée une socket MulticastIP.
•2.Le client rejoint le groupe de diffusion.
•3.Le serveur envoie un message.
Your Date Here Your Footer Here 38Your Footer Here 38
Serveur Client
Multicast IP : fonctionnement
•La multidiffusion est un type de socket de
datagramme. Contrairement aux datagrammes
classiques, la multidiffusion ne gère pas chaque client
individuellement, mais l'envoie à une adresse IP et
tous les clients abonnés recevront le message.
Your Date Here Your Footer Here 39Your Footer Here 39
Serveur Client
Multicast IP : fonctionnement
Your Date Here Your Footer Here 40
• Exécuter le client d'abord: le client doit s'abonner à l'IP
avant de pouvoir commencer à recevoir des paquets. Si
vous démarrez le serveur et appelez la méthode send() ,
puis créez un client (& appelez printMessage() ). Rien ne se
passera car le client est connecté après l'envoi du
message
Serveur Client
Multicast IP : fonctionnement
Your Date Here Your Footer Here 41
• Le multicast IP sert à diffuser des messages vers un groupe de
destinataires :
• Les messages sont émis vers une adresse de classe D (224.0.0.1
à 239.255.255.255) indépendante de la localisation physique des
émetteurs et récepteurs.
• Les messages sont alors reçus par tous les récepteurs “écoutant”
sur cette adresse.
• Plusieurs émetteurs/récepteurs possibles vers/sur la même
adresse.
• Les récepteurs peuvent quitter(leaveGroup) ou rejoindre un
groupe(joinGroup) à tout instant.
• Il dispose des mêmes propriétés que UDP.
Multicast : live demo
•Fork your repo from my github!
•https://github.com/MariemZaouali/Test_multicas
t_client
•https://github.com/MariemZaouali/Test_multicas
t_serveur
Your Date Here Your Footer Here 42
LES ARCHITECTURES
DISTRIBUÉES
Your Date Here Your Footer Here
4
43
Architecture distribuée
Your Date Here Your Footer Here 44
Architecture répartie
Architecture centralisée Architecture distribuée
Peer to Peer
Architecture distribuée
•Dans le cadre des architectures réparties, on
distingue :
• Les architectures centralisées (type client-serveur)
• Les architectures distribuées où les problématiques
sont différentes de part l’absence d’un décideur.
Your Date Here Your Footer Here 45
Architecture distribuée
•La différence fondamentale entre ces deux types
d’architecture se situe dans
•la distribution des rôles entre les nœuds du
réseau :
• Les nœuds sont simultanément clients et serveurs et
disposent de tout ou partie de l’information
répartie.
Your Date Here Your Footer Here 46
Architecture distribuée
• Les caractéristique habituelles de ces architectures
sont les suivantes :
• Pas de connaissance globale du réseau.
• Pas de coordination globale des nœuds.
•Chaque nœud ne connaît que les nœuds constituant
son voisinage.
•Toutes les données sont accessibles à partir de
n’importe quel noeud.
•Les nœuds sont très volatiles (ils peuvent disparaître
ou apparaître à tout moment).
Your Date Here Your Footer Here 47
Architecture distribuée
•Les technologies Peer-to-Peer (P2P, ou Pair-à-
Pair) constituent le pendant technologique des
architectures distribuées.
Your Date Here Your Footer Here 48
Architecture distribuée
Avantages :
•Tous les pairs fournissent des ressources (bande
passante, stockage, puissance de calcul,...).
•supportent beaucoup mieux la montée en charge
(“scalability”) que les architectures centralisées.
• La distribution augmente la robustesse du
réseau dans le cas d’une panne
Your Date Here Your Footer Here 49
Architecture distribuée
•Inconvénients :
•Mauvaise réputation du “P2P”, invariablement
associé au téléchargement musical → faible
adoption par l’industrie.
•concurrence entre les pairs, fragmentation des
données
•Pas de contrôle avancé des échanges
d’information entre les pairs (inconvénient ou
avantage ?).
Your Date Here Your Footer Here 50
LE CLOUD COMPUTING
Your Date Here Your Footer Here
5
51
Cloud Computing
Définition
•Le cloud computing est l’accès via le réseau, à la
demande et en libre-service à des ressources
informatiques virtualisées et mutualisées (mise
en commun)
Your Date Here Your Footer Here 52
Usage des technologies Cloud dans une
entreprise
•On peut avoir:
• Private cloud: est un
groupe de ressources
informatiques
configurables à la
demande dans un
environnement de
cloud public, qui fournit
un certain niveau
d'isolement entre les
différentes
organisations qui
utilisent ces ressources
Your Date Here Your Footer Here 53
Usage des technologies Cloud dans une
entreprise
•On peut avoir:
• SaaS: Le logiciel en tant
que service, ou
software as a service
(SaaS), est un modèle
d'exploitation
commerciale des
logiciels dans lequel
ceux-ci sont installés
sur des serveurs
distants plutôt que sur
la machine de
l'utilisateur
Your Date Here Your Footer Here 54
Usage des technologies Cloud dans une
entreprise
•On peut avoir:
• PaaS : des outils
hardware et logiciels
en tant que service
via internet,
permettant à
l'utilisateur de
développer des
applications
Your Date Here Your Footer Here 55
Modèle de déploiement de Cloud
Computing
Your Date Here Your Footer Here 56
Fournisseurs de Cloud Public
Your Date Here Your Footer Here 57
THANK YOU!
Do you have any questions?
58

Mais conteúdo relacionado

Mais procurados

JDBC: Gestion des bases de données en Java
JDBC: Gestion des bases de données en Java JDBC: Gestion des bases de données en Java
JDBC: Gestion des bases de données en Java Youness Boukouchi
 
Architecture réparties et les services web
Architecture réparties et les services webArchitecture réparties et les services web
Architecture réparties et les services webCHOUAIB EL HACHIMI
 
Architectures orientés services (SOA)
Architectures orientés services (SOA)Architectures orientés services (SOA)
Architectures orientés services (SOA)Heithem Abbes
 
Cours 4 intergiciels orientes messages jms
Cours 4 intergiciels orientes messages  jmsCours 4 intergiciels orientes messages  jms
Cours 4 intergiciels orientes messages jmsMariem ZAOUALI
 
Introduction aux systèmes répartis
Introduction aux systèmes répartisIntroduction aux systèmes répartis
Introduction aux systèmes répartisHeithem Abbes
 
Chp3 - Les Services Web
Chp3 - Les Services WebChp3 - Les Services Web
Chp3 - Les Services WebLilia Sfaxi
 
Chp1- Introduction aux Technologies Web et SOA
Chp1- Introduction aux Technologies Web et SOAChp1- Introduction aux Technologies Web et SOA
Chp1- Introduction aux Technologies Web et SOALilia Sfaxi
 
eServices-Tp1: Web Services
eServices-Tp1: Web ServiceseServices-Tp1: Web Services
eServices-Tp1: Web ServicesLilia Sfaxi
 
Fonctionnalités et protocoles des couches applicatives
Fonctionnalités et protocoles des couches applicativesFonctionnalités et protocoles des couches applicatives
Fonctionnalités et protocoles des couches applicativesfadelaBritel
 
C5 Réseaux : vlsm-classe-nat
C5 Réseaux : vlsm-classe-natC5 Réseaux : vlsm-classe-nat
C5 Réseaux : vlsm-classe-natPRONETIS
 
Travaux Dirigée: Notions de bases dans les réseaux
Travaux Dirigée: Notions de bases dans les réseauxTravaux Dirigée: Notions de bases dans les réseaux
Travaux Dirigée: Notions de bases dans les réseauxInes Kechiche
 
Tp2 - WS avec JAXRS
Tp2 - WS avec JAXRSTp2 - WS avec JAXRS
Tp2 - WS avec JAXRSLilia Sfaxi
 
Tp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPELTp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPELLilia Sfaxi
 
Administration réseaux sous linux cours 1
Administration réseaux sous linux   cours 1Administration réseaux sous linux   cours 1
Administration réseaux sous linux cours 1Stephen Salama
 
Architectures distribuées
Architectures distribuéesArchitectures distribuées
Architectures distribuéesFranck SIMON
 
cours-ADMINISTRATION DUN RESEAU INFORMATIQUE.pdf
cours-ADMINISTRATION DUN RESEAU INFORMATIQUE.pdfcours-ADMINISTRATION DUN RESEAU INFORMATIQUE.pdf
cours-ADMINISTRATION DUN RESEAU INFORMATIQUE.pdfGodefroyCheumaniTche1
 
Introduction aux architectures des SI
Introduction aux architectures des SI Introduction aux architectures des SI
Introduction aux architectures des SI Heithem Abbes
 

Mais procurados (20)

JDBC: Gestion des bases de données en Java
JDBC: Gestion des bases de données en Java JDBC: Gestion des bases de données en Java
JDBC: Gestion des bases de données en Java
 
Architecture réparties et les services web
Architecture réparties et les services webArchitecture réparties et les services web
Architecture réparties et les services web
 
Architectures orientés services (SOA)
Architectures orientés services (SOA)Architectures orientés services (SOA)
Architectures orientés services (SOA)
 
Cours SNMP
Cours SNMPCours SNMP
Cours SNMP
 
Cours 4 intergiciels orientes messages jms
Cours 4 intergiciels orientes messages  jmsCours 4 intergiciels orientes messages  jms
Cours 4 intergiciels orientes messages jms
 
Introduction aux systèmes répartis
Introduction aux systèmes répartisIntroduction aux systèmes répartis
Introduction aux systèmes répartis
 
Chp3 - Les Services Web
Chp3 - Les Services WebChp3 - Les Services Web
Chp3 - Les Services Web
 
Chp1- Introduction aux Technologies Web et SOA
Chp1- Introduction aux Technologies Web et SOAChp1- Introduction aux Technologies Web et SOA
Chp1- Introduction aux Technologies Web et SOA
 
eServices-Tp1: Web Services
eServices-Tp1: Web ServiceseServices-Tp1: Web Services
eServices-Tp1: Web Services
 
Fonctionnalités et protocoles des couches applicatives
Fonctionnalités et protocoles des couches applicativesFonctionnalités et protocoles des couches applicatives
Fonctionnalités et protocoles des couches applicatives
 
cours DHCP IPv4 et IPv6
cours DHCP IPv4 et IPv6cours DHCP IPv4 et IPv6
cours DHCP IPv4 et IPv6
 
C5 Réseaux : vlsm-classe-nat
C5 Réseaux : vlsm-classe-natC5 Réseaux : vlsm-classe-nat
C5 Réseaux : vlsm-classe-nat
 
Travaux Dirigée: Notions de bases dans les réseaux
Travaux Dirigée: Notions de bases dans les réseauxTravaux Dirigée: Notions de bases dans les réseaux
Travaux Dirigée: Notions de bases dans les réseaux
 
Tp2 - WS avec JAXRS
Tp2 - WS avec JAXRSTp2 - WS avec JAXRS
Tp2 - WS avec JAXRS
 
Tp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPELTp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPEL
 
VPN: SSL vs IPSEC
VPN: SSL vs IPSECVPN: SSL vs IPSEC
VPN: SSL vs IPSEC
 
Administration réseaux sous linux cours 1
Administration réseaux sous linux   cours 1Administration réseaux sous linux   cours 1
Administration réseaux sous linux cours 1
 
Architectures distribuées
Architectures distribuéesArchitectures distribuées
Architectures distribuées
 
cours-ADMINISTRATION DUN RESEAU INFORMATIQUE.pdf
cours-ADMINISTRATION DUN RESEAU INFORMATIQUE.pdfcours-ADMINISTRATION DUN RESEAU INFORMATIQUE.pdf
cours-ADMINISTRATION DUN RESEAU INFORMATIQUE.pdf
 
Introduction aux architectures des SI
Introduction aux architectures des SI Introduction aux architectures des SI
Introduction aux architectures des SI
 

Semelhante a Cours 2 les architectures reparties

resume-theorique-m107-2203-6246f60d6b994.pdf
resume-theorique-m107-2203-6246f60d6b994.pdfresume-theorique-m107-2203-6246f60d6b994.pdf
resume-theorique-m107-2203-6246f60d6b994.pdfFootballLovers9
 
Architecture SAP Web AS
Architecture SAP Web ASArchitecture SAP Web AS
Architecture SAP Web ASMrabtei Ayoub
 
Architecture sap web AS
Architecture sap web ASArchitecture sap web AS
Architecture sap web ASMrabtei Ayoub
 
II - Archi_Couches_Basses.pdf
II - Archi_Couches_Basses.pdfII - Archi_Couches_Basses.pdf
II - Archi_Couches_Basses.pdfMeriemBalhaddad
 
II - Archi_Couches_Basses.pdf
II - Archi_Couches_Basses.pdfII - Archi_Couches_Basses.pdf
II - Archi_Couches_Basses.pdfMeriemBalhaddad
 
Déploiement d’applications
Déploiement d’applicationsDéploiement d’applications
Déploiement d’applicationsMohammed Jaafar
 
intro-tech-web-lp3-jan-21-slides-1-a-9.pdf
intro-tech-web-lp3-jan-21-slides-1-a-9.pdfintro-tech-web-lp3-jan-21-slides-1-a-9.pdf
intro-tech-web-lp3-jan-21-slides-1-a-9.pdfCoumbaLaobNdiaye1
 
Cours 1 les principes de base
Cours 1 les principes de baseCours 1 les principes de base
Cours 1 les principes de baseMariem ZAOUALI
 
Introduction à Cloud Foundry et au PaaS
Introduction à Cloud Foundry et au PaaSIntroduction à Cloud Foundry et au PaaS
Introduction à Cloud Foundry et au PaaSGerard Konan
 
Internet et ses services
Internet et ses servicesInternet et ses services
Internet et ses servicesAbdoulaye Dieng
 
Architectures et application hybrides selon vos termes et à votre propre rythme
Architectures et application hybrides selon vos termes et à votre propre rythmeArchitectures et application hybrides selon vos termes et à votre propre rythme
Architectures et application hybrides selon vos termes et à votre propre rythmeMicrosoft
 
Push to the web - Websocket et SignalR
Push to the web -  Websocket et SignalRPush to the web -  Websocket et SignalR
Push to the web - Websocket et SignalRMSDEVMTL
 
VoIP-kobbane2018_1_.pdf
VoIP-kobbane2018_1_.pdfVoIP-kobbane2018_1_.pdf
VoIP-kobbane2018_1_.pdfAlKir1
 
ITN_Module_3.pptx
ITN_Module_3.pptxITN_Module_3.pptx
ITN_Module_3.pptxserieux1
 
Les socket ing1_issat
Les socket ing1_issatLes socket ing1_issat
Les socket ing1_issatsloumaallagui
 

Semelhante a Cours 2 les architectures reparties (20)

resume-theorique-m107-2203-6246f60d6b994.pdf
resume-theorique-m107-2203-6246f60d6b994.pdfresume-theorique-m107-2203-6246f60d6b994.pdf
resume-theorique-m107-2203-6246f60d6b994.pdf
 
Architecture SAP Web AS
Architecture SAP Web ASArchitecture SAP Web AS
Architecture SAP Web AS
 
Architecture sap web AS
Architecture sap web ASArchitecture sap web AS
Architecture sap web AS
 
II - Archi_Couches_Basses.pdf
II - Archi_Couches_Basses.pdfII - Archi_Couches_Basses.pdf
II - Archi_Couches_Basses.pdf
 
II - Archi_Couches_Basses.pdf
II - Archi_Couches_Basses.pdfII - Archi_Couches_Basses.pdf
II - Archi_Couches_Basses.pdf
 
Déploiement d’applications
Déploiement d’applicationsDéploiement d’applications
Déploiement d’applications
 
Général réseau typologie et architecture
Général réseau typologie et architecture Général réseau typologie et architecture
Général réseau typologie et architecture
 
Chap5 wan
Chap5 wanChap5 wan
Chap5 wan
 
intro-tech-web-lp3-jan-21-slides-1-a-9.pdf
intro-tech-web-lp3-jan-21-slides-1-a-9.pdfintro-tech-web-lp3-jan-21-slides-1-a-9.pdf
intro-tech-web-lp3-jan-21-slides-1-a-9.pdf
 
ITN_Module_17.pdf
ITN_Module_17.pdfITN_Module_17.pdf
ITN_Module_17.pdf
 
Cours 1 les principes de base
Cours 1 les principes de baseCours 1 les principes de base
Cours 1 les principes de base
 
Introduction à Cloud Foundry et au PaaS
Introduction à Cloud Foundry et au PaaSIntroduction à Cloud Foundry et au PaaS
Introduction à Cloud Foundry et au PaaS
 
Internet et ses services
Internet et ses servicesInternet et ses services
Internet et ses services
 
Chap1 clientsrvr
Chap1 clientsrvrChap1 clientsrvr
Chap1 clientsrvr
 
Architectures et application hybrides selon vos termes et à votre propre rythme
Architectures et application hybrides selon vos termes et à votre propre rythmeArchitectures et application hybrides selon vos termes et à votre propre rythme
Architectures et application hybrides selon vos termes et à votre propre rythme
 
Push to the web - Websocket et SignalR
Push to the web -  Websocket et SignalRPush to the web -  Websocket et SignalR
Push to the web - Websocket et SignalR
 
Formation webmaster
Formation webmasterFormation webmaster
Formation webmaster
 
VoIP-kobbane2018_1_.pdf
VoIP-kobbane2018_1_.pdfVoIP-kobbane2018_1_.pdf
VoIP-kobbane2018_1_.pdf
 
ITN_Module_3.pptx
ITN_Module_3.pptxITN_Module_3.pptx
ITN_Module_3.pptx
 
Les socket ing1_issat
Les socket ing1_issatLes socket ing1_issat
Les socket ing1_issat
 

Mais de Mariem ZAOUALI

Chap5 La manipulation des iterables en python
Chap5 La manipulation des iterables en pythonChap5 La manipulation des iterables en python
Chap5 La manipulation des iterables en pythonMariem ZAOUALI
 
Chap6 Manipulation des fichiers
Chap6 Manipulation des fichiers Chap6 Manipulation des fichiers
Chap6 Manipulation des fichiers Mariem ZAOUALI
 
Chap7 simulation numérique
Chap7 simulation numériqueChap7 simulation numérique
Chap7 simulation numériqueMariem ZAOUALI
 
Chap4 Récursivité en python
Chap4 Récursivité en pythonChap4 Récursivité en python
Chap4 Récursivité en pythonMariem ZAOUALI
 
Chap3 programmation modulaire en python
Chap3 programmation modulaire en pythonChap3 programmation modulaire en python
Chap3 programmation modulaire en pythonMariem ZAOUALI
 
Chap2 Les conteneurs en python
Chap2 Les conteneurs en pythonChap2 Les conteneurs en python
Chap2 Les conteneurs en pythonMariem ZAOUALI
 
Chap1 Introduction à python
Chap1 Introduction à pythonChap1 Introduction à python
Chap1 Introduction à pythonMariem ZAOUALI
 
Tp1 design patternappliques
Tp1 design patternappliquesTp1 design patternappliques
Tp1 design patternappliquesMariem ZAOUALI
 
TP1 Traitement d'images Génie Logiciel avec Matlab
TP1 Traitement d'images Génie Logiciel avec MatlabTP1 Traitement d'images Génie Logiciel avec Matlab
TP1 Traitement d'images Génie Logiciel avec MatlabMariem ZAOUALI
 
Comment retrouver la forme récursive
Comment retrouver la forme récursiveComment retrouver la forme récursive
Comment retrouver la forme récursiveMariem ZAOUALI
 
Correction TP4 Atelier C++ /GL2 INSAT / Tunisie
Correction TP4 Atelier C++ /GL2 INSAT / TunisieCorrection TP4 Atelier C++ /GL2 INSAT / Tunisie
Correction TP4 Atelier C++ /GL2 INSAT / TunisieMariem ZAOUALI
 
TP4 Atelier C++ /GL2 INSAT / Tunisie
TP4 Atelier C++ /GL2 INSAT / TunisieTP4 Atelier C++ /GL2 INSAT / Tunisie
TP4 Atelier C++ /GL2 INSAT / TunisieMariem ZAOUALI
 
TP3 Atelier C++/ GL2 INSAT / Tunisie
TP3 Atelier C++/ GL2 INSAT / TunisieTP3 Atelier C++/ GL2 INSAT / Tunisie
TP3 Atelier C++/ GL2 INSAT / TunisieMariem ZAOUALI
 
TP2 Atelier C++/ GL2 INSAT / Tunisie
TP2 Atelier C++/ GL2 INSAT / TunisieTP2 Atelier C++/ GL2 INSAT / Tunisie
TP2 Atelier C++/ GL2 INSAT / TunisieMariem ZAOUALI
 
TP1 Atelier C++/ GL2 INSAT / Tunisie
TP1 Atelier C++/ GL2 INSAT / TunisieTP1 Atelier C++/ GL2 INSAT / Tunisie
TP1 Atelier C++/ GL2 INSAT / TunisieMariem ZAOUALI
 
Graduation Project Presentation _ INSAT Tunisia
Graduation Project Presentation _ INSAT Tunisia Graduation Project Presentation _ INSAT Tunisia
Graduation Project Presentation _ INSAT Tunisia Mariem ZAOUALI
 

Mais de Mariem ZAOUALI (17)

Chap5 La manipulation des iterables en python
Chap5 La manipulation des iterables en pythonChap5 La manipulation des iterables en python
Chap5 La manipulation des iterables en python
 
Chap6 Manipulation des fichiers
Chap6 Manipulation des fichiers Chap6 Manipulation des fichiers
Chap6 Manipulation des fichiers
 
Chap7 simulation numérique
Chap7 simulation numériqueChap7 simulation numérique
Chap7 simulation numérique
 
Chap4 Récursivité en python
Chap4 Récursivité en pythonChap4 Récursivité en python
Chap4 Récursivité en python
 
Chap3 programmation modulaire en python
Chap3 programmation modulaire en pythonChap3 programmation modulaire en python
Chap3 programmation modulaire en python
 
Chap2 Les conteneurs en python
Chap2 Les conteneurs en pythonChap2 Les conteneurs en python
Chap2 Les conteneurs en python
 
Chap1 Introduction à python
Chap1 Introduction à pythonChap1 Introduction à python
Chap1 Introduction à python
 
Tp1 design patternappliques
Tp1 design patternappliquesTp1 design patternappliques
Tp1 design patternappliques
 
TP2 RMI
TP2 RMITP2 RMI
TP2 RMI
 
TP1 Traitement d'images Génie Logiciel avec Matlab
TP1 Traitement d'images Génie Logiciel avec MatlabTP1 Traitement d'images Génie Logiciel avec Matlab
TP1 Traitement d'images Génie Logiciel avec Matlab
 
Comment retrouver la forme récursive
Comment retrouver la forme récursiveComment retrouver la forme récursive
Comment retrouver la forme récursive
 
Correction TP4 Atelier C++ /GL2 INSAT / Tunisie
Correction TP4 Atelier C++ /GL2 INSAT / TunisieCorrection TP4 Atelier C++ /GL2 INSAT / Tunisie
Correction TP4 Atelier C++ /GL2 INSAT / Tunisie
 
TP4 Atelier C++ /GL2 INSAT / Tunisie
TP4 Atelier C++ /GL2 INSAT / TunisieTP4 Atelier C++ /GL2 INSAT / Tunisie
TP4 Atelier C++ /GL2 INSAT / Tunisie
 
TP3 Atelier C++/ GL2 INSAT / Tunisie
TP3 Atelier C++/ GL2 INSAT / TunisieTP3 Atelier C++/ GL2 INSAT / Tunisie
TP3 Atelier C++/ GL2 INSAT / Tunisie
 
TP2 Atelier C++/ GL2 INSAT / Tunisie
TP2 Atelier C++/ GL2 INSAT / TunisieTP2 Atelier C++/ GL2 INSAT / Tunisie
TP2 Atelier C++/ GL2 INSAT / Tunisie
 
TP1 Atelier C++/ GL2 INSAT / Tunisie
TP1 Atelier C++/ GL2 INSAT / TunisieTP1 Atelier C++/ GL2 INSAT / Tunisie
TP1 Atelier C++/ GL2 INSAT / Tunisie
 
Graduation Project Presentation _ INSAT Tunisia
Graduation Project Presentation _ INSAT Tunisia Graduation Project Presentation _ INSAT Tunisia
Graduation Project Presentation _ INSAT Tunisia
 

Último

optimisation logistique MLT_231102_155827.pdf
optimisation logistique  MLT_231102_155827.pdfoptimisation logistique  MLT_231102_155827.pdf
optimisation logistique MLT_231102_155827.pdfSoukainaMounawir
 
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...Institut de l'Elevage - Idele
 
GAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesGAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesInstitut de l'Elevage - Idele
 
firefly algoriyhm sac a dos step by step .pdf
firefly algoriyhm sac a dos step by step .pdffirefly algoriyhm sac a dos step by step .pdf
firefly algoriyhm sac a dos step by step .pdffirstjob4
 
conception d'un batiment r+4 comparative de defferente ariante de plancher
conception d'un  batiment  r+4 comparative de defferente ariante de plancherconception d'un  batiment  r+4 comparative de defferente ariante de plancher
conception d'un batiment r+4 comparative de defferente ariante de planchermansouriahlam
 
comprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestioncomprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestionyakinekaidouchi1
 
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...Institut de l'Elevage - Idele
 
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...Institut de l'Elevage - Idele
 
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageGAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageInstitut de l'Elevage - Idele
 
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...Institut de l'Elevage - Idele
 
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...Institut de l'Elevage - Idele
 
GAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversitéGAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversitéInstitut de l'Elevage - Idele
 
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenusGAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenusInstitut de l'Elevage - Idele
 
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024Ville de Châteauguay
 

Último (15)

optimisation logistique MLT_231102_155827.pdf
optimisation logistique  MLT_231102_155827.pdfoptimisation logistique  MLT_231102_155827.pdf
optimisation logistique MLT_231102_155827.pdf
 
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
 
GAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesGAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentes
 
firefly algoriyhm sac a dos step by step .pdf
firefly algoriyhm sac a dos step by step .pdffirefly algoriyhm sac a dos step by step .pdf
firefly algoriyhm sac a dos step by step .pdf
 
conception d'un batiment r+4 comparative de defferente ariante de plancher
conception d'un  batiment  r+4 comparative de defferente ariante de plancherconception d'un  batiment  r+4 comparative de defferente ariante de plancher
conception d'un batiment r+4 comparative de defferente ariante de plancher
 
comprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestioncomprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestion
 
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
 
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
 
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageGAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
 
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
 
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
 
GAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversitéGAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversité
 
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenusGAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
 
JTC 2024 Bâtiment et Photovoltaïque.pdf
JTC 2024  Bâtiment et Photovoltaïque.pdfJTC 2024  Bâtiment et Photovoltaïque.pdf
JTC 2024 Bâtiment et Photovoltaïque.pdf
 
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
 

Cours 2 les architectures reparties

  • 1. APPLICATIONS RÉPARTIES CHAPITRE 2 : LES ARCHITECTURES APPLICATIVES Mariem ZAOUALI
  • 2. Les principes de base TP 1: Design Patterns appliqués aux systèmes distribués 01 Architectures réparties: du client/serveur au Cloud Computing 02 Objets répartis : RMI/CORBA TP 2: RMI 03 Intergiciels orientés messages : JMS TP 3: JMS 04 05 06 Plan du module 2 07 Frameworks Labs : Spring et ASP TP 4 : Architecture micro- services Architecture micro- services : Spring et ASP (Exposés) Architecture microservices: Spring et ASP (Exposés)
  • 3. Plan du cours Motivation01 Les architectures centralisées02 Les architectures distribuées 03 Le cloud computing 04 3 05 Protocole de transport java tcp, udp, multicastIP
  • 4. MOTIVATION Your Date Here Your Footer Here 1 4
  • 5. Motivation Your Date Here Your Footer Here 5 Pourquoi penser à des architectures distribuées ? • Echange d’information entre des programmes/applications/entités logicielles sur plusieurs machines reliées par un réseau • à large échelle (Internet) • en local (Intranet) • Séparation des rôles inhérente à la plupart des systèmes informatiques
  • 6. Motivation Your Date Here Your Footer Here 6 Architecture répartie Architecture centralisée Architecture distribuée Client/serveur 2 tiers 3 tiers
  • 7. LES ARCHITECTURES CENTRALISÉES Your Date Here Your Footer Here 2 7
  • 8. Architecture client-serveur Définition •Le client-serveur est un type d’architecture qui effectue une distinction stricte entre les rôles de client d’une part et de serveur d’autre part. Your Date Here Your Footer Here 8
  • 9. Architecture client-serveur Définition •Mode de fonctionnement général : • Point de vue client: un client effectue une requête pour un service précis sur un serveur donné et reçoit une réponse. • Point de vue serveur: un serveur reçoit une demande de service, la traite, et renvoie la réponse au client. Your Date Here Your Footer Here 9
  • 10. Architecture client-serveur Caractéristiques générales • Protocoles asymétriques : un serveur répond aux requêtes de plusieurs clients. Les clients initient le dialogue. • Encapsulation des services : le serveur détermine lui-même comment traiter la demande. Les serveurs peuvent être mis à jours sans que les clients s’en aperçoivent. • Intégrité : le code et les données d’un serveur sont maintenues de manière centralisée, ce qui résulte en des coûts de maintenance réduits et une garantie d’intégrité des données. Your Date Here Your Footer Here 10
  • 11. Architecture client-serveur Caractéristiques générales – côté client •Il est actif (ou maître). • Il envoie des requêtes au(x) serveur(s). • Il attend (pas forcement) et reçoit les réponses du/des serveur(s). Your Date Here Your Footer Here 11
  • 12. Architecture client-serveur Caractéristiques générales – côté serveur •Il est passif (ou esclave). • Il est à l'écoute, prêt à répondre aux requêtes envoyées par plusieurs clients. • Dès qu'une requête lui parvient, il la traite et envoie une réponse. • Il accepte normalement un nombre important de connections de la part des clients. Your Date Here Your Footer Here 12
  • 13. Architecture client-serveur Protocole client-serveur • Plusieurs paradigmes de communication sont possibles du client-serveur par exemple : • Passage de messages synchrone. • Passage de messages asynchrone. • Appel de procédures à distance (RPC). • Invocation de méthodes à distance. • Interaction événementielle. • Interaction par messagerie. • On parle ici de protocoles applicatifs de haut niveau, indépendamment de leurs implémentations dans la couche transport inférieure (tcp, udp, ...) Your Date Here Your Footer Here 13
  • 14. Architecture client-serveur Invocation des méthodes à distance •Généralisation des RPC au monde objet: on appel une méthode sur un objet distant (ex. de technologie: Java/RMI) •Les invocations de méthodes à distance permettent: • De référencer des objets distants (il faut précédemment avoir obtenu l’adresse distante de l’objet). • De transférer des objets locaux “non-répartis”: Your Date Here Your Footer Here 14
  • 15. Architecture client-serveur Interaction évènementielle • Basé sur la notion de publication d'événements : 1.Le client s’abonne à un ou plusieurs événements auprès du serveur. 2.Le serveur enregistre les abonnements, puis à chaque événement correspondant il envoie un message aux abonnés. • Notion de Push/Pull : • Push : envoyer l’information à ceux qui en ont besoin. • Pull : récupérer l’information quand on en a besoin. • Avantages : évite de surcharger le serveur de messages inutiles • Inconvénients : le serveur doit conserver la liste des clients en mémoire persistance ( cause des pannes). Your Date Here Your Footer Here 15
  • 16. Architecture client-serveur Interaction par message •Consiste à utiliser une “boite à lettres” pour y déposer des messages. •Mécanisme de communication asynchrone • Exemple : “Message Oriented Middleware” ou MOM. •Attention: ne pas confondre avec l’envoi de messages sur une socket. On parle ici de protocoles applicatifs de haut niveau et non pas de protocoles de transport. Your Date Here Your Footer Here 16
  • 17. Architecture client-serveur Architecture 2 tiers • C’est le type d’architecture client-serveur le plus basique : • La couche présentation est située sur le client • La couche donnée est située sur le serveur (par ex. une base de données relationnelles SQL, Oracle,...) • La couche traitement peut être située sur le client (au sein même de l’IHM) ou sur le serveur (par ex. des procédures stockées sur la base de données), ou partagée entre les deux rôles. • Il y a une relation directe entre les clients et les serveurs de données. • (+) simple à mettre en œuvre • (-) peu flexible et supporte difficilement la montée en charge • (-) souvent des solutions propriétaires, économiquement très couteux Your Date Here Your Footer Here 17
  • 18. Architecture client-serveur Architecture 3 tiers • L’architecture 3-tiers est une extension du modèle client-serveur qui introduit • un rôle spécifique pour la couche de traitements métiers. • Il y donc décomposition d’un même service sur 2 types de serveurs (Un type de serveur dédié à la gestion des traitements métiers. • Un type de serveur dédié à la gestion des données persistantes. • (+) plus évolutif que le 2-tiers • (+) meilleure répartition des charges de travail coté serveur • (+) économiquement moins cher, surtout lors de la montée en charge • (-) administration et mise en œuvre plus compliquée que le 2-tiers Your Date Here Your Footer Here 18
  • 19. APPLICATION : LES PROTOCOLES DE TRANSPORT Your Date Here Your Footer Here 3 19
  • 20. Protocoles de transport •Les protocoles de transport à aborder sont les suivants: •TCP: permet l’utilisation de flux bi-directionnels de communication • UDP: permet l’envoi asynchrone de messages •Multicast-IP: permet l’envoi de message à un groupe de destinataires Your Date Here Your Footer Here 20
  • 21. Protocoles de transport • L’utilisation de ce niveau primitif de communication permet la communication dans les architectures simples de type client- serveur 2-tiers. • En effet il est nécessaire de : • 1.Définir le format des messages réseau. • 2.Localiser le serveur. • 3.Emballer (“marshall”) les informations émises par le client pour le réseau. • 4.Déballer (“unmarshall”) les informatiions émises par le réseau pour le serveur. • 5.Gérer la requête. • 6.Emballer/déballer la/les valeur(s) de retour pour le client. Your Date Here Your Footer Here 21
  • 22. Protocoles de transport •Pour chacun de ces protocoles, on dispose de deux primitives de communication : • send : envoi d’un message dans un buffer (zone tampon) distant • receive : lecture d’un message à partir d’un buffer local Your Date Here Your Footer Here 22
  • 23. Protocoles de transport • De plus, on distingue deux modes de fonctionnement pour ces primitives : • synchrone : les primitives sont bloquantes • asynchrone : les primitives sont non-bloquantes • Par exemple : un send synchrone va rester bloqué jusqu’à l’envoi complet du message, de même un receive synchrone va rester bloqué jusqu’à ce qu’il y ait un message à lire. • L’utilisation de primitives asynchrones est plus souple que celui de primitives synchrones. • Mais aussi, un programme avec des primitives synchrones vous épargne de la gestion de la concurrence. Your Date Here Your Footer Here 23
  • 24. TCP : fonctionnement • 1.Le serveur crée une socket et attend une demande de connexion • 2.Le client envoie une demande de connexion • 3.Le serveur accepte la connexion • 4.Etablissement du dialogue entre client et serveur en mode flux • 5.Fermeture de connexion à l'initiative du client ou du serveur Your Date Here Your Footer Here 24
  • 25. TCP : fonctionnement •1.Le serveur crée une socket et attend une demande de connexion Your Date Here Your Footer Here 25
  • 26. TCP : fonctionnement •2.Le client envoie une demande de connexion Your Date Here Your Footer Here 26
  • 27. TCP : fonctionnement •3.Le serveur accepte la connexion Your Date Here Your Footer Here 27
  • 28. TCP : fonctionnement •4.Etablissement du dialogue entre client et serveur en mode flux Your Date Here Your Footer Here 28 Le client Le serveur
  • 29. TCP : fonctionnement •5.Fermeture de connexion à l'initiative du client ou du serveur Your Date Here Your Footer Here 29 Initiative du client pour fermer la connexion en tapant « exit »
  • 30. TCP: Live demo •Fork your repo from my github! •https://github.com/MariemZaouali/Test_tcp_serv eur •https://github.com/MariemZaouali/Test_tcp_clie nt Your Date Here Your Footer Here 30
  • 31. UDP : fonctionnement •1.Le serveur crée une socket UDP. •2.Le serveur attend la réception d’un message. •3.Le client envoie un message. Your Date Here Your Footer Here 31
  • 32. UDP : fonctionnement •1.Le serveur crée une socket UDP. •2.Le serveur attend la réception d’un message. Your Date Here Your Footer Here 32
  • 33. UDP : fonctionnement •3.Le client envoie un message. Your Date Here Your Footer Here 33
  • 34. UDP : fonctionnement •1.Le serveur crée une socket UDP. •2.Le serveur attend la réception d’un message. •3.Le client envoie un message. Your Date Here Your Footer Here 34
  • 35. UDP : fonctionnement •Le serveur va recevoir le paquet Your Date Here Your Footer Here 35 Durée d’attente Méthode de traitement
  • 36. UDP : Live demo •Fork your repo from my github! •https://github.com/MariemZaouali/Test_udp_ser ver •https://github.com/MariemZaouali/Test_udp_clie nt Your Date Here Your Footer Here 36
  • 37. Remarque •Pourquoi utiliser les buffers (input/output)? Your Date Here Your Footer Here 37 Il s'agit d'une région d'une mémoire physique utilisée pour stocker temporairement des données pendant qu'elles sont déplacées d'un endroit à un autre. Ce stockage de mémoire physique serait RAM (mémoire à accès aléatoire) dans la plupart des cas
  • 38. Multicast IP : fonctionnement •1.Le serveur (et client) crée une socket MulticastIP. •2.Le client rejoint le groupe de diffusion. •3.Le serveur envoie un message. Your Date Here Your Footer Here 38Your Footer Here 38 Serveur Client
  • 39. Multicast IP : fonctionnement •La multidiffusion est un type de socket de datagramme. Contrairement aux datagrammes classiques, la multidiffusion ne gère pas chaque client individuellement, mais l'envoie à une adresse IP et tous les clients abonnés recevront le message. Your Date Here Your Footer Here 39Your Footer Here 39 Serveur Client
  • 40. Multicast IP : fonctionnement Your Date Here Your Footer Here 40 • Exécuter le client d'abord: le client doit s'abonner à l'IP avant de pouvoir commencer à recevoir des paquets. Si vous démarrez le serveur et appelez la méthode send() , puis créez un client (& appelez printMessage() ). Rien ne se passera car le client est connecté après l'envoi du message Serveur Client
  • 41. Multicast IP : fonctionnement Your Date Here Your Footer Here 41 • Le multicast IP sert à diffuser des messages vers un groupe de destinataires : • Les messages sont émis vers une adresse de classe D (224.0.0.1 à 239.255.255.255) indépendante de la localisation physique des émetteurs et récepteurs. • Les messages sont alors reçus par tous les récepteurs “écoutant” sur cette adresse. • Plusieurs émetteurs/récepteurs possibles vers/sur la même adresse. • Les récepteurs peuvent quitter(leaveGroup) ou rejoindre un groupe(joinGroup) à tout instant. • Il dispose des mêmes propriétés que UDP.
  • 42. Multicast : live demo •Fork your repo from my github! •https://github.com/MariemZaouali/Test_multicas t_client •https://github.com/MariemZaouali/Test_multicas t_serveur Your Date Here Your Footer Here 42
  • 43. LES ARCHITECTURES DISTRIBUÉES Your Date Here Your Footer Here 4 43
  • 44. Architecture distribuée Your Date Here Your Footer Here 44 Architecture répartie Architecture centralisée Architecture distribuée Peer to Peer
  • 45. Architecture distribuée •Dans le cadre des architectures réparties, on distingue : • Les architectures centralisées (type client-serveur) • Les architectures distribuées où les problématiques sont différentes de part l’absence d’un décideur. Your Date Here Your Footer Here 45
  • 46. Architecture distribuée •La différence fondamentale entre ces deux types d’architecture se situe dans •la distribution des rôles entre les nœuds du réseau : • Les nœuds sont simultanément clients et serveurs et disposent de tout ou partie de l’information répartie. Your Date Here Your Footer Here 46
  • 47. Architecture distribuée • Les caractéristique habituelles de ces architectures sont les suivantes : • Pas de connaissance globale du réseau. • Pas de coordination globale des nœuds. •Chaque nœud ne connaît que les nœuds constituant son voisinage. •Toutes les données sont accessibles à partir de n’importe quel noeud. •Les nœuds sont très volatiles (ils peuvent disparaître ou apparaître à tout moment). Your Date Here Your Footer Here 47
  • 48. Architecture distribuée •Les technologies Peer-to-Peer (P2P, ou Pair-à- Pair) constituent le pendant technologique des architectures distribuées. Your Date Here Your Footer Here 48
  • 49. Architecture distribuée Avantages : •Tous les pairs fournissent des ressources (bande passante, stockage, puissance de calcul,...). •supportent beaucoup mieux la montée en charge (“scalability”) que les architectures centralisées. • La distribution augmente la robustesse du réseau dans le cas d’une panne Your Date Here Your Footer Here 49
  • 50. Architecture distribuée •Inconvénients : •Mauvaise réputation du “P2P”, invariablement associé au téléchargement musical → faible adoption par l’industrie. •concurrence entre les pairs, fragmentation des données •Pas de contrôle avancé des échanges d’information entre les pairs (inconvénient ou avantage ?). Your Date Here Your Footer Here 50
  • 51. LE CLOUD COMPUTING Your Date Here Your Footer Here 5 51
  • 52. Cloud Computing Définition •Le cloud computing est l’accès via le réseau, à la demande et en libre-service à des ressources informatiques virtualisées et mutualisées (mise en commun) Your Date Here Your Footer Here 52
  • 53. Usage des technologies Cloud dans une entreprise •On peut avoir: • Private cloud: est un groupe de ressources informatiques configurables à la demande dans un environnement de cloud public, qui fournit un certain niveau d'isolement entre les différentes organisations qui utilisent ces ressources Your Date Here Your Footer Here 53
  • 54. Usage des technologies Cloud dans une entreprise •On peut avoir: • SaaS: Le logiciel en tant que service, ou software as a service (SaaS), est un modèle d'exploitation commerciale des logiciels dans lequel ceux-ci sont installés sur des serveurs distants plutôt que sur la machine de l'utilisateur Your Date Here Your Footer Here 54
  • 55. Usage des technologies Cloud dans une entreprise •On peut avoir: • PaaS : des outils hardware et logiciels en tant que service via internet, permettant à l'utilisateur de développer des applications Your Date Here Your Footer Here 55
  • 56. Modèle de déploiement de Cloud Computing Your Date Here Your Footer Here 56
  • 57. Fournisseurs de Cloud Public Your Date Here Your Footer Here 57
  • 58. THANK YOU! Do you have any questions? 58