0% ont trouvé ce document utile (0 vote)
11 vues46 pages

Introduction 1920

Le document présente une introduction à l'architecture n-tiers en Java EE, abordant des sujets comme le marché de l'emploi pour Java, les spécifications Java EE, et les outils nécessaires pour le développement. Il explique également les différentes architectures (1-tier, 2-tiers, 3-tiers, n-tiers) et fournit des instructions pour l'installation et la configuration des outils de développement. Enfin, il souligne l'importance de Java EE dans le développement d'applications web robustes et distribuées, en particulier dans le secteur financier.

Transféré par

rihab.idoudimr
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)
11 vues46 pages

Introduction 1920

Le document présente une introduction à l'architecture n-tiers en Java EE, abordant des sujets comme le marché de l'emploi pour Java, les spécifications Java EE, et les outils nécessaires pour le développement. Il explique également les différentes architectures (1-tier, 2-tiers, 3-tiers, n-tiers) et fournit des instructions pour l'installation et la configuration des outils de développement. Enfin, il souligne l'importance de Java EE dans le développement d'applications web robustes et distribuées, en particulier dans le secteur financier.

Transféré par

rihab.idoudimr
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

Introduction à l’architecture n-tiers Java EE

PRÉSENTÉE PAR:
EQUIPE JAVAEE ESPRIT

© 2019/2020 – ESPRIT
© 2019 – ESPRIT
Plan
–Description du module

–Marché d’emploi
–Rappel Java SE (Java Standard Edition)
–C’est quoi Java EE ?
–Les spécifications Java EE
–Architecture logique/physique
–Les outils

© 2019 – ESPRIT
Java et le Marché du Travail

• le Top 10 des langages les plus demandés


par les employeurs, en 2018.

• Java est le troisième sur environ 150


langages.

• Source IEEE : [Link]


(Organisation à but non
lucratif).

© 2019 – ESPRIT
Rappels : POO

• La Programmation Orientée Objet (POO) consiste à modéliser informatiquement un ensemble d'éléments


du monde réel, en un ensemble d'entités informatiques (Objets).

• La classe est une abstraction des propriétés communes (attributs et méthodes) d'un ensemble d'objets.

• Un objet est créé par mécanisme d'instanciation, c'est une instance d'une classe

© 2019 – ESPRIT
Rappel Java SE(Java Standard Edition)

Les langages compilés: Les langages interprétés:

• Avantage: Exécution rapide • Avantage: Indépendant de l’OS


• Inconvénient: Dépend de l’OS • Inconvénient: Execution lente (traduction à la volée)
(fichier exécutable)

Java est semi compilé semi interprété:


• Independent de la plateforme d’ exécution
• Temps d’ exécution rapide

Java est portable: « Write Once Run Everywhere »:


• C’est la Java Virtual Machine qui interprète le bytecode: abstraction de l’OS
• Il existe une JVM pour chaque OS: la JVM est l’implémentation de la spécification Java

© 2019 – ESPRIT
Rappel Java SE (Java Standard Edition)

JVM (Java Virtual Machine) : est créé lors du lancement


d’un programme java et permet la conversion du
bytecode vers du code machine

JRE (Java Runtime Environment) : contient les libs


nécessaire pour lancer une jvm, donc permet de lancer un
programme java.

JDK (Java Development Kit) : contient la JRE et les outils


de développement tel que javac.

© 2019 – ESPRIT
JSE, JME et JEE?

• Java Standard Edition est une plateforme destinée au développement des application Desktop,

•Java Micro Edition est une plateforme qui rajoute un ensemble de spécifications à JSE pour permettre le
développement d’applications mobiles,

• Java Entreprise Edition est également basée sur JSE et définit en plus un ensemble de services d’infrastructure,
elle permet de développer des applications distributes multi-tiers pour les entreprises (Affichage, Accès à la base
de données, …).

© 2019 – ESPRIT
Jakarta EE
•“Jakarta EE is the future for cloud-native, light-weight, and traditional enterprise Java applications
• Java EE technologies contributed by Oracle are being used to create the new Jakarta EE platform
• The Eclipse Foundation is the home of Cloud Native Java open innovation
The Jakarta EE Working Group is focused on modernizing Java EE technologies and governance processes to be
more open and community-based”

• PS : Nous continuons à utiliser la plateforme JavaEE7 fournie par Oracle, et non la plateforme JakartaEE fournie par Eclipse.

© 2019 – ESPRIT
C’est quoi Java EE ?
Java EE(Java Enterprise Edition) = Java Standard Edition + bibliothèques

Objectif : Faciliter le développement d'applications web robusteset distribuées.

• Java EE est très utilisé dans la finance.


• Les banques ont confiance dans cette plateforme, parce qu’elle a acquit une très grande maturité
professionnelle.

10
Les spécifications Java EE
JSR: Java Specification Request
C’est une description formelle de
ce qu’un composant doit offrir.

Exemple de spécification :
JSR 338: JavaTM Persistence 2.1 :
The Java Persistence API is the
Java API for the management of
persistence and object/relational
mapping in Java EE and Java SE
environments.

