Java EE 7
Java EE 7
Java EE 7
Enterprise Edition
Gnie Logiciel
2013-2014
Meryam Belhiah
[email protected]
Outline (1/2)
1.
2.
3.
4.
5.
tude de cas
Comparaison (presque objective) de quelques aspects entre Java EE et .NET
Pourquoi Java EE
Java EE Application Model
Application distribue multi-tiers
5.1.Clients Java EE
5.1.1. Client lger
5.1.2. Client lourd
5.2. Serveurs Java EE
5.2.1. Composants mtier
5.2.2. Composants Web
Servlet
Pages Web
5.3. Systmes dInformation dEntreprise
Outline (2/2)
6.
7.
Hibernate
MVC 2
JSF 2
Spring MVC
8.
Travaux Pratiques
1. tude de cas
1. tude de cas
Mandat : Dvelopper une application dentreprise pour grer une
compagnie arienne internationale. Cette application doit grer :
1. tude de cas
Les parties prenantes :
1. le client (la compagnie arienne) ;
2. les prestataires :
interne : la Direction des Systmes dInformation (DSI) de la
compagnie arienne ;
externe : un cabinet XYZ (manager(s) de projets, architecte(s),
analyste(s), dveloppeurs, intgrateurs, testeurs).
1. tude de cas
tape 1 - laborer le cahier des charges, qui est un contrat (au sens
lgal du terme) et qui dfinie entre autres :
les interfaces ;
les fonctionnalits ;
le (s) modle (s) de donnes ;
le flux.
1. tude de cas
Depuis les annes 90, les deux tendances en dveloppement des
applications dentreprises sont :
Java Enterprise Edition (Oracle) ;
Microsoft .NET (Microsoft)
Java EE
Microsoft .NET
Environnement de
Dveloppement
Intgr (IDE)
VisualStudio.NET est
un IDE complet mais
payant
Communaut des
dveloppeurs
Une communaut
imposante
Microsoft Developers
Network (MSDN)
Language de
programmation
#2 : Java
#5 : C#
Productivit
Les solutions
technologiques sont
arrtes
UI best practices
ASP.NET MVC
Mapping Objet
Relationnel (ORM)
Spc. JPA
Framework Hibernate
Entity framework
NHibernate
(1) : http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
Observations
3. Pourquoi Java EE ?
3.
Pourquoi Java EE ?
3.
Pourquoi Java EE ?
4.
4.
Servlet
Pages Web
5.
5.
5.1.1.
5.1.2.
5.2.1.
5.2.1.
5.2.1.
Terminologies :
5.2.1.
5.2.1.
Les entity beans sont des objets mtier qui servent dinterface
entre lapplication crite en Java et le systme dinformation de
lentreprise (en gnral, des bases de donnes relationnelles) ;
Depuis la version EJB 3.0, les entity beans utilisent les annotations
de lAPI JPA pour la persistance.
Exemples :
@Entity : dfinir un bean comme tant de type Entity ;
@Id : dfinir un champ comme un identifiant unique ;
@Table : mapper la table dune BD avec un bean ;
@Column : mapper le champ dune table avec une proprit du bean ;
Etc.
5.2.1.
5.2.2.
Pages Web cre en utilisant les technologies JSP (Java Server Pages) ou
JSF (Java Server Faces).
5.2.2.
5.2.2.
5.2.2.
5.2.2.
5.2.2.
2. Clients Java EE :
5.2.2.
5.2.2.
Java Server Pages (JSP) est une technologie Java qui permet de
gnrer des pages Web dynamique ;
Les pages JSP se composent de :
1. contenu statique crit avec des tags HTML ;
2. contenu dynamique :
Tags JSP ;
Code Java (scriptet) intgr la JSP
Un fichier JSP possde lextension .jsp
5.2.2.
5.2.2.
JSTL (JSP Standard Tag Library) est une bibliothque standard qui
regroupe des fonctionnalits souvent rencontres dans les JSP :
structure : itration, condition, etc.
internationalisation ;
manipulation de BD SQL ;
manipulation de documents XML.
JSTL 1.2 ncessite un container Web qui implmente lAPI JSP 2.1.
5.2.2.
Fonction
Tags
<c:if>
<c:choose>
<c:when>
<c:otherwise >
<c:forEach >
<c:forTokens>
<c:param>
<c:redirect >
<c:url>
Tableau1 : Tags de structure
5.2.2.
Fonction
Tags
Dfinition de la langue
<fmt:setLocale>
Formatage de messages
<fmt:message>
<fmt:bundle>
<fmt:setBundle>
<fmt:formatNumber>
<fmt:parseNumber>
<fmt:formatDate>
<fmt:parseDate>
<fmt:setTimeZone>
<fmt:timeZone>
5.2.2.
Fonction
Tags
<sql:setDataSource>
<sql:query>
<sql:transaction >
<sql:update>
5.2.2.
Fonction
Tag
Fondamentale
<x:parse>
<x:set >
<x:out>
<x:if >
<x:forEach>
<x:choose>
<x:when >
<x:otherwise >
<x:transform >
<x:param >
6.
Hibernate
MVC 2
JSF 2
Spring MVC
Apache Maven
Sassurer que des objets similaires et non ncessaires ne vont pas tre cres
dans la mme application.
Request
Response
Controller
View name
View
View Resolver
Model
Response
View
nom du projet ,
numro de version,
dpendances par rapport dautres projets,
librairies ncessaires la compilation (tlcharges partir de Maven Central Repository :
http://search.maven.org/),
etc.