Introduction aux styles architecturaux

Documents pareils
Environnements de Développement

Patrons de Conception (Design Patterns)

Patrons d architecture des Systèmes d Information

Messagerie asynchrone et Services Web

WEA Un Gérant d'objets Persistants pour des environnements distribués

Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui

Les Architectures Orientées Services (SOA)

Cours n 12. Technologies WAN 2nd partie

Catalogue & Programme des formations 2015

INF6500 : Structures des ordinateurs. Sylvain Martel - INF6500 1

BPEL Orchestration de Web Services

Cisco Certified Network Associate

Introduction aux concepts d ez Publish

Projet Active Object

Bien architecturer une application REST

Intégration de systèmes

L A B U S I N E S S. d a t a g i n f o r m a t i o n g a c t i o n

Réseaux. Moyens de sécurisation. Plan. Evolutions topologiques des réseaux locaux

Argument-fetching dataflow machine de G.R. Gao et J.B. Dennis (McGill, 1988) = machine dataflow sans flux de données

Principes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

Journée IJD. Moussa Tari Bako Bachir. 25 juin 2012 ARLES/INRIA. Introduction Travail Chez ARLES

Métriques de performance pour les algorithmes et programmes parallèles

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence

Enterprise Intégration

Gouvernance IT : par où commencer? Hubert Lalanne DE, Chief Architect for Industries IBM Software France

Figure 1a. Réseau intranet avec pare feu et NAT.

Le Multicast. A Guyancourt le

Auto-évaluation Aperçu de l architecture Java EE

X2BIRT : Mettez de l interactivité dans vos archives

DOSSIER SOLUTION CA ERwin Modeling. Comment gérer la complexité des données et améliorer l agilité métier?

Parcours en deuxième année

Modélisation multi-agents - Agents réactifs

Les diagrammes de modélisation

Plan. Présentation du logiciel Sympa Architecture La gestion des hôtes virtuels Listes avec inclusion des abonnés Les modules d authentification

Catalogue des formations Edition 2015

Introduction à OPC. OPC est une spécification récente mais qui a rapidement évolué car elle est bâtie sur la spécification COM/DCOM.

CNAM cours NFE107 : Urbanisation et architecture des SI Xavier Godefroy, Rapport sur le BPM, mai Le BPM

TP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web.

Techniques d interaction dans la visualisation de l information Séminaire DIVA

Environnements de développement (intégrés)

Résumé CONCEPTEUR, INTEGRATEUR, OPERATEUR DE SYSTEMES CRITIQUES

IFIPS 5 / Nouvelles Architectures Logicielles Projet : Bus de web services avec «moteur» BPEL

Sécurité des réseaux Firewalls

Optimisation des niveaux de service dans le cadre de déploiements de Clouds publics

Ingénierie et gestion des connaissances

Architecture d'entreprise : Guide Pratique de l'architecture Logique

Industrialiser la chaîne complète de fabrication 1ère partie - Les bénéfices de la solution logicielle IBM VisualAge Pacbase / Rational

MEAD : temps réel et tolérance aux pannes pour CORBA

Fiche de l'awt Intégration des applications

NOTIONS DE RESEAUX INFORMATIQUES

NFP111 Systèmes et Applications Réparties

Tarifs de vente du gaz naturel TVA incluse au 1er avril Tarifs de vente du gaz naturel TVA incluse au 1er mars 2015

RAPPORT DE CONCEPTION UML :

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

Firewall IDS Architecture. Assurer le contrôle des connexions au. Sécurité 1

Business Process Execution Language

Administration de Citrix NetScaler 10.5 CNS-205-1I

Big Data. Cyril Amsellem Consultant avant-vente. 16 juin Talend

Chapitre 2 - Architecture logicielle et construction d applications client-serveur

Les réseaux de campus. F. Nolot

ASP.NET MVC 4 Développement d'applications Web en C# - Concepts et bonnes pratiques

Besoins cliniques et tendances en informatisation des services de santé. Fabien de Lorenzi Directeur principal, Orientation produits

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Bases de Données Avancées

Java pour le Web. Cours Java - F. Michel

Réseau Global MIDI Note applicative

SugarCubes. Jean-Ferdinand Susini Maître de Conférences, CNAM Chaire systèmes enfouis et embarqués. Paris, le 9 janvier, 2009

Introduction aux systèmes temps réel. Iulian Ober IRIT

ORACLE DATA INTEGRATOR ENTERPRISE EDITION - ODI EE

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués

Le modèle client-serveur

3A-IIC - Parallélisme & Grid GRID : Définitions. GRID : Définitions. Stéphane Vialle. Stephane.Vialle@supelec.fr

Rappel sur les bases de données

Introduction au développement SharePoint. Version 1.0

Base de données II Module 3b

White Paper - Livre Blanc

La Stratégie d Intégration Advantage

IRL : Simulation distribuée pour les systèmes embarqués

Sur un ordinateur exécutant Windows 2000 Server Ayant une adresse IP statique

INTRODUCTION AUX TESTS DE PERFORMANCE ET DE CHARGE

Service d'annuaire Active Directory

Administration des ressources informatiques

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

Chef de file dans le développement de solutions de gestion de contenu

Les Virtual LAN. F. Nolot. Master 1 STIC-Informatique 1

