0% ont trouvé ce document utile (0 vote)
12 vues41 pages

Introduction à l'architecture JEE

Transféré par

Ala Ibrahim
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)
12 vues41 pages

Introduction à l'architecture JEE

Transféré par

Ala Ibrahim
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

JEE - Présentation générale

Architecture JEE
Les éléments de base
Les conteneurs JEE
Le design pattern MVC
Mise en place de l’environnement JEE

JEE
Chapitre 1
Introduction au JEE

Dr. Raoudha SOUABNI

Contact: souabni_raoudha@[Link]

ISTIC

2021-2022

Dr. Raoudha SOUABNI JEE 1


JEE - Présentation générale
Architecture JEE
Les éléments de base
Les conteneurs JEE
Le design pattern MVC
Mise en place de l’environnement JEE

Plan

1 JEE - Présentation générale


2 Architecture JEE
3 Les éléments de base
Les composants
Les services JEE
4 Les conteneurs JEE
5 Le design pattern MVC
Principe
Evolution de MVC1 vers MVC2
6 Mise en place de l’environnement JEE

Dr. Raoudha SOUABNI JEE 2


JEE - Présentation générale
Architecture JEE
Les éléments de base
Les conteneurs JEE
Le design pattern MVC
Mise en place de l’environnement JEE

Plan

1 JEE - Présentation générale


2 Architecture JEE
3 Les éléments de base
Les composants
Les services JEE
4 Les conteneurs JEE
5 Le design pattern MVC
Principe
Evolution de MVC1 vers MVC2
6 Mise en place de l’environnement JEE

Dr. Raoudha SOUABNI JEE 3


JEE - Présentation générale
Architecture JEE
Les éléments de base
Les conteneurs JEE
Le design pattern MVC
Mise en place de l’environnement JEE

Besoin initial

Dynamiser le contenu web


Apparition de génération dynamique de code
Echanger des informations entre applications
Appel de procédure distante
Création de véritables architectures logicielles
Architectures 3tiers, Modèle-Vue-Contrôleur
Harmonisation des infrastructures

Dr. Raoudha SOUABNI JEE 4


JEE - Présentation générale
Architecture JEE
Les éléments de base
Les conteneurs JEE
Le design pattern MVC
Mise en place de l’environnement JEE

JEE - Java Entreprise Edition

Services répondants aux besoins


Web dynamique
Communication entre applications
Objets communicants
Sécurité
...
Fournir un ensemble d’outils permettant de faciliter la vie du
développeur
Harmonisation des infrastructures
Spécification de déploiement

Dr. Raoudha SOUABNI JEE 5


JEE - Présentation générale
Architecture JEE
Les éléments de base
Les conteneurs JEE
Le design pattern MVC
Mise en place de l’environnement JEE

Plan

1 JEE - Présentation générale


2 Architecture JEE
3 Les éléments de base
Les composants
Les services JEE
4 Les conteneurs JEE
5 Le design pattern MVC
Principe
Evolution de MVC1 vers MVC2
6 Mise en place de l’environnement JEE

Dr. Raoudha SOUABNI JEE 6


JEE - Présentation générale
Architecture JEE
Les éléments de base
Les conteneurs JEE
Le design pattern MVC
Mise en place de l’environnement JEE

L’architecture JEE

Dr. Raoudha SOUABNI JEE 7


JEE - Présentation générale
Architecture JEE
Les éléments de base
Les conteneurs JEE
Le design pattern MVC
Mise en place de l’environnement JEE

Les couches de l’architecture

L’architecture JEE est constituée des couches suivantes :


La couche client : elle interagit avec l’utilisateur et lui présente les
informations. La plate-forme JEE prend en charge différents types de
clients : les clients légers (ex. navigateur web) et les clients lourds
(ex. les applications Java).
La couche Web : elle génère la logique présentation. En fonction
de la requête reçue du client, la couche présentation génère la
réponse adaptée. Les servlets et les JSP d’un conteneur Web
implémentent cette couche.

Dr. Raoudha SOUABNI JEE 8


JEE - Présentation générale
Architecture JEE
Les éléments de base
Les conteneurs JEE
Le design pattern MVC
Mise en place de l’environnement JEE

