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

ch1 Jee2024

jakarta ee

Transféré par

begat651
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)
93 vues41 pages

ch1 Jee2024

jakarta ee

Transféré par

begat651
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

Programme du module: Environnement

JEE
1 Chapitre 1: Introduction JEE

2
Chapitre 2: Les servlets

3
Chapitre 3: Les JSP et Java Bean

4 Chapitre 4 : JSTL et JDBC


5
45 Chapitre 5: Les EJB

6 Chapitre 6 : Développement d’application JEE avec Spring;

(Spring I o C , Spring A O P , Spring M V C , Spring Boot, Spring


DATA/JPA)

OUANAN Mohammed
JEE : introduction

Mohammed OUANAN

[Link]@[Link]

OUANAN Mohammed
Plan

1 Introduction

2
Fonctionnement

3
Installation et configuration
JDK
IDE
Serveur HTTP

4
Création d’un premier projet web (avec Eclipse)

5
Structure d’un projet JEE réalisé sous Eclipse

6
Premier Hello world

7 Architecture MVC et Multi-tiers


OUANAN Mohammed
Qu’est ce que
Java EE?

OUANAN Mohammed
Introduction

Le besoin de JEE?
Dynamiser le contenu web
Apparition de génération dynamique de code (ASP,-
1996- 2002, PHP-1997 , JEE - 1999)
Apparition des applets (exécution code java
sur navigateur)

Echanger des informations entre applications

RMI, Corba, EJB

Création de véritables d’architectures logicielles

Architectures 3tiers, Modèle-Vue-Contrôleur

Harmonisation des infrastructures


OUANAN Mohammed 10
Introduction

Jakarta EE

JEE

1999 : inclus dans Java 2 sous le nom J2EE pour Java 2 Platform
Enterprise Edition
2006 : renommé depuis Java 5 en JEE pour Java Platform
Enterprise Edition
2017 : Oracle confie le projet à Eclipse Foundation qui décide
de le renommer Jakarta EE

OUANAN Mohammed
Introduction

Jakarta EE

JEE

Plateforme facilitant le développement d’applications d’entreprise


distribuées
Développée par Sun puis Oracle
JEE = JSE + plusieurs autres API
JSE : Java Standard Edition (anciennement J2SE)
API : Application Programming Interface

OUANAN Mohammed
Fonctionement

Jakarta EE
Positionenment des serveurs JEE

OUANAN Mohammed
Jakarta EE côté client
 Un client Java EE peut être :
• une application console écrite en Java
• une application dotée d'une interface graphique Swing.

Ce type de client est appelé client lourd, en raison de la quantité importante de


code qu'il met en œuvre.
 Un client Java EE peut également être conçu pour être utilisé à partir du Web.
• Ce type de client fonctionne à l'intérieur d'un navigateur Web.
• La plus grande partie du travail est reportée sur le serveur et le client ne comporte
que très peu de code. Pour cette raison, on parle de client léger.

Un client léger peut être une simple interface HTML, une page contenant des scripts
JavaScript, ou encore une applet Java si une interface un peu plus riche est
nécessaire.
OUANAN Mohammed
Jakarta EE côté Serveur
Les API de Java EE peuvent se répartir en deux grandes catégories :
Les composants déployés sur le serveur
Les composants web qui sont réalisés à l'aide de servlets, de
JavaServer Pages (JSP) ou de Java server face (JSF).
Les composants métier sont des Entreprise JavaBeans (EJB). Il s'agit
de composants spécifiques chargés des traitements des données et de
l'interfaçage avec les bases de données.
Les services
Les services d'infrastructures : JDBC, JNDI, JTA, JCA, JMX
Les services de communication : RMI-IIOP, JavaMail, JAAS

OUANAN Mohammed
Introduction

Les principaux composants Jakarta EE

Servlet: Utilise les mécanismes de requetes-reponses http afin d’effectuer des tâches ou de générer
des pages html
EJB : définit la façon dont les composants doivent être écrits et le contrat qu’ils doivent respecter
avec le serveur d’application

RMI : communication inter procédés


JNDI : C’une API d'accès aux services de nommage et aux annuaires d'entreprises tels que
DNS, NIS, LDAP, etc.
JDBC : connexion vers les bases de données
JTA : service de transaction
JMS : service de messagerie
JSP : Java Server Page
Java IDL : intégration aux autres langages (ex: CORBA) JavaMail
Connectors : intégration à des middlewares existants XML

OUANAN
OUANAN Mohammed
Mohammed 1813
Les conteneurs JEE

Un conteneur (container) est l'interface entre le composant


et les services de bas niveaux nécessaires

● Pour pouvoir être exécuté, un composant / application


web doit être :

(1) assemblé dans un module Java EE

(2) déployé dans son conteneur.

