SlideShare une entreprise Scribd logo
1  sur  58
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

Programmation réseau en JAVA
Programmation réseau en JAVAProgrammation réseau en JAVA
Programmation réseau en JAVABachir Benyammi
 
TD_complet_reseau__CISCO__Packet Tracer.pdf
TD_complet_reseau__CISCO__Packet Tracer.pdfTD_complet_reseau__CISCO__Packet Tracer.pdf
TD_complet_reseau__CISCO__Packet Tracer.pdfInes Ben Hassine
 
Socket tcp ip client server on langace c
Socket tcp ip client server on langace c Socket tcp ip client server on langace c
Socket tcp ip client server on langace c mouad Lousimi
 
Introduction aux architectures des SI
Introduction aux architectures des SI Introduction aux architectures des SI
Introduction aux architectures des SI Heithem Abbes
 
Les socket ing1_issat
Les socket ing1_issatLes socket ing1_issat
Les socket ing1_issatsloumaallagui
 
Les architectures client serveur
Les architectures client serveurLes architectures client serveur
Les architectures client serveurAmeni Ouertani
 
Appalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSPAppalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSPYouness Boukouchi
 
Introduction aux systèmes répartis
Introduction aux systèmes répartisIntroduction aux systèmes répartis
Introduction aux systèmes répartisHeithem Abbes
 
Tp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPELTp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPELLilia Sfaxi
 
Correction Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfCorrection Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfslimyaich3
 
Architectures 3-tiers (Web)
Architectures 3-tiers (Web)Architectures 3-tiers (Web)
Architectures 3-tiers (Web)Heithem Abbes
 
Chp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées ServicesChp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées ServicesLilia Sfaxi
 
Cours réseaux informatiques ia2
Cours réseaux informatiques  ia2Cours réseaux informatiques  ia2
Cours réseaux informatiques ia2Amel Morchdi
 
Architectures distribuées
Architectures distribuéesArchitectures distribuées
Architectures distribuéesFranck SIMON
 
Architectures orientées services
Architectures orientées servicesArchitectures orientées services
Architectures orientées servicesDonia Hammami
 

Tendances (20)

Programmation réseau en JAVA
Programmation réseau en JAVAProgrammation réseau en JAVA
Programmation réseau en JAVA
 
TD_complet_reseau__CISCO__Packet Tracer.pdf
TD_complet_reseau__CISCO__Packet Tracer.pdfTD_complet_reseau__CISCO__Packet Tracer.pdf
TD_complet_reseau__CISCO__Packet Tracer.pdf
 
Socket tcp ip client server on langace c
Socket tcp ip client server on langace c Socket tcp ip client server on langace c
Socket tcp ip client server on langace c
 
Introduction aux architectures des SI
Introduction aux architectures des SI Introduction aux architectures des SI
Introduction aux architectures des SI
 
Les socket ing1_issat
Les socket ing1_issatLes socket ing1_issat
Les socket ing1_issat
 
Les architectures client serveur
Les architectures client serveurLes architectures client serveur
Les architectures client serveur
 
radius
radiusradius
radius
 
Appalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSPAppalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSP
 
Introduction aux systèmes répartis
Introduction aux systèmes répartisIntroduction aux systèmes répartis
Introduction aux systèmes répartis
 
Tp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPELTp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPEL
 
Architecture .net
Architecture  .netArchitecture  .net
Architecture .net
 
Tp n 4 linux
Tp n 4 linuxTp n 4 linux
Tp n 4 linux
 
Correction Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfCorrection Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdf
 
Architectures 3-tiers (Web)
Architectures 3-tiers (Web)Architectures 3-tiers (Web)
Architectures 3-tiers (Web)
 
Chp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées ServicesChp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées Services
 
Snmp
SnmpSnmp
Snmp
 
Java RMI
Java RMIJava RMI
Java RMI
 
Cours réseaux informatiques ia2
Cours réseaux informatiques  ia2Cours réseaux informatiques  ia2
Cours réseaux informatiques ia2
 
Architectures distribuées
Architectures distribuéesArchitectures distribuées
Architectures distribuées
 
Architectures orientées services
Architectures orientées servicesArchitectures orientées services
Architectures orientées services
 

Similaire à 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
 
Prez -chtijug-29032016-(micro)services, loadbalancing et gestion des erreurs ...
Prez -chtijug-29032016-(micro)services, loadbalancing et gestion des erreurs ...Prez -chtijug-29032016-(micro)services, loadbalancing et gestion des erreurs ...
Prez -chtijug-29032016-(micro)services, loadbalancing et gestion des erreurs ...Christophe Furmaniak
 

Similaire à 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
 
Prez -chtijug-29032016-(micro)services, loadbalancing et gestion des erreurs ...
Prez -chtijug-29032016-(micro)services, loadbalancing et gestion des erreurs ...Prez -chtijug-29032016-(micro)services, loadbalancing et gestion des erreurs ...
Prez -chtijug-29032016-(micro)services, loadbalancing et gestion des erreurs ...
 

Plus 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
 

Plus 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
 

Dernier

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
 
Algo II: les files cours + exercices corrigés
Algo II: les files cours + exercices corrigésAlgo II: les files cours + exercices corrigés
Algo II: les files cours + exercices corrigésSana REFAI
 
optimisation logistique MLT_231102_155827.pdf
optimisation logistique  MLT_231102_155827.pdfoptimisation logistique  MLT_231102_155827.pdf
optimisation logistique MLT_231102_155827.pdfSoukainaMounawir
 
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
 

Dernier (7)

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
 
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
 
Algo II: les files cours + exercices corrigés
Algo II: les files cours + exercices corrigésAlgo II: les files cours + exercices corrigés
Algo II: les files cours + exercices corrigés
 
optimisation logistique MLT_231102_155827.pdf
optimisation logistique  MLT_231102_155827.pdfoptimisation logistique  MLT_231102_155827.pdf
optimisation logistique MLT_231102_155827.pdf
 
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
 

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