L’architecture JEE

La couche métier : elle génère la logique métier principale de


l’application. La couche métier propose les interfaces nécessaires aux
composants de services sous-jacents. Les composants métiers sont
généralement implémentés sous forme de composants EJB
(Entreprise Java Beans). Le conteneur EJB gére, entre autres, le
cycle de vie du composant, la persistance et les transactions.
La couche EIS (Entreprise Informations Systems) : cette couche
est responsable des systèmes d’information d’entreprise, notamment
les systèmes de base de données et les systèmes de planification des
ressources de l’entreprise (ERP). La couche EIS correspond au point
où les applications JEE s’intègrent à des systèmes non JEE où à des
systèmes existants.

Dr. Raoudha SOUABNI JEE 9


JEE - Présentation générale
Architecture JEE
Les éléments de base Les composants
Les conteneurs JEE Les services JEE
Le design pattern MVC
Mise en place de l’environnement JEE

Plan

1 JEE - Présentation générale


2 Architecture JEE
3 Les éléments de base
Les composants
Les services JEE
4 Les conteneurs JEE
5 Le design pattern MVC
Principe
Evolution de MVC1 vers MVC2
6 Mise en place de l’environnement JEE

Dr. Raoudha SOUABNI JEE 10


JEE - Présentation générale
Architecture JEE
Les éléments de base Les composants
Les conteneurs JEE Les services JEE
Le design pattern MVC
Mise en place de l’environnement JEE

Nous venons de voir l’architecture globale de la plate-forme JEE.


Nous allons maintenant présenter les différents éléments de base sur
lesquels se base la plate-forme JEE qui permettent le développement
d’application distribuées .
Il existe 3 types d’éléments :
Les composants : Unité logicielle (fonctionnelle) intégrée à une
application JEE et communiquant avec d’autres composants
Les services JEE : Composant technique pouvant être utilisé de
manière distante à travers une interface de manière synchrone ou
asynchrone (ex. JDBC)
Les protocoles de communication : Permettant d’accéder à des
services distants (ex. HTTP - HyperText Transfer Protocol)

Dr. Raoudha SOUABNI JEE 11


JEE - Présentation générale
Architecture JEE
Les éléments de base Les composants
Les conteneurs JEE Les services JEE
Le design pattern MVC
Mise en place de l’environnement JEE

On distingue, en général, 2 catégories de composants :


Les composants Web
Les composants Métiers

Dr. Raoudha SOUABNI JEE 12


JEE - Présentation générale
Architecture JEE
Les éléments de base Les composants
Les conteneurs JEE Les services JEE
Le design pattern MVC
Mise en place de l’environnement JEE

Composants Web

Il s’agit de la partie présentation, interface entre l’utilisateur et les


traitements. Principalement, les composants Web sont classifiés en 2
catégories :
JSP : Les JSP (Java Server Page) sont les pages servant à générer
l’ensemble du code HTML de l’interface utilisateur. On y intègre
aussi bien du code HTML que du code java. Cette technologie est
donc dédiée à la génération de HTML et non au traitement de la
requête de l’utilisateur. On l’appelle généralement : Vue.
Servlet : Une Servlet est une classe Java qui permet de traiter une
requête venant d’un client. Elle s’occuper de traiter les données
envoyées par l’utilisateur et choisir la Vue à retourner à celui-ci. On
appelle cette partie : Contrôleur.

Dr. Raoudha SOUABNI JEE 13


JEE - Présentation générale
Architecture JEE
Les éléments de base Les composants
Les conteneurs JEE Les services JEE
Le design pattern MVC
Mise en place de l’environnement JEE

Composants Métier

Il s’agit de composants spécifiques chargés de :


Traitements des données propres à un secteur d’activité (on parle de
logique métier ou de logique applicative)
Ü Les composants EJB
Interfaçage avec les bases de données
Ü Les entités JPA
On appelle cette partie : Modèle.

Dr. Raoudha SOUABNI JEE 14


JEE - Présentation générale
Architecture JEE
Les éléments de base Les composants
Les conteneurs JEE Les services JEE
Le design pattern MVC
Mise en place de l’environnement JEE

En conclusion

Dr. Raoudha SOUABNI JEE 15


