SlideShare une entreprise Scribd logo
1  sur  24
Les architectures n-tiers
Synthèse
2
 Avantages
 Déploiement immédiat
 Evolutions transparentes pour l'utilisateur
 Caractéristiques du poste client libres
 Limites
 Le serveur d’application réalise la majorité des
traitements
 Problème de gestion de la montée en charge
rappelant l'époque des mainframes
 le client est soulagé, mais le serveur est fortement sollicité
L’équilibrage de la charge entre client et serveur semble
atteint avec la génération suivante :
Les architectures n-tiers
Présentation
3
 Objectif : pallier aux limitations de
l’architecture 3-tiers et concevoir des
applications puissantes et simples à
maintenir.
 Solution : distribuer la logique applicative
pour une meilleure répartition de la charge
entre tous les niveaux.
Présentation
4
Présentation
5
 Toujours 3 niveaux d’abstraction : n-tiers ne
signifie pas un nombre indéterminé de niveaux
de service
 L'architecture n-tiers qualifie la distribution de la
logique applicative entre de multiples services
 La distribution est facilitée par l'utilisation de
composants
 Un composant rend un service, si possible,
générique et clairement identifié.
 Les composants sont capables de communiquer
entre eux et peuvent donc coopérer en étant
implantés sur des machines distinctes.
Les couches de l’arch. n-tiers
6
 Une architecture n-tiers comprend généralement une
couche de présentation, une couche applicative, une
couche objets métier et une couche d'accès aux
données
Les couches de l’arch. n-tiers
7
 La couche de présentation contient les différents types de
clients léger (JSP, ASP…) et lourd (Swing, WinForm…)
 La couche applicative contient les traitements représentant
les règles métier (créer un compte, rechercher un client,
calculer une facture, ...)
 La couche d'objets métier est représentée par les objets
du domaine, c'est à dire l'ensemble des entités
persistantes de l'application (Facture, Bon de Commande,
Client, ...)
 La couche d'accès aux données contient les usines
d'objets métier, c'est à dire les classes chargées de créer
et manipuler des objets métier de manière totalement
transparente, indépendamment de leur mode de stockage
(SGBDR, ERP, Fichiers XML, ...)
Objet métier : qu’est ce que
c’est ?
 Un objet métier est un concept ou une abstraction
ayant un sens pour des acteurs (partie prenante
interne) d’une organisation (entreprise)
 L’objet métier permet de décrire les entités
manipulées par les acteurs dans le cadre de la
description du métier.
 Exemple
 Mon métier consiste à gérer les comptes bancaires de mes
clients
 Les objets métier sont le compte bancaire, le client.
 Les objets métiers sont représentés par l'ensemble
des objets persistants du domaine de l'application.
 Une facture, un bon de commande ou tout autre objet
nécessitant d'être stocké en base.
La couche d'objets métiers
9
 Il existe deux méthodes pour accéder aux
données:
 La première consiste à accéder directement aux
sources de données.
 La deuxième méthode consiste à s'appuyer sur
des objets métier (client, fournisseur, facture ...)
afin de masquer la complexité d'accès aux
données.
 La couche objet métier assure l'indépendance
totale entre le client et le type de stockage
utilisé (SGBDR, SGBDO, fichiers XML, ...).
La couche d'objets métiers
 Exemple:
 Un objet AssuréSocial possédera par exemple
une méthode débit() et une méthode crédit() qui
à chaque appel iront modifier les données dans
 une ERP (Entreprise Resource Planning),
 un système de CRM (Customer Relation Ship
Managment),
 des fichiers XML
 ou une base de données.
Serveur d’objets métier
11
 Pour gérer ces objets métier, un
environnement d'exploitation est nécessaire :
le serveur d'objets
 Fournit les services essentiels suivants:
 Gestion du cycle de vie des objets :
 fonctionnalités de base permettant la création, la
recherche, la manipulation, et la destruction des objets
 Gestion de la persistance :
 synchronisation de l’état des objets sur un support de
persistance afin d’assurer la sauvegarde durable de
l’état des objets
Serveur d’objets métier
 Gestion des transactions :
 permet d’assurer l’intégrité des données et de gérer la
concurrence d’accès (basé sur les propriétés ACID)
 Gestion de la montée en charge :
 mécanismes (pools d’objets, cache transactionnel, etc.…)