OUANAN Mohammed
Les conteneurs JEE
Les conteneurs sont les éléments fondamentaux de l'architecture Java EE.
Ils fournissent un ensemble de services permettant aux développeurs d'applications de se
concentrer sur la logique métier du problème à résoudre sans se préoccuper de toute
l'infrastructure interne.
Les conteneurs assurent la gestion du cycle de vie des composants qui s'exécutent en eux.
Les conteneurs fournissent des services qui peuvent être utilisés par les applications lors de
leur exécution.
La plate-forme Java EE disposent de conteneurs pour les composants Web et les
composants métiers.
Ces conteneurs possèdent des interfaces leur permettant de communiquer avec les
composants qu'ils hébergent.
Il existe plusieurs conteneurs définit par Java EE:
• conteneur web : pour exécuter les servlets, les JSP et JSF
• conteneur d'EJB : pour exécuter les EJB
• conteneur client : pour exécuter des applications autonomes sur les postes qui utilisent des
composants Java EE
OUANAN Mohammed
Comparaison des fichiers JAR, WAR et EAR

sont des formats d'archives utilisés pour regrouper et distribuer des applications. Chacun de ces
formats a un objectif spécifique, lié à l'environnement dans lequel l'application sera déployée
(standalone ou serveur d'applications)

OUANAN Mohammed
Déploiement d’une application

Pour déployer une application dans un conteneur, il faut lui fournir


deux éléments :

 l'application avec tous les composants (classes compilées,


ressources ...) regroupée dans une archive ou module. Chaque
conteneur possède son propre format d'archive.

 un fichier descripteur de déploiement contenu dans le module qui


précise au conteneur des options pour exécuter l'application

 Une application est un regroupement d'un ou plusieurs modules


dans un fichier EAR (Entreprise ARchive). L'application est décrite
dans un fichier [Link] lui même contenu dans le fichier
EAR

OUANAN Mohammed
Fonctionnement

Jakarta EE

Vue Modèle
(page J S P ) (Java Bean)

Requête
HTTP
Contrôleur
(Servlet)

Réponse
HTTP
Client Serveur

OUANAN Mohammed
Fonctionnement

Jakarta EE

Déroulement

L’échange entre le client et le serveur s’effectue via le modèle


HTTP (requête - réponse)
Lorsque l’utilisateur saisit l’adresse d’une page de notre site, cette
dernière sera envoyée sous forme de requête HTTP au contrôleur
Le contrôleur demande au modèle de lui fournir certaines
données
Ensuite il renvoie ces données à la vue pour qu’elle construise la
page HTML

Enfin le client reçoit la réponse sous forme de page JSP

OUANAN Mohammed
Installation et configuration

Jakarta EE

De quoi on a besoin

JDK : Java Development Kit


IDE : Integrated Development Environment (Environnement de
Développement Inté gré )

Un serveur HTTP

OUANAN Mohammed
Installation et configuration IDE

Jakarta EE

Environnement de Dévloppement I n t é g r é
Eclipse
Netbeans
JDeveloper
IntelliJ IDEA
JBuilder
JCreator...

...

OUANAN Mohammed
Installation et configuration IDE

Jakarta EE

OUANAN Mohammed 29
Installation et configuration IDE

Jakarta EE

OUANAN Mohammed 30
Installation et configuration IDE

Jakarta EE

Modifier l’encodage par défaut

Aller dans le menu Window et cliquer sur Preferences


Dans la zone de recherche, écrire encoding
Pour toutes les sections, mettre UTF-8 à la place de l’encodage
par défaut (généralement Cp1252 ou ISO-8859-1)
Ensuite appliquer et fermer

OUANAN Mohammed
Installation et configuration IDE

Java
Quelques raccourcis Eclipse

Ctrl + Shift + : : commenter/décommenter le code

Ctrl + Shift + f : formater le code

Ctrl + Alt + ↓ ou Ctrl + Alt + 𝛙 : dupliquer la ligne sélectionnée

Ctrl + Shift + o : gérer les importer

Ctrl + Alt + l : afficher la liste des raccourcis

Alt + Shift + R : faire une sélection multiple

Shift + K : aller à l’occurrence suivante

Ctrl + Shift + K : aller à l’occurrence précédente

OUANAN Mohammed
Installation et configuration Serveur HTTP

Serveur HTTP

Apache Tomcat
WebLogic Server (Serveur payant d’oracle utilisé par JDeveloper)

JBoss

GlassFish (Open Source de Oracle)

...

OUANAN Mohammed 33
Installation et configuration Serveur HTTP

Serveur HTTP

Apache Tomcat
WebLogic Server (Serveur payant d’oracle utilisé par JDeveloper)

JBoss

GlassFish (Open Source de Oracle)

...

Pourquoi Apache Tomcat ?

gratuit
multi-plateforme

léger

...

OUANAN Mohammed 33
Installation et configuration Serveur HTTP

Jakarta EE
Mise en place d’Apache Tomcat

Pour télécharger, aller sur


[Link]
Aller dans la section Core
Cliquer sur 32-bit/64-bit Windows Service Installer
Attendre la fin du téléchargement puis lancer l’installation
Installer Apache Tomcat à la racine de votre disque dur (C: pour
Windows) et vérifier que le nom du dossier destination ne contient
pas d’espace
Décocher la case de la dernière fenêtre d’installation proposant
de démarrer Apache Tomcat