JEE - Présentation générale
Architecture JEE
Les éléments de base Les composants
Les conteneurs JEE Les services JEE
Le design pattern MVC
Mise en place de l’environnement JEE

En conclusion

Nous détaillerons plus loin le design pattern


MVC pour Modèle-Vue-Contrôleur
Dr. Raoudha SOUABNI JEE 15
JEE - Présentation générale
Architecture JEE
Les éléments de base Les composants
Les conteneurs JEE Les services JEE
Le design pattern MVC
Mise en place de l’environnement JEE

JDBC

JDBC = Java DataBase Connectivity


API permettant l’accès à des bases de données gérées par des SGBD
Elle gère les 3 étapes indispensables à l’accès aux données :
la création d’une connexion à la base
l’envoi d’instructions SQL
l’exploitation des résultats provenant de la base
Pour accéder à la base de données, JDBC s’appuie sur des pilotes
spécifiques à un fournisseur de SGBD

Dr. Raoudha SOUABNI JEE 16


JEE - Présentation générale
Architecture JEE
Les éléments de base Les composants
Les conteneurs JEE Les services JEE
Le design pattern MVC
Mise en place de l’environnement JEE

JDBC

Dr. Raoudha SOUABNI JEE 17


JEE - Présentation générale
Architecture JEE
Les éléments de base Les composants
Les conteneurs JEE Les services JEE
Le design pattern MVC
Mise en place de l’environnement JEE

JNDI

JNDI = Java Naming and Directory Interface


API unique pour obtenir (look up) des ressources et les relier
(binding ) à un service de nommage ou à un annuaire
Un service de nommage permet d’associer un nom unique à un objet
(information) et faciliter ainsi l’obtention de cet objet.
Exemple : DNS (Domain Name System) : service de nommage utilisé
sur internet pour permettre la correspondance entre un nom de
domaine et une adresse IP
Un annuaire est un service de nommage : une représentation
hiérarchique des objets qu’il contient : un mécanisme de recherche
Exemple : LDAP (Lightweight Directory Access Protocol)

Dr. Raoudha SOUABNI JEE 18


JEE - Présentation générale
Architecture JEE
Les éléments de base Les composants
Les conteneurs JEE Les services JEE
Le design pattern MVC
Mise en place de l’environnement JEE

JNDI

Dr. Raoudha SOUABNI JEE 19


JEE - Présentation générale
Architecture JEE
Les éléments de base Les composants
Les conteneurs JEE Les services JEE
Le design pattern MVC
Mise en place de l’environnement JEE

JNDI
L’accès à un service de nommage donné est possible au moyen d’un
pilote qui assure le dialogue avec l’API

Dr. Raoudha SOUABNI JEE 20


JEE - Présentation générale
Architecture JEE
Les éléments de base Les composants
Les conteneurs JEE Les services JEE
Le design pattern MVC
Mise en place de l’environnement JEE

JCA
JCA = Java Connector Architecture
API utilisée pour créer des modules qui permettent à un serveur JEE
(où ils sont déployés) de se connecter à un système propriétaire
(legacy system) et de normaliser l’accès et l’interaction avec ce
système
8 Avant JCA, chaque serveur d’application devait fournir un
adaptateur spécifique pour chaque EIS (liaison point-à-point)
4Avec JCA, un même adaptateur fonctionne avec tous les
conteneurs JEE compatibles

Dr. Raoudha SOUABNI


FigureJEE– 21
JEE - Présentation générale
Architecture JEE
Les éléments de base Les composants
Les conteneurs JEE Les services JEE
Le design pattern MVC
Mise en place de l’environnement JEE

JTA/JTS

JTA = Java Transaction Api


JTS = Java Transaction Service
JTA fournit des interfaces Java standards pour permettre la
communication entre un gestionnaire de transaction (JTS) et les
différentes parties impliquées dans un système de transactions
distribuées : les ressources (DB, ...), le serveur d’application et les
applications transactionnelles
JTS utilise JTA pour gérer et accéder à toutes les transactions sur
un système donné

Dr. Raoudha SOUABNI JEE 22