pour améliorer les performances des applications accédant
de manière concurrente aux objets
 Gestion de la sécurité :
 mécanismes d’authentification et de contrôle d’accès aux
objets
 définition de permissions sur les opérations de lecture, de
mise à jour, et sur les appels aux traitements métier permet
de définir des restrictions d’accès basées sur la définition de
groupes d’utilisateurs et de rôles
Serveur d’objets métier
14
 Les principaux serveurs d'objets:
 Corba de OMG
 Microsoft DCOM de .NET
 EJB (Enterprise Java Beans) de JEE
Programmation orientée objet - Limites
« programming in the small »
 tout est la la charge du programmeur
 construction des différents modules
 définition des instances
 interconnexions des modules
 structure de l’application peu visible
 ensemble des fichiers de codes nécessaire
 évolution/modification difficile
 changement du mode de communication
 évolution, ajout, suppression de fonctionnalités
 modification du placement
 développement, génération des exécutables,
déploiement
 pas ou peu d’outils pour les applications réparties
Objets et encapsulation
 Granularité trop fine
 Mal adaptée à la programmation à grande échelle
 Couplage fort
 Rend difficile la réutilisation
 Accroît la complexité des systèmes orientés objets
Composants logiciels
 Analogie avec les composants électroniques,
legos, puzzles
 Plus de structuration
Programmation orientée composant
« Programming in the large »
 Motivation : réutilisation de logiciel
 intégration de modules logiciels existants
 construction d'applications réparties par assemblage
de modules logiciels existants
 programmation à gros grain ("programming in the
large")
 Approche : description de l'architecture de
l'application à l'aide d'un langage déclaratif
 séparation de l’interface/implémentation
 modèle de construction des composants
 Composants: interfaces, attributs, implémentation
 description des interactions entre composants
(connecteurs)
Composants : définition
 Définition
 module logiciel autonome
 unité de déploiement (installation sur différentes plates-formes)
 unité de composition (combinaison avec d’autres composants)
 Propriétés
 spécifie explicitement la ou les interface(s) fournie(s) (attributs,
méthodes)
 spécifie explicitement la ou les interface(s) requise(s) pour son
exécution
 peut être configuré
 capable de s’auto-décrire (Introspection)
 Intérêt
 permettre la construction d’applications par composition de
briques de base configurables
 séparer les fonctions des fournisseur et d’assembleur (conditions
pour le développement d’une industrie des composants)
Exemple: application de e-
commerce
Interface Utilisateurs Logique Application et
Transaction
Logique Données
Serveur de
Paiement
Navigateur
Client
Caddie
Applet
Java
Serveur
d’Application
Composant
Paiement
Composant
Catalogue
Composant
Commande
Serveur de données
Validation Commande
Composant : modèle génerique
Interfaces
requises
Interfaces
fournies
Contraintes techniques
Propriétés configurables
placement, sécurité
accès transactionnel, Persistance
interfaces fournies par le système (bibliothèques,
etc.)
fournies par
d'autres composants
Méthodes, attributs
interfaces spéciales avec accès restreint
Composants : utilisation
 Composition hiérarchique et encapsulation
 composants construits, sous-composants
 Interconnexion de composants
 connecteurs, ou objets de communication
Composants : utilisation
24
Support logiciel pour
composants
 Pour assurer leurs fonctions, les composants ont
besoin d’un support logiciel: conteneurs et structures
d’accueil
 Conteneur
 encapsulation d’un composant
 prise en charge des services du système
 nommage, sécurité, transactions, persistance, etc.
 prise en charge partielle des relations entre composants
(connecteurs)
 invocations, événements
 techniques utilisées : interposition, délégation
 Les appels des composants transitent par le conteneur qui y répond
lorsqu’il en a la charge ou les transmet au destinataire.
 Structure d’accueil
 espace d’exécution des conteneurs et composants
 médiateur entre conteneurs et services du système
Support logiciel pour
composants

Contenu connexe

Tendances

Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...Nawres Farhat
 
Introduction aux systèmes répartis
Introduction aux systèmes répartisIntroduction aux systèmes répartis
Introduction aux systèmes répartisHeithem Abbes
 
UML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouriUML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouriMansouri Khalifa
 
Rapport de projet de conception et de développement
Rapport de projet de conception et de développementRapport de projet de conception et de développement
Rapport de projet de conception et de développementDonia Hammami
 
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
 
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)ENSET, Université Hassan II Casablanca
 