Installation et configuration d un serveur DHCP (Windows server 2008 R2)

Présentation d'un MOM open-source

Administration Système & Réseau. Domain Name System Historique & Concepts Fonctionnalités & Hiérarchie Requêtes & Base de donnée DNS

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour

CRYPTOGRAPHIE. Chiffrement par flot. E. Bresson. SGDN/DCSSI Laboratoire de cryptographie

Présentation et portée du cours : CCNA Exploration v4.0

Evolution de l infrastructure transport

BES WEBDEVELOPER ACTIVITÉ RÔLE

Planifier la migration des applications d entreprise dans le nuage

Petite définition : Présentation :

Chapitre 3 - VODEL, un langage de description d architectures logicielles statiques et dynamiques

Devoir Surveillé de Sécurité des Réseaux

BIRT (Business Intelligence and Reporting Tools)

Transcription:

Introduction aux styles architecturaux GLO-3001 Architecture logicielle Luc Lamontagne Hiver 2010

Styles architecturaux 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 2

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 3

Styles architecturaux Ne pas confondre style architectural et modèle architectural (ou vue architecturale) Modèles (vues, visualisation) Utilisés pour documenter une architecture Modèle statique qui présente les composantes Modèle dynamique qui décrit la structure de traitement Modèle d interface qui définit les sous-systèmes Modèle de relation qui décrit les relations entre les composantes Modèle de distribution des sous-systèmes sur différents ordinateurs 4

Patrons, styles et autres 5

Propriétés des architectures Les objectifs de conception de l architecture sont caractérisés par les propriétés que l on désire obtenir pour le système Propriétés fonctionnelles Fonctionnalités requises du système Propriétés non-fonctionnelles Maintenabilité Évolution, adaptation ou correction du système Disponibilité Performance Interopérabilité Robustesse Gestion des erreurs Tolérance aux fautes Sécurité 6

Traditionnel influencé par un style de programmation Main program and subroutines Orienté object En couche Machine virtuelle Client-serveur N-tiers Data-flow Batch sequential Pipe and filter Shared memory Blackboard Systèmes à base de règles Adaptatif Microkernel Reflexive Plug-in Interactif Model-View-Controller Embarqué Sense-Compute-Control Interpréteur Interpréteur Code mobile Invocation implicite Event-based Publish-subscribe Peer to peer Styles dérivés C2 CORBA 7

Main program & Subroutines Un programme principal qui appelle les composantes à tour de rôle Contrôle hiérarchique Le style le plus simple 8

Style orienté objet ( ) Topologie et structure de contrôle arbitraire. La durée de vie des instances peut varier Comprendre le système : relations statiques et dynamiques 9

Couches (Layers) Organisation en couches de composantes offrant des groupes de services Échanges limités aux composantes de la couche sousjacente Les composantes d une couche ne font appel qu aux composantes de la même couche ou de la couche inférieure Principe des machines virtuelles Couche 1 Programme A Couche 2 Programme B Programme C Couche 3 Programme D 10

Client-serveur Modèle à deux couches La base des systèmes distribués 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 Thin-client vs. Fat-client Connecteurs RPC Protocole réseau 11

Modèle 3-tiers Cas particulier d un : Modèle en couche (3) Modèle client-serveur (2) Autre dénomination : State-logic-display Rôle des niveaux : Présentation Logique d application Données (état du système) 12

Survol des principaux styles architecturaux Model-View-Controller (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 13

Batch sequential Style de flot de données (dataflow) Un des styles le plus anciens Repose sur la conversion d un flux de données Pour les applications de systèmes financiers 14

Pipelines (Pipes and Filters) Inspiré de la composition de fonctions en Unix ls invoices 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 Pump pipe pipe pipe Filter Filter Sink 15

Sense-Compute-Control Objectif : Structurer les applications embarquées (contrôle) 16

Dépôts de données (Repository shared memory) Dépôt de données commun aux composantes du système Les composantes interagissent par l entremise du dépôt de données Applications traditionnelles Base de données avec triggers Autres Blackboard Système à base de règles / système expert 17

Dépôts de données (Repository) Cas particulier: Blackboard Dépôt de données central Composantes de traitement sur les données (Knowledge Sources) Pas d interactions directes entre les KS Composante de gestion des traitements (Controller) Résolution de problème par des modifications successives des données 18

Système à base de règles Contient Un interface usager Un moteur d inférence Une base de connaissance Le moteur d inférence décortique les inputs de l usager Il détermine si c est un fait, une règle ou une requête. Un fait ou une règle Ajouter à la base de connaissance Un requête Interroger la base de connaissance pour obtenir les règles applicables et tenter de résoudre la requête 19

Publish-Subscribe De type implicit invocation Abonnement pour recevoir des messages ou un contenu spécifique. Les abonnées peuvent s enregistrer ou se désabonner. Les publieurs font un broadcast de leurs messages à leurs abonnés Soit de façon synchrone ou asynchrone 21

Peer-to-peer Peer : généralisation du modèle client-serveur Une composante peut agir selon les deux modes Doit contenir des services pour localiser les peers et les ressources 22

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 La suite Description détaillée de quelques styles Conception architecturale Comment choisir un ou plusieurs styles/patrons pour concevoir un système? 23