Une implémentation de la
spécification JPA (JSR 338) est :

Hibernate: [Link]

© 2019 – ESPRIT
Évolution des versions

© 2019 – ESPRIT
Architecture des SI: Rappel

• Une application informatique peut être découpé en trois niveaux d’abstraction

© 2019 – ESPRIT
Couche Présentation
• Appelée IHM (Interface Homme Machine) permet l’interaction de l’application avec l’utilisateur.
• Gère les saisies au clavier et à la souris et la présentation des informations à l’écran,
• Doit être conviviale et ergonomique.

© 2019 – ESPRIT
Logique applicative
• La logique applicative décrit les traitements à réaliser par l’application pour répondre aux besoins des utilisateurs.
• 2 types de traitements:
• Traitements locaux: les contrôles effectuées au niveau du dialogue avec l’IHM(formulaires, champs, boutons
radios..)

• Traitements globaux: les règles de ‘application, appelées aussi logique métier (Business logic)

© 2019 – ESPRIT
Données
• L’accès aux données regroupe l’ensemble des mécanismes permettant la gestion des informations stockées par
l’application.

• Fonction classique d’un SGBD:


• Définition de données
• Manipulation des données
• Sécurité des données
• Gestion des transactions

© 2019 – ESPRIT
Architecture physique

• Le découpage et la répartition des 3 niveaux d’abstraction permettent de distinguer les architectures physiques:

• 1-tier
• 2-tiers
• 3-tiers
• n-tiers

© 2019 – ESPRIT
Architecture physique: 1tier
• Tier est un mot anglais qui signifie étage ou niveau.

• Une application peut être 1-Tier, 2-Tiers, 3-Tiers ou N-Tiers.

• Une application 1-Tier est, par exemple, la Modification d’un document Word sur un ordinateur Local: Tout est sur
la même machine.

• Inconvénients : Risque de perte des données (non sauvegardées à distance), Impossible d’accéder à une même
ressource par deux utilisateurs en même temps.

© 2019 – ESPRIT
Architecture physique: 2tier
• Le poste client se charge du traitement métier et délègue la gestion des données à un service spécialisé.
• Une application 2-Tiers est typiquement une application client lourd.

• Le niveau Présentation (IHM) et le niveau Traitement l’utilisateur.


• Le niveau Base de Données est sur un autre serveur.

• C’est une architecture Client / Serveur.

• Inconvénient : Toute mise à jour des fonctionnalités nécessitent un déploiement sur toutes les machines des utilisateurs.

© 2019 – ESPRIT
Architecture physique: 3tier
• Une application 3-Tiers est typiquement une application Web :

– Niveau Présentation : IHM (Navigateur sur la machine de l’utilisateur)


– Niveau Traitement : Un serveur d’application qui contient le WAR de notre application (Wildfly, Tomcat, …).
– Niveau Base de données : Un serveur de BD qui stocke les données de notre application.

© 2019 – ESPRIT
Architecture physique: ntier
• L'architecture n-tiers qualifie la distribution de la couche traitement des données et métier entre de multiples services et
non la multiplication des couches
• La couche traitement peut utiliser plusieurs serveurs si, par exemple, on fait appel à un web services distants sur d’autres
serveurs applicatifs.
• Voici un exemple d’architecture 2-Tiers, 3-Tiers et 4-Tiers.

© 2019 – ESPRIT
Architecture physique: ntier

• Un serveur d'applications est un logiciel d'infrastructure


offrant un contexte d’exécution pour des composants
applicatifs

- Le conteneur d'EJB assure la gestion: du cycle


de vie du bean, de l'accès au bean, de la sécurité
d'accès, des accès concurrent des transactions

-Un conteneur web est un moteur de servlets


qui prend en charge et gère les servlets.

22
Les outils

Serveur d’application : Wildfly11

IDE : Eclipse-jee-2018-12

Outil de build : Maven

SGBD : Mysql

Archetype : wildfly-javaee7-ear-blak-archetype de [Link]


Installation des Outils
• Les outils suivant vont nous permettre de développer des applications d’entreprise JavaEE :
• JDK 8 - version [Link] - (1.8 -peu importe la version mineure- déjà installé sur vos machine normalement)
• WildFly 11.0.0
• Eclipse 2018-12
• WAMP ou XAMP pour avoir MySQL 5.6.17 ou bien MySQL 5.6.17
• Maven 3.5.0 (existe déjà en tant que plugin Eclipse, rien à installer).
• Nb: Vous pouvez créer un dossier C:\Products, dans lequel, vous allez installer tous les logiciels que nous allons utiliser
par la suite.

© 2019 – ESPRIT
Installation JDK 8
• Installer la JDK dans C:\Products\java\jdk-[Link]
• Installer la JRE dans C:\Products\java\jre-[Link]
• La JRE est installée en même temps que la JDK.
• Créer la variable d’environnement s
ystème : JAVA_HOME qui contient le chemin de la JDK:

© 2019 – ESPRIT
Installation JDK 8
• Ajouter %JAVA_HOME%\bin au Path :