Presentation pfe Système de gestion des rendez-vous médicaux
Presentation pfe Système de gestion des rendez-vous médicauxPresentation pfe Système de gestion des rendez-vous médicaux
Presentation pfe Système de gestion des rendez-vous médicauxFehmi Arbi
 
Présentation PFE (Conception et développement d'une application web && mobile...
Présentation PFE (Conception et développement d'une application web && mobile...Présentation PFE (Conception et développement d'une application web && mobile...
Présentation PFE (Conception et développement d'une application web && mobile...Ramzi Noumairi
 
gestion de magasin vente matériels informatique
gestion de magasin vente matériels informatiquegestion de magasin vente matériels informatique
gestion de magasin vente matériels informatiqueOussama Yoshiki
 
Rapport pfe talan_2018_donia_hammami
Rapport pfe talan_2018_donia_hammamiRapport pfe talan_2018_donia_hammami
Rapport pfe talan_2018_donia_hammamiDonia Hammami
 
BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceLilia Sfaxi
 
diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UMLAmir Souissi
 
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
 
Rapport Projet de fin d'etude sur le parc informatique
Rapport Projet  de fin d'etude sur le parc informatiqueRapport Projet  de fin d'etude sur le parc informatique
Rapport Projet de fin d'etude sur le parc informatiqueHicham Ben
 
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
 
Conception et Réalisation d’une Plateforme Web de Gestion des achats
Conception et Réalisation d’une Plateforme Web de Gestion des achats Conception et Réalisation d’une Plateforme Web de Gestion des achats
Conception et Réalisation d’une Plateforme Web de Gestion des achats Ayed CHOKRI
 
Conception et réalisation d'une application de gestion intégrée au sein de la...
Conception et réalisation d'une application de gestion intégrée au sein de la...Conception et réalisation d'une application de gestion intégrée au sein de la...
Conception et réalisation d'une application de gestion intégrée au sein de la...Addi Ait-Mlouk
 
BigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big DataBigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big DataLilia Sfaxi
 
Conception et développement d'une application de gestion de production et de ...
Conception et développement d'une application de gestion de production et de ...Conception et développement d'une application de gestion de production et de ...
Conception et développement d'une application de gestion de production et de ...Mohamed Aziz Chetoui
 

Tendances (20)

Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...
 
Introduction aux systèmes répartis
Introduction aux systèmes répartisIntroduction aux systèmes répartis
Introduction aux systèmes répartis
 
UML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouriUML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouri
 
Rapport de projet de conception et de développement
Rapport de projet de conception et de développementRapport de projet de conception et de développement
Rapport de projet de conception et de développement
 
Support de cours angular
Support de cours angularSupport de cours angular
Support de cours angular
 
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
 
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
 
Presentation pfe Système de gestion des rendez-vous médicaux
Presentation pfe Système de gestion des rendez-vous médicauxPresentation pfe Système de gestion des rendez-vous médicaux
Presentation pfe Système de gestion des rendez-vous médicaux
 
Présentation PFE (Conception et développement d'une application web && mobile...
Présentation PFE (Conception et développement d'une application web && mobile...Présentation PFE (Conception et développement d'une application web && mobile...
Présentation PFE (Conception et développement d'une application web && mobile...
 
gestion de magasin vente matériels informatique
gestion de magasin vente matériels informatiquegestion de magasin vente matériels informatique
gestion de magasin vente matériels informatique
 
Rapport pfe talan_2018_donia_hammami
Rapport pfe talan_2018_donia_hammamiRapport pfe talan_2018_donia_hammami
Rapport pfe talan_2018_donia_hammami
 
BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-Reduce
 
diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UML
 
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
 
Rapport Projet de fin d'etude sur le parc informatique
Rapport Projet  de fin d'etude sur le parc informatiqueRapport Projet  de fin d'etude sur le parc informatique
Rapport Projet de fin d'etude sur le parc informatique
 
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
 
Conception et Réalisation d’une Plateforme Web de Gestion des achats
Conception et Réalisation d’une Plateforme Web de Gestion des achats Conception et Réalisation d’une Plateforme Web de Gestion des achats
Conception et Réalisation d’une Plateforme Web de Gestion des achats
 
Conception et réalisation d'une application de gestion intégrée au sein de la...
Conception et réalisation d'une application de gestion intégrée au sein de la...Conception et réalisation d'une application de gestion intégrée au sein de la...
Conception et réalisation d'une application de gestion intégrée au sein de la...
 
BigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big DataBigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big Data
 
Conception et développement d'une application de gestion de production et de ...
Conception et développement d'une application de gestion de production et de ...Conception et développement d'une application de gestion de production et de ...
Conception et développement d'une application de gestion de production et de ...
 

Similaire à Architectures n-tiers

SOA-Partie 2.pdf hvjhvhjvkhvhjvhvhvjhvkhv
SOA-Partie 2.pdf hvjhvhjvkhvhjvhvhvjhvkhvSOA-Partie 2.pdf hvjhvhjvkhvhjvhvhvjhvkhv
SOA-Partie 2.pdf hvjhvhjvkhvhjvhvhvjhvkhvamine17157
 
Marzouk architecture encouches-jee-mvc
Marzouk architecture encouches-jee-mvcMarzouk architecture encouches-jee-mvc
Marzouk architecture encouches-jee-mvcabderrahim marzouk
 
Les vrais enjeux de l'IA.pdf
Les vrais enjeux de l'IA.pdfLes vrais enjeux de l'IA.pdf
Les vrais enjeux de l'IA.pdfBabacarDIOP48
 
Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01
Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01
Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01Eric Bourdet
 
Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01 (1)
Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01 (1)Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01 (1)
Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01 (1)Eric Bourdet
 
applications-reparties
applications-repartiesapplications-reparties
applications-repartiesmourad50
 
Sayeh hiba-karaa-eya-ferjani-maroua-hamzaoui-balkiss-sys-complexes
Sayeh hiba-karaa-eya-ferjani-maroua-hamzaoui-balkiss-sys-complexesSayeh hiba-karaa-eya-ferjani-maroua-hamzaoui-balkiss-sys-complexes
Sayeh hiba-karaa-eya-ferjani-maroua-hamzaoui-balkiss-sys-complexesSayehHiba1
 
MVVM de A à Z
MVVM de A à ZMVVM de A à Z
MVVM de A à ZMicrosoft
 
Introduction au Domain Driven Design
Introduction au Domain Driven DesignIntroduction au Domain Driven Design
Introduction au Domain Driven DesignDNG Consulting
 
Dodi_Mbuta_La création d'un web service : « Note Reminder » _ Dodi Mbuta
Dodi_Mbuta_La création d'un web service : « Note Reminder » _ Dodi MbutaDodi_Mbuta_La création d'un web service : « Note Reminder » _ Dodi Mbuta
Dodi_Mbuta_La création d'un web service : « Note Reminder » _ Dodi MbutaDaniella Mbuta
 
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...ENSET, Université Hassan II Casablanca
 
Introduction à Hibernate p.1
Introduction à Hibernate p.1Introduction à Hibernate p.1
Introduction à Hibernate p.1ATHMAN HAJ-HAMOU
 
Fondamentaux d'architecture d'une application Flex
Fondamentaux d'architecture d'une application FlexFondamentaux d'architecture d'une application Flex
Fondamentaux d'architecture d'une application Flexdavid deraedt
 
Fondamentaux d'architecture d'une application Flex
Fondamentaux d'architecture d'une application FlexFondamentaux d'architecture d'une application Flex
Fondamentaux d'architecture d'une application Flexdavid deraedt
 
Architecture mvc
Architecture mvcArchitecture mvc
Architecture mvcMadridal
 
cours-gratuit.com--id-1964.pdf
cours-gratuit.com--id-1964.pdfcours-gratuit.com--id-1964.pdf
cours-gratuit.com--id-1964.pdfRachida19
 

Similaire à Architectures n-tiers (20)

Cours architecture
Cours architectureCours architecture
Cours architecture
 
SOA-Partie 2.pdf hvjhvhjvkhvhjvhvhvjhvkhv
SOA-Partie 2.pdf hvjhvhjvkhvhjvhvhvjhvkhvSOA-Partie 2.pdf hvjhvhjvkhvhjvhvhvjhvkhv
SOA-Partie 2.pdf hvjhvhjvkhvhjvhvhvjhvkhv
 
Marzouk architecture encouches-jee-mvc
Marzouk architecture encouches-jee-mvcMarzouk architecture encouches-jee-mvc
Marzouk architecture encouches-jee-mvc
 
Les vrais enjeux de l'IA.pdf
Les vrais enjeux de l'IA.pdfLes vrais enjeux de l'IA.pdf
Les vrais enjeux de l'IA.pdf
 
Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01
Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01
Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01
 
Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01 (1)
Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01 (1)Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01 (1)
Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01 (1)
 
applications-reparties
applications-repartiesapplications-reparties
applications-reparties
 
Sayeh hiba-karaa-eya-ferjani-maroua-hamzaoui-balkiss-sys-complexes
Sayeh hiba-karaa-eya-ferjani-maroua-hamzaoui-balkiss-sys-complexesSayeh hiba-karaa-eya-ferjani-maroua-hamzaoui-balkiss-sys-complexes
Sayeh hiba-karaa-eya-ferjani-maroua-hamzaoui-balkiss-sys-complexes
 
MVVM de A à Z
MVVM de A à ZMVVM de A à Z
MVVM de A à Z
 
Introduction au Domain Driven Design
Introduction au Domain Driven DesignIntroduction au Domain Driven Design
Introduction au Domain Driven Design
 
Dodi_Mbuta_La création d'un web service : « Note Reminder » _ Dodi Mbuta
Dodi_Mbuta_La création d'un web service : « Note Reminder » _ Dodi MbutaDodi_Mbuta_La création d'un web service : « Note Reminder » _ Dodi Mbuta
Dodi_Mbuta_La création d'un web service : « Note Reminder » _ Dodi Mbuta
 
Poo
PooPoo
Poo
 
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...
 
Introduction à Hibernate p.1
Introduction à Hibernate p.1Introduction à Hibernate p.1
Introduction à Hibernate p.1
 
Architecture .net
Architecture  .netArchitecture  .net
Architecture .net
 
Fondamentaux d'architecture d'une application Flex
Fondamentaux d'architecture d'une application FlexFondamentaux d'architecture d'une application Flex
Fondamentaux d'architecture d'une application Flex
 
Fondamentaux d'architecture d'une application Flex
Fondamentaux d'architecture d'une application FlexFondamentaux d'architecture d'une application Flex
Fondamentaux d'architecture d'une application Flex
 
La plateforme JEE
La plateforme JEELa plateforme JEE
La plateforme JEE
 
Architecture mvc
Architecture mvcArchitecture mvc
Architecture mvc
 
cours-gratuit.com--id-1964.pdf
cours-gratuit.com--id-1964.pdfcours-gratuit.com--id-1964.pdf
cours-gratuit.com--id-1964.pdf
 

Plus de Heithem Abbes

Architectures orientés services (SOA)
Architectures orientés services (SOA)Architectures orientés services (SOA)
Architectures orientés services (SOA)Heithem Abbes
 
Java Server Faces (JSF)
Java Server Faces (JSF)Java Server Faces (JSF)
Java Server Faces (JSF)Heithem Abbes
 
Entreprise Java Beans (EJB)
Entreprise Java Beans (EJB)Entreprise Java Beans (EJB)
Entreprise Java Beans (EJB)Heithem Abbes
 
Appels de procédures distants (RPC)
Appels de procédures distants (RPC)Appels de procédures distants (RPC)
Appels de procédures distants (RPC)Heithem Abbes
 

Plus de Heithem Abbes (8)

Architectures orientés services (SOA)
Architectures orientés services (SOA)Architectures orientés services (SOA)
Architectures orientés services (SOA)
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Java Server Faces (JSF)
Java Server Faces (JSF)Java Server Faces (JSF)
Java Server Faces (JSF)
 
Entreprise Java Beans (EJB)
Entreprise Java Beans (EJB)Entreprise Java Beans (EJB)
Entreprise Java Beans (EJB)
 
Servlets et JSP
Servlets et JSPServlets et JSP
Servlets et JSP
 
Java RMI
Java RMIJava RMI
Java RMI
 
Appels de procédures distants (RPC)
Appels de procédures distants (RPC)Appels de procédures distants (RPC)
Appels de procédures distants (RPC)
 
Sockets
SocketsSockets
Sockets
 

Dernier

Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne FontaineTxaruka
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.Txaruka
 
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxSUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxssuserbd075f
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprisesMajdaKtiri2
 
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxApproche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxssusercbaa22
 
présentation sur l'échafaudage dans des travaux en hauteur
présentation sur l'échafaudage dans des travaux en hauteurprésentation sur l'échafaudage dans des travaux en hauteur
présentation sur l'échafaudage dans des travaux en hauteurdinaelchaine
 
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...M2i Formation
 
Cours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptxCours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptxlamourfrantz
 
Grammaire pour les élèves de la 6ème.doc
Grammaire pour les élèves de la  6ème.docGrammaire pour les élèves de la  6ème.doc
Grammaire pour les élèves de la 6ème.docKarimKhrifech
 
Présentation de cartes d'extension zhr..pptx
Présentation de cartes d'extension zhr..pptxPrésentation de cartes d'extension zhr..pptx
Présentation de cartes d'extension zhr..pptxpopzair
 
MaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptMaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptssusercbaa22
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipM2i Formation
 
Mécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.pptMécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.pptssusercbaa22
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...Faga1939
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptxSAID MASHATE
 
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdf
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdfMICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdf
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdfssuser40e112
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.Franck Apolis
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertChristianMbip
 

Dernier (20)

Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne Fontaine
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.
 
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxSUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprises
 
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxApproche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
 
Pâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie PelletierPâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie Pelletier
 
présentation sur l'échafaudage dans des travaux en hauteur
présentation sur l'échafaudage dans des travaux en hauteurprésentation sur l'échafaudage dans des travaux en hauteur
présentation sur l'échafaudage dans des travaux en hauteur
 
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
 
Cours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptxCours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptx
 
Grammaire pour les élèves de la 6ème.doc
Grammaire pour les élèves de la  6ème.docGrammaire pour les élèves de la  6ème.doc
Grammaire pour les élèves de la 6ème.doc
 
Présentation de cartes d'extension zhr..pptx
Présentation de cartes d'extension zhr..pptxPrésentation de cartes d'extension zhr..pptx
Présentation de cartes d'extension zhr..pptx
 
MaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptMaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.ppt
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadership
 
Mécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.pptMécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.ppt
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
 
Evaluación Alumnos de Ecole Victor Hugo
Evaluación Alumnos de Ecole  Victor HugoEvaluación Alumnos de Ecole  Victor Hugo
Evaluación Alumnos de Ecole Victor Hugo
 
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdf
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdfMICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdf
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdf
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expert
 

Architectures n-tiers

  • 2. Synthèse 2  Avantages  Déploiement immédiat  Evolutions transparentes pour l'utilisateur  Caractéristiques du poste client libres  Limites  Le serveur d’application réalise la majorité des traitements  Problème de gestion de la montée en charge rappelant l'époque des mainframes  le client est soulagé, mais le serveur est fortement sollicité L’équilibrage de la charge entre client et serveur semble atteint avec la génération suivante : Les architectures n-tiers
  • 3. Présentation 3  Objectif : pallier aux limitations de l’architecture 3-tiers et concevoir des applications puissantes et simples à maintenir.  Solution : distribuer la logique applicative pour une meilleure répartition de la charge entre tous les niveaux.
  • 5. Présentation 5  Toujours 3 niveaux d’abstraction : n-tiers ne signifie pas un nombre indéterminé de niveaux de service  L'architecture n-tiers qualifie la distribution de la logique applicative entre de multiples services  La distribution est facilitée par l'utilisation de composants  Un composant rend un service, si possible, générique et clairement identifié.  Les composants sont capables de communiquer entre eux et peuvent donc coopérer en étant implantés sur des machines distinctes.
  • 6. Les couches de l’arch. n-tiers 6  Une architecture n-tiers comprend généralement une couche de présentation, une couche applicative, une couche objets métier et une couche d'accès aux données
  • 7. Les couches de l’arch. n-tiers 7  La couche de présentation contient les différents types de clients léger (JSP, ASP…) et lourd (Swing, WinForm…)  La couche applicative contient les traitements représentant les règles métier (créer un compte, rechercher un client, calculer une facture, ...)  La couche d'objets métier est représentée par les objets du domaine, c'est à dire l'ensemble des entités persistantes de l'application (Facture, Bon de Commande, Client, ...)  La couche d'accès aux données contient les usines d'objets métier, c'est à dire les classes chargées de créer et manipuler des objets métier de manière totalement transparente, indépendamment de leur mode de stockage (SGBDR, ERP, Fichiers XML, ...)
  • 8. Objet métier : qu’est ce que c’est ?  Un objet métier est un concept ou une abstraction ayant un sens pour des acteurs (partie prenante interne) d’une organisation (entreprise)  L’objet métier permet de décrire les entités manipulées par les acteurs dans le cadre de la description du métier.  Exemple  Mon métier consiste à gérer les comptes bancaires de mes clients  Les objets métier sont le compte bancaire, le client.  Les objets métiers sont représentés par l'ensemble des objets persistants du domaine de l'application.  Une facture, un bon de commande ou tout autre objet nécessitant d'être stocké en base.
  • 9. La couche d'objets métiers 9  Il existe deux méthodes pour accéder aux données:  La première consiste à accéder directement aux sources de données.  La deuxième méthode consiste à s'appuyer sur des objets métier (client, fournisseur, facture ...) afin de masquer la complexité d'accès aux données.  La couche objet métier assure l'indépendance totale entre le client et le type de stockage utilisé (SGBDR, SGBDO, fichiers XML, ...).
  • 10. La couche d'objets métiers  Exemple:  Un objet AssuréSocial possédera par exemple une méthode débit() et une méthode crédit() qui à chaque appel iront modifier les données dans  une ERP (Entreprise Resource Planning),  un système de CRM (Customer Relation Ship Managment),  des fichiers XML  ou une base de données.
  • 11. Serveur d’objets métier 11  Pour gérer ces objets métier, un environnement d'exploitation est nécessaire : le serveur d'objets  Fournit les services essentiels suivants:  Gestion du cycle de vie des objets :  fonctionnalités de base permettant la création, la recherche, la manipulation, et la destruction des objets  Gestion de la persistance :  synchronisation de l’état des objets sur un support de persistance afin d’assurer la sauvegarde durable de l’état des objets
  • 12. Serveur d’objets métier  Gestion des transactions :  permet d’assurer l’intégrité des données et de gérer la concurrence d’accès (basé sur les propriétés ACID)  Gestion de la montée en charge :  mécanismes (pools d’objets, cache transactionnel, etc.…) pour améliorer les performances des applications accédant de manière concurrente aux objets  Gestion de la sécurité :  mécanismes d’authentification et de contrôle d’accès aux objets  définition de permissions sur les opérations de lecture, de mise à jour, et sur les appels aux traitements métier permet de définir des restrictions d’accès basées sur la définition de groupes d’utilisateurs et de rôles
  • 13. Serveur d’objets métier 14  Les principaux serveurs d'objets:  Corba de OMG  Microsoft DCOM de .NET  EJB (Enterprise Java Beans) de JEE
  • 14. Programmation orientée objet - Limites « programming in the small »  tout est la la charge du programmeur  construction des différents modules  définition des instances  interconnexions des modules  structure de l’application peu visible  ensemble des fichiers de codes nécessaire  évolution/modification difficile  changement du mode de communication  évolution, ajout, suppression de fonctionnalités  modification du placement  développement, génération des exécutables, déploiement  pas ou peu d’outils pour les applications réparties
  • 15. Objets et encapsulation  Granularité trop fine  Mal adaptée à la programmation à grande échelle  Couplage fort  Rend difficile la réutilisation  Accroît la complexité des systèmes orientés objets
  • 16. Composants logiciels  Analogie avec les composants électroniques, legos, puzzles  Plus de structuration
  • 17. Programmation orientée composant « Programming in the large »  Motivation : réutilisation de logiciel  intégration de modules logiciels existants  construction d'applications réparties par assemblage de modules logiciels existants  programmation à gros grain ("programming in the large")  Approche : description de l'architecture de l'application à l'aide d'un langage déclaratif  séparation de l’interface/implémentation  modèle de construction des composants  Composants: interfaces, attributs, implémentation  description des interactions entre composants (connecteurs)
  • 18. Composants : définition  Définition  module logiciel autonome  unité de déploiement (installation sur différentes plates-formes)  unité de composition (combinaison avec d’autres composants)  Propriétés  spécifie explicitement la ou les interface(s) fournie(s) (attributs, méthodes)  spécifie explicitement la ou les interface(s) requise(s) pour son exécution  peut être configuré  capable de s’auto-décrire (Introspection)  Intérêt  permettre la construction d’applications par composition de briques de base configurables  séparer les fonctions des fournisseur et d’assembleur (conditions pour le développement d’une industrie des composants)
  • 19. Exemple: application de e- commerce Interface Utilisateurs Logique Application et Transaction Logique Données Serveur de Paiement Navigateur Client Caddie Applet Java Serveur d’Application Composant Paiement Composant Catalogue Composant Commande Serveur de données Validation Commande
  • 20. Composant : modèle génerique Interfaces requises Interfaces fournies Contraintes techniques Propriétés configurables placement, sécurité accès transactionnel, Persistance interfaces fournies par le système (bibliothèques, etc.) fournies par d'autres composants Méthodes, attributs interfaces spéciales avec accès restreint
  • 21. Composants : utilisation  Composition hiérarchique et encapsulation  composants construits, sous-composants  Interconnexion de composants  connecteurs, ou objets de communication
  • 23. Support logiciel pour composants  Pour assurer leurs fonctions, les composants ont besoin d’un support logiciel: conteneurs et structures d’accueil  Conteneur  encapsulation d’un composant  prise en charge des services du système  nommage, sécurité, transactions, persistance, etc.  prise en charge partielle des relations entre composants (connecteurs)  invocations, événements  techniques utilisées : interposition, délégation  Les appels des composants transitent par le conteneur qui y répond lorsqu’il en a la charge ou les transmet au destinataire.  Structure d’accueil  espace d’exécution des conteneurs et composants  médiateur entre conteneurs et services du système

Notes de l'éditeur

  1. Les contraintes semblent inversées par rapport à celles rencontrées avec les architectures deux tiers : le client est soulagé, mais le serveur est fortement sollicité. Le phénoméne fait penser à un retour de balancier. et il est difficile de répartir la charge entre client et serveur
  2. C ambigu
  3. La distribution des services applicatifs facilite aussi l'intégration de l’existant (EAI : Entreprise Application Integration) dans les nouvelles applications.
  4. Une facture, un bon de commande ou tout autre objet nécessitant d'être stocké en base.. Cette couche assure l'indépendance totale entre le client et le type de stockage utilisé (SGBDR, SGBDO, fichiers XML, ...). Le client doit posséder uniquement une vue sur un objet avec l'ensemble de ces attributs et non un éventuel curseur (ResultSet et RecordSet) pointant vers une ligne d'une quelconque base. Cette couche est en étroite collaboration avec la couche de persistance qui assure la création des objets métier de manière totalement transparente.
  5. ERP: Progiciel (Produit + logiciel) (produit sur mesure)Progiciel de gestion intégré (PGI) (en anglais Enterprise Resource Planning ou ERP) est, selon le grand dictionnaire terminologique, un « logiciel qui permet de gérer l'ensemble des processus opérationnels d'une entreprise, en intégrant l'ensemble des fonctions de cette dernière comme la gestion des ressources humaines, la gestion comptable,financière, mais aussi la vente, la distribution, l'approvisionnement, le commerce électronique. »
  6. CRM :
  7. De cette façon, la durée de vie des objets n’est pas limitée à la durée de vie d’une session applicative. synchronisation de l’état des objets sur un support de persistance (base de données), afin d’assurer la sauvegarde durable de l’état des objets.
  8. non seulement de mieux gérer la montée en charge en autorisant la répartition des requêtes des applications clientes sur plusieurs machines, mais également
  9. Il faut commencer la partie JEE avec une bonne introduction sur la programmation par composant
  10. Animer cette figure
  11. Structure et architecture de l’application peu visibles Interactions entre objets enfouies dans le code Évolution / modification difficile Recherche des bouts de code impliqués source d’erreur Gestion de la consistance d’un changement délicate
  12. J’aurais besoin de parler de composants qui sont jusqu’à mnt non définis ??? Je pense qu’il faut précéder ce diapo par une explication de qu’est ce qu’un composant ! description de variables d'environnement (placement, regroupement, sécurité, etc.)
  13. l’introspection: fonctions pour découvrir les fonctions et les connecteurs des composants (structure) Peut etre qu’il faut enrichir cette partie qui parle sur l’introspection et la reflexion (reflexivité en donnnant des exemples)
  14. Animer la figure
  15. Structures d’accueil : Elles servent de médiateur entre les conteneurs et les services systèmes (sandbox). Certaines peuvent prendre en charge le téléchargement de code additionnel (navigateur web…). La Java Virtual Machine est la structure d’accueil d’une application J2EE.
  16. - Il faut bien comprendre : Intropection, Serialisation, EJB 3 vs EJB2… Un conteneur doit être généré automatiquement !!! Tu peux enrichir cette partie en mettant d’autres concepts sur les composants (cycle de vie, structure d’un conteneur, controleur…)