Unité d’Enseignement :
Environnements de Développement
Institut Supérieur des Etudes Technologiques de Mahdia
BEN ABDELJELIL HASSINE Mouna [email protected]
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 cours
3I. Fondements de l’architecture logicielle II. Styles Architecturaux
III.Architecture J2EE III.Architecture J2EE
IV. Les Patrons de Conception V. Conception Architecturale VI. Thèmes Connexes de GL
Chapitre III:
4Architecture J2EE
Unité d’enseignement: Environnements de Développement
Partie1:
5Survol de l’architecture J2EE
Unité d’enseignement: Environnements de Développement
PLAN
Veuillez nous suivre…6
Introduction Serveur 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écificationsimplé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 contratsbien 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.
Architecture
11Conteneurs Standards Composants
Services Clients
Architecture
12Conteneurs Standards Composants
Services Clients
Architecture
13Conteneurs 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
Architecture
14Conteneurs 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).
Architecture
15Conteneurs Standards Composants
Services Clients
Architecture
16Conteneurs 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.
Architecture
17Conteneurs 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.
Architecture
18Conteneurs 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.
Architecture
19Conteneurs Standards Composants
Services Clients
Client léger
Client lourd
Serveur d’Application
20Il est un environnement d'exécution des applications côté serveur.
Il prend en charge l'ensemble des fonctionnalités qui permettent à N clientsd'utiliser une même application :
•Services d'administration
•Services d'administration
•Déploiement de composants
•Offre des modèles de sécurité
Serveur d’Application
21Il 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)