Post on 25-Feb-2016
description
Le contenu est basé aux transparents du 7ème édition de «Software Engineering» de Ian Sommerville
B.Shishedjiev - Génie logiciel 1
L’architecture des systèmes distribués
B.Shishedjiev - Génie logiciel 2
Caractéristiques• Partage des ressources• Ouverts – Utilisent de matériel et logiciel de
différents sources• Parallélisme• Expansible• Tolérance aux fautes – continuer après une
faute
B.Shishedjiev - Génie logiciel 3
Désavantages• Complexité• Sécurité• Gestion plus difficile• Unprévisible
B.Shishedjiev - Génie logiciel 4
Architectures distribuées• Client-serveurs• Objets distribués• Systèmes multiprocesseur
B.Shishedjiev - Génie logiciel 5
Systèmes multiprocesseurs• Caractéristiques
– Plusieurs processus– Gestion
• Pré-ordonnée• Géré par un répartiteur
– Il n’y a pas une correspondance stricte entre processus et processeurs
• Utilisation –– les systèmes de temps réel– Les grilles informatiques (grids)
B.Shishedjiev - Génie logiciel 6
Systèmes multiprocesseurs• Gestion des feux de signalisations
B.Shishedjiev - Génie logiciel 7
Client - serveur• Caractéristiques
– Des processus logiques– Les clients
• utilisent des services• connaissent les serveurs
– Les serveurs • assurent les services• Ne connaissent pas les clients
• Types– Client lourd– Client léger
B.Shishedjiev - Génie logiciel 8
Couches d’application
Couche de présentation
Couche de traitements
Couche de gestion des données
B.Shishedjiev - Génie logiciel 9
Client lourd et client léger
B.Shishedjiev - Génie logiciel 10
Client- serveur• Client léger
– Utilisé quand on migre des vieux systèmes vers C/S systèmes
– Serveur et réseau surchargés • Client lourd
– Le travail et mieux distribué– Gestion plus difficile– Chaque modification exige réinstallation de tout client
B.Shishedjiev - Génie logiciel 11
Exemple• Disributeur des billets
Account server
Customeraccountdatabase
Tele-processingmonitor
ATM
ATM
ATM
ATM
B.Shishedjiev - Génie logiciel 12
Architecture 3-rayons
B.Shishedjiev - Génie logiciel 13
Utilisation de cleint-serveurArchitecture Application
2-rayons – client léger
Des systèmes évoluésDes systèmes avec peu de données transmis – compilateurs Des systèmes avec beaucoup de données mais sans traitement des données - navigation
2-rayons – client lourd
Traitement produit par des systèmes prêts - ExcelQuand on a besoin d’un traitement intensif des données – visualisationQuand la fonctionnalité du client est stable
3-rayons Larges systèmes avec des clients nombreuxLes données et les traitements sont volatilsIntégration des données des plusieurs sources.
B.Shishedjiev - Génie logiciel 14
Architecture d’objets distribués• Caractéristiques
– Il n y a pas différence entre objet client et objet serveur
– Chaque objet distribuable peu chercher des services et de fournir de services
– La communication est réalisée par un composant appelé «object request broker» (broker des requêtes objet)
• Avantages– Ouvert– Flexible– Facilement modifié
B.Shishedjiev - Génie logiciel 15
Architecture d’objets distribués
Object request broker
o1 o2 o3 o4
o5 o6
S (o1) S (o2) S (o3) S (o4)
S (o5) S (o6)
B.Shishedjiev - Génie logiciel 16
Data mining
Database 1
Database 2
Database 3
Integrator 1
Integrator 2
Visualiser
Display
Report gen.
B.Shishedjiev - Génie logiciel 17
Data mining• Particularités
– Flexibilité – on peut ajouter nouveaux sources– Chaque intégrateur peut déduire certain type de
relation. Pour nouveau types on peut ajouter d’intégrateurs.
B.Shishedjiev - Génie logiciel 18
CORBA• Standard CORBA• Types d’objets
– Objets d’application– Objets standard pour un domaine– Services fondamentales – Répertoires et sécurité– Objets horizontaux – communes pour plusieurs
domaines
B.Shishedjiev - Génie logiciel 19
CORBA
CORBA services
Domainfacilities
Horizontal CORBAfacilities
Applicationobjects
Object request broker
B.Shishedjiev - Génie logiciel 20
CORBA• Communication entre objets
– IDL (Interface Defining Language)– Souches (stubs) et squelettes (skeletons)
B.Shishedjiev - Génie logiciel 21
CORBA
o1 o2
S (o1) S (o2)
IDLstub
IDLskeleton
Object Request Broker
o3 o4
S (o3) S (o4)
IDLstub
IDLskeleton
Object Request Broker
Network
Services CORBA• Naming • Trading• Notification• Transaction• ……
B.Shishedjiev - Génie logiciel 22
B.Shishedjiev - Génie logiciel 23
P2p architecture• Caractéristiques
– L’application comporte tout protocole de communication
– Chaque nœud a une copie de l’application• Pure • Semi centralisé
P2p architecture• P2p décentralisé
B.Shishedjiev - Génie logiciel 24
n1
n2 n3
n4
n5
n6
n7
n8
n9 n10 n11
n12
n13
n13
B.Shishedjiev - Génie logiciel 25
P2p architecture
Discoveryserver
n1
n2
n3
n4
n5
n6
• P2p semi-centralisé
B.Shishedjiev - Génie logiciel 26
Architecture orienté vers services
Serviceregistry
Servicerequestor
Serviceprovider
Publish
Bind
Find
service
B.Shishedjiev - Génie logiciel 27
Standards de services Web• Services based à SOAP
– SOAP (Simple Object Access Protocol)– WSDL (Web Services Description Language)– UDDI (Universal Description, Discovery and
Integration)• REST (Representational State Transfer)
B.Shishedjiev - Génie logiciel 28
Exemple de SOA• Système d’information de véhicle
User interface
Locator
Discovers carposition
Weatherinfo
Receives requestfrom user
ReceiverReceives
information streamfrom services
T ransmitterSends position andinformation request
to services
RadioT ranslates digital
info stream toradio signal
In-car software system
Mobile Info Service
F acilitiesinfo
T ranslator
Roadlocator T raffic
info
Collates information
Road traffic info
commandgps coord
gpscoord gps coordgps coord
LanguageinfoInfo
stream
Service discoveryFinds available
services