JEE - Présentation générale
Architecture JEE
Les éléments de base Les composants
Les conteneurs JEE Les services JEE
Le design pattern MVC
Mise en place de l’environnement JEE

JTA/JTS

Dr. Raoudha SOUABNI JEE 23


JEE - Présentation générale
Architecture JEE
Les éléments de base Les composants
Les conteneurs JEE Les services JEE
Le design pattern MVC
Mise en place de l’environnement JEE

JMS

JMS = Java Message Service


API permettant à une application JEE de créer, d’envoyer, de
recevoir et de lire des données sous forme de messages (MOM pour
Middleware Object Message) de manière asynchrone

Dr. Raoudha SOUABNI JEE 24


JEE - Présentation générale
Architecture JEE
Les éléments de base Les composants
Les conteneurs JEE Les services JEE
Le design pattern MVC
Mise en place de l’environnement JEE

JavaMail

API standard de gestion de courriers électroniques


Elle permet d’envoyer et de recevoir du courrier électronique et de
manipuler les messages (en-tête, sujet, corps, pièces jointes...)
Note : Ce n’est pas un serveur de courrier mais un outil pour
interagir avec ce type de serveur

Dr. Raoudha SOUABNI JEE 25


JEE - Présentation générale
Architecture JEE
Les éléments de base Les composants
Les conteneurs JEE Les services JEE
Le design pattern MVC
Mise en place de l’environnement JEE

RMI
RMI = Remote Method Invocation
API permettant la communication synchrone entre des objets Java
s’exécutant sur des JVM distinctes
Les objets distants sont manipulés comme s’ils étaient locaux

Dr. Raoudha SOUABNI JEE 26


JEE - Présentation générale
Architecture JEE
Les éléments de base
Les conteneurs JEE
Le design pattern MVC
Mise en place de l’environnement JEE

Plan

1 JEE - Présentation générale


2 Architecture JEE
3 Les éléments de base
Les composants
Les services JEE
4 Les conteneurs JEE
5 Le design pattern MVC
Principe
Evolution de MVC1 vers MVC2
6 Mise en place de l’environnement JEE

Dr. Raoudha SOUABNI JEE 27


JEE - Présentation générale
Architecture JEE
Les éléments de base
Les conteneurs JEE
Le design pattern MVC
Mise en place de l’environnement JEE

Les types de conteneurs

Les serveurs JEE proposent plusieurs types de conteneurs


(containers) pour chaque type de composant.

Dr. Raoudha SOUABNI JEE 28


JEE - Présentation générale
Architecture JEE
Les éléments de base
Les conteneurs JEE
Le design pattern MVC
Mise en place de l’environnement JEE

Les types de conteneurs

Les serveurs JEE proposent plusieurs types de conteneurs


(containers) pour chaque type de composant.
Ü 2 types de composants DONC 2 types de conteneurs :

Dr. Raoudha SOUABNI JEE 28


JEE - Présentation générale
Architecture JEE
Les éléments de base
Les conteneurs JEE
Le design pattern MVC
Mise en place de l’environnement JEE

Les types de conteneurs

Les serveurs JEE proposent plusieurs types de conteneurs


(containers) pour chaque type de composant.
Ü 2 types de composants DONC 2 types de conteneurs :
Une application de type Web (basée sur les composants web)
nécessite un conteneur Web pour son exécution.
Une application utilisant les EJB (basée sur les composants métier )
nécessite un conteneur EJB pour son exécution.

Dr. Raoudha SOUABNI JEE 28


JEE - Présentation générale
Architecture JEE
Les éléments de base
Les conteneurs JEE
Le design pattern MVC
Mise en place de l’environnement JEE

Les types de conteneurs

Dr. Raoudha SOUABNI JEE 29


JEE - Présentation générale
Architecture JEE
Les éléments de base
Les conteneurs JEE
Le design pattern MVC
Mise en place de l’environnement JEE

Les types de conteneurs

Un serveur JEE est un logiciel fournisseur du conteneur Web


et/ou EJB
Web Container / Conteneur Web : capable d’exécuter des JSP,
Servlets et JSF. Il supporte les protocoles HTTP et HTTPS pour
assurer une communication avec le client.
EJB Container / Conteneur EJB : responsable de la couche
métier et de l’exécution des EJB.

