Upload
others
View
6
Download
0
Embed Size (px)
Citation preview
Unité d’Enseignement :
Environnements de
Développement
Institut Supérieur des Etudes Technologiques de Mahdia
BEN ABDELJELIL HASSINE Mouna
Développement des systèmes d’Information
Syllabus du cours
� Objectifs Généraux
� Comprendre les architectures logicielles ainsi que leurs composants;
� Comprendre les principaux patrons de conception (Design Patterns)
� Etre capable de mettre en oeuvre certains patrons de conception
2
� Etre capable de mettre en oeuvre certains patrons de conception
� Décrire une architecture logicielle et produire la documentation
correspondante
� Pré-requis
� POO, UML, JAVA, GL1&2
Organisation du cours3
I. Fondements de l’architecture logicielle
II. Styles Architecturaux
III.Architecture J2EEIII.Architecture J2EE
IV. Les Patrons de Conception
V. Conception Architecturale
VI. Thèmes Connexes de GL
Chapitre III: 4
Architecture J2EE
Unité d’enseignement: Environnements de Développement
Partie1: 5
Survol de l’architecture J2EE
Unité d’enseignement: Environnements de Développement
PLAN Veuillez nous suivre…
6
IntroductionServeur
d’application
Architecture Conclusion
Références
7
J2EE: Java 2 Entreprise Edition:
� J2EE (1.2) a été initialement développée par Sun et est apparue en
1999� Définir un standard de développement d'applications distribuées
Introduction
� Définir un standard de développement d'applications distribuées d'entreprises (multicouches et n-tiers) basées sur des composants.
� Plate-forme fortement orientée serveur pour le développement et
l'exécution d'applications distribuées;
� Elle est composée de deux parties essentielles :
� Ensemble d’API (bibliothèques) écrites en Java qui constituent
les composants et les services de cette architecture .
� Ensemble de spécifications pour une infrastructure dans laquelle
s'exécute les composants écrits en java un tel environnement se
nomme Conteneur.
8
J2EE: Java 2 Entreprise Edition:
� De manière générale, elle identifie et donne les spécifications des
composants de l’application:
� Serveurs (Serveur Web, Serveur d’application, Serveur de
Introduction
� Serveurs (Serveur Web, Serveur d’application, Serveur de
données)
� Clients (lourd, léger, riche)
� composants logiciels ou beans,
� conteneur
9
J2EE: Java 2 Entreprise Edition:
Plusieurs Avantages :
� Architecture d’application basée sur les composants.
� Interfaçage avec des systèmes d’information existants.
Introduction
� Interfaçage avec des systèmes d’information existants.
(JDBC,JMS…)
� Vaste choix pour les environnements de développement et les
serveurs d’application.
� Grande flexibilité dans le choix de l’architecture par combinaison
de différents composants
10
� Java EE est un ensemble de spécifications implémentées par
différents conteneurs.
� Ces conteneurs sont des environnements d’exécution Java EE
qui fournissent certains qu’ils
Architecture
qui fournissent certains services aux composants qu’ils
hébergent.
� Les composants doivent respecter des contrats bien définis
pour communiquer avec l’infrastructure de Java EE et avec les
autres composants,
� Ils doivent être assemblés en respectant un certain standard
(fichiers archives) avant d’être déployés.
11Architecture � Conteneurs Standards
� Composants
� Services
� Clients
12Architecture � Conteneurs Standards
� Composants
� Services
� Clients
13Architecture � Conteneurs Standards
� Composants
� Services
� Clients
L’environnement d’exécution de Java EE définit quatre types de
composants que doivent supporter toutes les implémentations :
� Les applets sont des applications graphiques exécutées dans un
navigateur web. Elles utilisent l’API Swing pour fournir des interfaces navigateur web. Elles utilisent l’API Swing pour fournir des interfaces
utilisateurs puissantes;
� Les applications sont des programmes exécutés sur un client.
(interfaces graphiques, programmes non interactifs qui ont accès à
toutes les fonctionnalités de la couche métier
14Architecture � Conteneurs Standards
� Composants
� Services
� Clients
� Les applications web (composées de servlets, de filtres de servlet,
d’écouteurs d’évenements web, de pages JSP et de JSF) s’exécutent
dans un conteneur web et répondent aux requêtes HTTP envoyées par
les clients web. les clients web.
� Les servlets permettent egalement de mettre en place des services
web SOAP et REST.
� Les EJB (Enterprise Java Beans) sont des composants permettant de
traiter la logique métier en modèle transactionnel. On peut y accéder
localement et a distance via RMI (ou HTTP pour les services web SOAP
et REST).
15Architecture � Conteneurs Standards
� Composants
� Services
� Clients
16Architecture � Conteneurs Standards
� Composants
� Services
� Clients
� Les services d'infrastructures :
JDBC(Java DataBase Connectivity) est une API d'accès aux bases de
données relationnelles.
JNDI(Java Naming and Directory Interface) est une API d'accès aux
services de nommage et aux annuaires d'entreprises tels que DNS, NIS,
LDAP, etc.
JTA/JTS(Java Transaction API/Java Transaction Services) est une API
définissant des interfaces standard avec un gestionnaire de transactions.
17Architecture � Conteneurs Standards
� Composants
� Services
� Clients
� Les services de communication :
JAAS(Java Authentication and Authorization Service)
est une API de gestion de l'authentification et des droits est une API de gestion de l'authentification et des droits
d'accès.
JavaMail est une API permettant l'envoi de courrier électronique.
JMS(Java Message Service) fournit des fonctionnalités de
communication asynchrone entre applications.
RMI-IIOP(Remote Method Invocation Over Internet Inter-ORB
Protocol) est une API permettant la communication synchrone
entre objets distants.
18Architecture � Conteneurs Standards
� Composants
� Services
� Clients
� Les applications J2EE supportent des clients de différentes
technologies.
� Selon la nature de ce client, la méthode de communication avec
les composants J2EE varie:les composants J2EE varie:
Un client léger ou riche (HTML côté navigateur): il sera
en communication avec le Web container via le protocole HTTP
qui sera interprété par les Servlet.
Un client lourd ou une application Java (autre qu’un
navigateur, interface graphique) alors la communication sera
directement avec le container d’EJB en utilisant une méthode
de communication entre objets distants: RMI, IIOP, DCOM.
19Architecture � Conteneurs Standards
� Composants
� Services
� Clients
Client léger
Clientlourd
20Serveur d’Application
� Il est un environnement d'exécution des applications côté serveur.
� Il prend en charge l'ensemble des fonctionnalités qui permettent à
N clients d'utiliser une même application :
•Services d'administration•Services d'administration
•Déploiement de composants
•Offre des modèles de sécurité
21Serveur d’Application
Il y a trois variantes de serveur d’application:
� Il peut exécuter des container Web mais ne supporte pas les
container EJB. Dans ce cas on l’appel: Un Serveur Web
Exemples: Apache Tomcat (http://tomcat.apache.org/)Exemples: Apache Tomcat (http://tomcat.apache.org/)
� Il contient un container métier supportant l’exécution des
composants (EJB) mais ne supporte pas l’exécution de container
Web.
Exemples: JBoss (www.jboss.org)
� Il supporte l’exécution à la fois de container Web et EJB.
WebSphere Application Server d’IBM
Weblogic de BEA (www.bea.com)
22Serveur d’Application