0% ont trouvé ce document utile (0 vote)
138 vues33 pages

Comprendre les styles architecturaux

Transféré par

Rim Negra
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
138 vues33 pages

Comprendre les styles architecturaux

Transféré par

Rim Negra
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Les styles architecturaux

Chapitre 2

Dr. Rim Negra 1


Choix d’une architecture
• Dépend des exigences fonctionnelles et non fonctionnelles du logiciel
• Choix favorisant la stabilité : l’ajout de nouveaux éléments sera facile et ne
nécessitera en général que des ajustements mineurs à l’architecture

• Influencé par certains « modèles connus » de décomposition en composants


(styles architecturaux) et de mode d’interactions (e.g., orienté objet)

Dr. Rim Negra 2


Introduction
• Un style architectural est un modèle définissant comment sera le
système.
• Un style architectural définit quels sont les composants, les
connecteurs et les contraintes définissant l’architecture d’un système.

Dr. Rim Negra 3


Définitions
• Patrons de structures génériques fréquemment rencontrées dans la
pratique
• Ces patrons ont des propriétés biens définies qui permettent la
réutilisation
• Architecture = composantes + connecteurs
• Spécification d’une décomposition en composantes qui sont en
interrelation
• Permet d’atteindre des objectifs de conception
• Une compréhension de ces styles peut simplifier le choix et la conception
d’une architecture logicielle
• La plupart des systèmes de grande échelle sont hétérogènes
• Ils ne correspondent pas à un style architectural unique
Dr. Rim Negra 4
Définitions
• Il définit:
• Un ensemble de composants et de connecteurs (et leur type)
• Les règles de configuration des composants et connecteurs
• (topologie)
• Une spécification du comportement du patron
• Des exemples de systèmes construits selon ce patron
• Constitue un modèle éprouvé et enrichi par l’expérience de plusieurs
développeurs
• Compréhensibilité, maintenance, évolution, réutilisation,
performance, documentation, etc
Dr. Rim Negra 5
Avantages
• Un style architectural aide a avoir un aperçu du système
avant son développement.
• Les styles sont indépendants des technologies.
• Plusieurs technologies peuvent réaliser un certain styles.
• Facilite la réutilisation.
• Un système peut s’appuyer sur plusieurs styles.

Dr. Rim Negra 6


Bénéfices d’utiliser des styles
• Réutilisation d’un design
• Des solutions bien comprises appliquées à de nouveaux problèmes
• Réutilisation de code
• Partage de l’implémentation des aspects invariants d’un style
• Compréhension de l’organisation d’un système
• Une expression comme client-serveur communique beaucoup d’information
• Interopérabilité
• Supporté par la standardisation d’un style

Dr. Rim Negra 7


Styles standards
• Pipe / Filtre
• Client / Serveur
• 3-tiers/N-tiers
• Multi-couches
• MVC: Model View Controller
• Cloud computing

Dr. Rim Negra 8


Pipe / Filtre (pipeline)
• Permet à l’information d’être traitée par plusieurs
• composants d’une manière séquentielle
• La configuration détermine l’ordre de traitement
• Le filtre est un composant qui traite l’information.
• La pipe est un canal par lequel transite l’information.

Dr. Rim Negra 9


Pipe / Filtre fonctionnement
• Exemple: Unix shell, Windows Powershell
• Application de traitement de texte, de traitement de signaux.
Compilateur (analyse lexicale, syntaxique, sémantique)

Dr. Rim Negra 10


Pipe / Filtre
• Inspiré de la composition de fonctions en Unix
Ls months | grep–e August | sort
• Composantes de transformation (Filtres)
• Les filtres sont des unités de traitement qui sont spécifiées uniquement pas les
entrées qu’elles acceptent et les sorties qu’elles produisent
• Les filtres ne partagent pas d’état entre eux
• Les filtres n’ont pas d’interaction entre eux
• Composantes de communication (Pipes)
• Les pipes sont des connecteurs
• Ils relient les composantes sources et les composantes réceptrices
• Ils propagent les données entre elles

Dr. Rim Negra 11


Pipe / Filtre
• Avantages
• Forte décomposition du systèmes
• Filtres facile à réutiliser
• Facilite la maintenance
• La dépendance entre les filtres est faible
• Inconvénients
• Ne convient pas aux applications à haute interactivité
• Les performances dépendent des filtres.

Dr. Rim Negra 12


MVC - définition
• MVC= Model view Controller
• Le modèle représente les entités du système
• Le contrôleur implémente la logique métier et la logique
des interactions
• La vue représente L’interface utilisateur

Dr. Rim Negra 13


MVC-Exemple

Dr. Rim Negra 14