Dr. Raoudha SOUABNI JEE 30


JEE - Présentation générale
Architecture JEE
Les éléments de base Principe
Les conteneurs JEE Evolution de MVC1 vers MVC2
Le design pattern MVC
Mise en place de l’environnement JEE

Plan

1 JEE - Présentation générale


2 Architecture JEE
3 Les éléments de base
Les composants
Les services JEE
4 Les conteneurs JEE
5 Le design pattern MVC
Principe
Evolution de MVC1 vers MVC2
6 Mise en place de l’environnement JEE

Dr. Raoudha SOUABNI JEE 31


JEE - Présentation générale
Architecture JEE
Les éléments de base Principe
Les conteneurs JEE Evolution de MVC1 vers MVC2
Le design pattern MVC
Mise en place de l’environnement JEE

Les éléments

Séparation des problématiques liées aux applications interactives en


3 couches :
Modèle :
- Stockage des données
- Traitement sur les données
Vue :
- Affichage des données
Contrôleur :
- Point d’entrée
- Chef d’orchestre

Dr. Raoudha SOUABNI JEE 32


JEE - Présentation générale
Architecture JEE
Les éléments de base Principe
Les conteneurs JEE Evolution de MVC1 vers MVC2
Le design pattern MVC
Mise en place de l’environnement JEE

Fonctionnement

Dr. Raoudha SOUABNI JEE 33


JEE - Présentation générale
Architecture JEE
Les éléments de base Principe
Les conteneurs JEE Evolution de MVC1 vers MVC2
Le design pattern MVC
Mise en place de l’environnement JEE

Fonctionnement

1 Evènement : L’utilisateur interagit avec une Vue (ex. cliquer sur un


bouton)
Ü La Vue envoie une notification d’évènement au Contrôleur
Ü Le Contrôleur envoie une commande au Modèle pour mettre à
jour les données
2 Evènement : Les données dans le Modèle sont mises à jour/modifiées
Ü Le Contrôleur envoie une notification d’évènement à la Vue pour
indiquer que des données ont été modifiées et que la vue doit être
mise à jour
Ü La Vue envoie une commande au Modèle pour demander le
dernier l’état des données (ici la Vue et le Modèle interagissent
directement)

Dr. Raoudha SOUABNI JEE 34


JEE - Présentation générale
Architecture JEE
Les éléments de base Principe
Les conteneurs JEE Evolution de MVC1 vers MVC2
Le design pattern MVC
Mise en place de l’environnement JEE

Figure – Modèle MVC1

Figure – Modèle MVC2

Dr. Raoudha SOUABNI JEE 35


JEE - Présentation générale
Architecture JEE
Les éléments de base Principe
Les conteneurs JEE Evolution de MVC1 vers MVC2
Le design pattern MVC
Mise en place de l’environnement JEE

Composants standards contre frameworks

Le développement par couches de type MVC est difficile à mettre en


œuvre.
Ü Apparition de quelques frameworks pour assister le développement
par couches :
Exemples :
Struts et Spring pour la partie développement serveur
Hibernate et TopLink pour la persistance

Dr. Raoudha SOUABNI JEE 36


JEE - Présentation générale
Architecture JEE
Les éléments de base
Les conteneurs JEE
Le design pattern MVC
Mise en place de l’environnement JEE

Plan

1 JEE - Présentation générale


2 Architecture JEE
3 Les éléments de base
Les composants
Les services JEE
4 Les conteneurs JEE
5 Le design pattern MVC
Principe
Evolution de MVC1 vers MVC2
6 Mise en place de l’environnement JEE

Dr. Raoudha SOUABNI JEE 37


JEE - Présentation générale
Architecture JEE
Les éléments de base
Les conteneurs JEE
Le design pattern MVC
Mise en place de l’environnement JEE

A ce stade nous allons installer et configurer notre plateforme JEE. La


mise en place de la plateforme JEE nous permettra par la suite de
développer, compiler, déployer et exécuter les projets que nous allons
réalisés.

TP 1 : Mise en place et initialisation à l’architecture client-serveur


2 tiers

Dr. Raoudha SOUABNI JEE 38

Vous aimerez peut-être aussi