OUANAN Mohammed
Création d’un premier projet web (avec Eclipse)

Jakarta EE
Les étapes

Aller dans le menu File > New et cliquer sur Other (ou CTRL + N)

Ensuite choisir Dynamic Web Project situé dans le répertoire Web

Saisir cours-jee dans Project name

Ensuite cliquer sur le bouton New Runtime, choisir la dernière version


d’Apache Tomcat et cocher la case juste en-dessous create a new local
server

Cliquer sur Next et préciser le répertoire d’installation de Apache Tomcat


Cliquer sur Finish ensuite deux fois sur Next, puis cocher la case Generate
[Link] deployment descriptor

OUANAN Mohammed
Création d’un premier projet web (avec Eclipse)

Jakarta EE

Les étapes

Faire un clic droit sur le projet et choisir Run As ensuite Run on


Server

Sélectionner le serveur Apache Tomcat et cocher la case


Always use this server when running this project
Cliquer sur Next et vérifier que notre projet figure dans la liste
Configured
Et enfin valider en cliquant sur Finish

OUANAN Mohammed
Structure d’un projet JEE réalisé sous Eclipse

Jakarta EE
Structure d’une application JEE

Le nom du projet définit la racine de l’arborescence


La racine contient principalement trois répertoires
Java Resources est réservé aux classes Java
src contient un dossier main contenant deux répertoires java et
webapp
java pointe vers Java Resources
webapp contient tous les fichiers web

build contient les fichiers compilés (d’extension .class)

OUANAN Mohammed
Structure d’un projet JEE réalisé sous Eclipse

Jakarta EE

Contenu de webapp

Les fichiers définis directement dans webapp sont accessibles aux


visiteurs (sans avoir besoin de passer par une Servlet). C’est ici qu’on
place les fichiers CSS, JavaScript...
WEB-INF (inaccessible aux visiteurs) a un dossier lib (pour les
librairies externes d’extension .jar) et un fichier [Link]
(premier fichier consulte´ par le serveur HTTP).
META-INF contient les méta-données du projet.

OUANAN Mohammed
Premier Hello world

Jakarta EE
Créationd’une page HTML

Clic droit sur le projet, aller dans le menu new et choisir HTML
File
Placer le fichier directement dans webapp (pas dans WEB-INF)
Nommer le fichier [Link] et générer la page en cliquant sur
Finish
Mettre Hello world entre les balises <body>
Démarrer le serveur
Aller à l’adresse [Link] ou
[Link]

OUANAN Mohammed
Premier Hello world

Jakarta EE

Remarque

En cas d’erreur lors du lancement d’Apache Tomcat


Faire double clic sur le serveur
Aller dans la section Ports et vérifier que
Tomcat admin port : 8005
HTTP/1.1 : 8080
AJP/1.3 : 8009

OUANAN Mohammed
Premier Hello world

Jakarta EE

WEB-INF est inaccessible aux visiteurs

Déplacer [Link] dans WEB-INF


Redémarrer le serveur
Vérifier que [Link] et
[Link] ne sont
plus accessibles.

OUANAN Mohammed
Le Qu’est ce Fonctionneme MV Multi-
besoin que JEE nt C Tiers

Architecture MVC Modèle-Vue-Contrôleur ?

• Définition
Séparation des problématiques liées aux
applications interactives
 Modèle
 Stockage des données
 Vue
 Affichage des données
 Gestion d’interactions
 Contrôleur
 Traitement des demandes de
modification des données

 Modification/validation des données


 Orchestrateur des pages et données à
afficher

OUANAN Mohammed
Le Qu’est ce Fonctionneme MV Multi-
besoin que JEE nt C Tiers
?

• JEE et modèle MVC

OUANAN Mohammed 43/2538


Le Qu’est ce Fonctionneme MV Multi-
besoin que JEE nt C Tiers

Frameworks JEE
?

sont des outils ou des bibliothèques conçus pour simplifier et accélérer le


développement d'applications d'entreprise en Java. Ils fournissent des fonctionnalités
prêtes à l'emploi pour gérer des tâches courantes telles que la gestion des
transactions, la persistance des données, la sécurité, et bien plus encore.

OUANAN Mohammed 43/2538


Architecture multi-tiers
• Définition
Découpage fonctionnel et/ou physique d’un programme
 Objectif:
Diviser les responsabilités et charges de travail pour un
passage à l’échelle, la modularité de programmation, la
sécurisation adaptée à la fonction d’un tiers.
 Exemples:
 Architecture 1tier
 Un seul composant applicatif gère la présentation, le
fonctionnement, la persistance et l’espace de stockage

 Architecture 2tiers
 Client/serveur:
 Architecture 3tiers/4tiers
 Applications J2E actuelles

OUANAN Mohammed 28
Architecture Multi-Tiers

OUANAN Mohammed
Couche présentation

OUANAN Mohammed
Couche d’application

OUANAN Mohammed
Couche métier

OUANAN Mohammed

Vous aimerez peut-être aussi