© 2019 – ESPRIT
Installation JDK 8
• Vérifier que Java est bien installé, la version java et que la variable d’environnement est bien positionnée (javac et java)
:

© 2019 – ESPRIT
Installation Eclipse IDE
• Récupérer le zip de Eclipse 2018-12-R (Release) du drive , ou du site officiel :
[Link] 12/r

• Dézipper eclipse-jee-2018-12-R-win32-x86_64.zip dans C:\Products\eclipse-jee-2018-12

© 2019 – ESPRIT
Configuration Eclipse IDE

© 2019 – ESPRIT
Configuration IDE Eclipse
• Ouvrir Eclipse, choisissez le workspace, par exemple :

• Et cliquer sur WorkBench.

© 2019 – ESPRIT
Configuration IDE Eclipse
• Faire pointer Eclipse IDE sur JDK 8 :
• Ouvrir window -> preferences -> installed jre -> mettre que la jdk 8(pas la jre). Voir slides suivants
• Supprimer la ligne correspondant à la JRE
• Créer une standard VM en pointant sur la JDK :

• Important : Pointer sur la JDK et non la JRE (Window – Preference – Installed JRE).

© 2019 – ESPRIT
Configuration IDE Eclipse
Important : Pointer votre Execution Environment vers la JDK.

© 2019 – ESPRIT
Configuration IDE Eclipse
• Activer l’auto-complétion (CTRL + ESPACE) : Windows - Preferences - Java - Content Assist – Advanced :

© 2019 – ESPRIT
Installation WildFly
• Décompresser le fichier “[Link]” dans
C:\Products\wildfly-11.0.0 par exemple.
• Installer notepad++ ou autre éditeur de texte pour voir le [Link]
et les autres fichiers texte.

© 2019 – ESPRIT
Configuration WildFly (Ajout User)
• Ajouter le user : admin / password : adminwildfly
• Ouvrir une Invite de commande
• Aller dans C:\Products\wildfly-11.0.0\bin
• Lancer la commande [Link]
• Suivre les instructions pour ajouter / activer (s’il existe déjà) le user admin :

© 2019 – ESPRIT
Configuration WildFly (Activer User)

© 2019 – ESPRIT
Configuration WildFly (Mise à jour Password)

© 2019 – ESPRIT
Configuration WildFly (Ajout Driver)
• Ajouter le driver MySQL pour pouvoir se connecter à la base de données MySQL :
• Créer l’arborescence : C:\Products\wildfly11.0.0\modules\system\layers\base\com\mysql\jdbc\main
• Copier les 2 fichiers suivants (à partir du Drive) vers le dossier ci-dessus :

© 2019 – ESPRIT
Configuration WildFly (Ajout Driver)
• Mettre à jour [Link] en ajoutant la ligne dans la balise

• Ne rien supprimer de ce fichier. • Si la base de données MySQL (WAMP ou XAMP) n’est pas encore installée sur
votre machine, ce n’est pas un problème. Nous verrons cela lors du cours JPA.

© 2019 – ESPRIT
Configuration WildFly (Choix du Port)

• Ouvrir C:\Products\wildfly11.0.0\standalone\configuration\[Link]
• Mettre à jour la propriété (ne pas faire un copier coller, risque d’erreur) :

• Ceci permettra de garder le port 8080 pour Tomcat. Et de choisir le port 9080 pour Wildfly.

© 2019 – ESPRIT
Configuration WildFly dans Eclipse
• Ouvrir Eclipse, Aller a la Vue « servers » (Window -> Show View -> Servers), New -> Server (vous devez être connecté
à Internet) :

© 2019 – ESPRIT
Configuration WildFly dans Eclipse
• Accepter les conditions du contrat de licence
• Laisser Eclipse télécharger les plugins nécessaires, et suivre les instructions (Accepter d’installer les plugins,
Redémarrer Eclipse, Accepter ou non l’envoi de données à JBoss ).
• Après redémarrage d’Eclipse, Recommencer l’ajout du serveur :
• Aller a la Vue « servers » (Window -> Show View -> Servers), New -> Server
• Choisir Wildfly 11.
• Il s’agit d’un serveur local, et choisir « Create New Runtime » :

© 2019 – ESPRIT
Configuration WildFly dans Eclipse

© 2019 – ESPRIT
Configuration WildFly dans Eclipse
• Démarrer le serveur, voir dans les logs sur quel port est démarré (Window -> Show View -> Console).
• [Link] devra affiché “Your WildFly 11 is running“.
• [Link] tester l’accès à l’interface admin.

© 2019 – ESPRIT
Activer l’auto-complete
Aller dans Windows-> preferences -> Java -> Editor -> Content Assist -> Advanced -> select all

© 2019 – ESPRIT
Prochain Cours

• Finaliser l’Installation de l’Environnement de travail (JDK, Eclipse, WildFly, MySQL)


• Comprendre Maven
• Créer vos premiers projets avec les outils ci-dessus.

© 2019 – ESPRIT

Vous aimerez peut-être aussi