MVC
• Applications interactives -GUI
• L’application est divisée en 3 composantes
• Modèle
• Représente les données et les fonctionnalités du domaine de l’application
• Vues
• Représentations visuelles des données qui forment l’application
• Il peut y avoir plus d’une vue pour un même modèle
• Contrôleurs
• Composantes de contrôle qui traitent les entrées (événements) en provenance des
vues et du système et les traduit en opérations effectuées sur le modèle est les vues
• Un contrôleur pour chacune des vues

Dr. Rim Negra 15


MVC
• Avantages
• Modèle de conception largement apprécié de la communauté des
développeurs
• Séparation de la logique des interfaces
• Testabilité accrue
• Inconvénients
• Assez complexe
• Plus d’effort de développement
• Un nombre énorme de fichiers à manipuler

Dr. Rim Negra 16


Client-Serveur
• Le système est composé de deux composants principaux se trouvant
généralement dans des machines séparées. (La base des systèmes
distribués)
• Le client envoie des requêtes au serveur
• Le serveur réagit des requêtes en renvoyant des réponses.
• L’interface est au niveau du client.
• Modèle à deux couches
• Les données sont distribuées dans un ensemble de composantes
• Le traitement est réparti parmi les composantes
• Composantes
• Serveurs –fournissent des services
• Clients –utilisent ces services
• Connecteurs
• RPC
• Protocole réseau

Dr. Rim Negra 17


Client-Serveur : Exemple

Serveur web (IIS / Apache), Client web (FireFox / Chrome


/ Internet Explorer)
 Serveur
Dr. Rim FTP
Negra (ftpd) / Client FTP (FileZilla) 18
Client- Serveur
• Avantages
• Séparation des taches
• Simple à utiliser
• Inconvénients
• Souvent insuffisant pour des cas complexe

Dr. Rim Negra 19


Architecture pair-à-pair
• Architecture pair-à-pair = une généralisation de l’architecture client-
serveur
• Les composants peuvent tous à la fois être client et serveur
• Conception plus difficile: flot de contrôle plus complexe dû à la
• possibilité de deadlocks…

Dr. Rim Negra 20


Architecture N-tiers
• Fragmente le système a plusieurs
niveaux
• Le niveau présentation, le niveau logique
ou le niveau données sont des exemples
de niveaux
• Chaque niveau dépend uniquement du
niveau qui est supérieur

Dr. Rim Negra 21


Architecture N-tiers

Dr. Rim Negra 22


Architecture 3-niveaux
• – Organisation en trois couches
• Couche interface: Composé d’objets interfaces (boundary objects) pour
interagir avec l’utilisateur (fenêtres, formulaires, pages Web, etc.)
• Couche logique applicative : Comporte tous les objets de contrôle et d’entités
nécessaire pour faire les traitements, la vérification des règles et les
notifications requises par l’application
• Couche de stockage : réalise le stockage, la récupération et la recherche des
objets persistants
• Avantage sur l’architecture client-serveur
• Permet le développement et la modification de différentes interfaces
utilisateurs pour la même logique applicative

Dr. Rim Negra 23


Dr. Rim Negra 24
Dr. Rim Negra 25
Architecture N-tiers: Exemple

Dr. Rim Negra 26


Architecture N-tiers
• Avantages
• Séparation poussée des tâches
• Haute flexibilité
• Inconvénients
• Nécessite des ressources matérielles importantes

Dr. Rim Negra 27


SOA- Définition
• SOA (Service oriented architecture) est une évolution du modèle
client serveur
• SOA est basée sur des services faiblement couplés, indépendants des
protocoles, basés sur les standards distribués.
• Chaque ressources disponible sur le réseau est utilisé comme service.

Dr. Rim Negra 28


Caractéristique des services
• Les services sont autonomes
• Les services sont composables
• Les services sont réutilisables
• Une architecture SAO est basé sur un consommateur de service, un
fournisseur de service et un registre de service.
• Un consommateur utilise le service
• Un fournisseur assure le service
• Le registre fait le lien entre le fournisseur et le consommateur

Dr. Rim Negra 29


SOA

Dr. Rim Negra 30


SOA
• Avantages
• Indépendance et facilité de découverte
• Permettant l’utilisation des application depuis n’importe quel équipement

Dr. Rim Negra 31


Le Cloud Computing
• Le Cloud computing est une technologie basé sur internet qui permet
de fournir des ressources d’une manière évolutive sur internet.
• Le cloud computing est la base de Saas (software as service)
• Avec Saas, les utilisateurs ne se soucient plus de l’évolution et de la
maintenance des logiciels.
• Le cloud permet aux entreprise une réduction des coûts.

Dr. Rim Negra 32


Conclusion

• Différents styles répertoriés dans la littérature


• Certains largement répandus, d’autres peu utilisés

• Chaque style a ses caractéristiques


• Rôle des composantes
• Connecteurs spécifiques

Dr. Rim Negra 33

Vous aimerez peut-être aussi