5. QU'EST CE QUE JAVA?
Java Technology Java Technology Workgroup High-End
Enabled Devices Enabled Desktop Server Server
6. COMMENT SE FAIT
L'ÉVOLUTION DE JAVA ?
• (Des sociétés, des associations ou des individus
)
Besoins
• rejoindre le groupe pour participer et influencer
JCP l'évolution du langage. Site : http://www.jcp.org
• décrivent les spécifications et technologies
proposées pour un ajout à la plateforme Java.
JSR
7. COMMENT SE FAIT
L'ÉVOLUTION DE JAVA ?
Exemple :
la JSR 168 est la spécification des portlets
définissant le contrat entre les conteneurs de
portlets et les portlets.
8. COMMENT SE FAIT
L'ÉVOLUTION DE JAVA ?
Le JCP fait la norme JEE.
L'industrie et le monde du libre ne passent
pas forcément par le JCP.
Le JCP intègre souvent les bonnes idées
mais cela
peut prendre du temps.
10. QU'EST CE QUE JEE ?
JEE est la version « entreprise» de Java, elle a pour
but de faciliter le développement d'applications
distribuées.
Depuis sa version 5, J2EE est renommé Java EE
(Enterprise Edition).
Généralement, les applications JEE fonctionnent à
l'intérieur d'un serveur d'applications (conteneur)
11. QU'EST CE QUE JEE ?
JEE est composée de deux parties essentielles :
Un ensemble de spécifications pour une
infrastructure dans laquelle s'exécutent les
composants écrits en Java
Un ensemble d'API qui peut être obtenu et utilisé
séparément.
12. QU'EST CE QUE JEE ?
Ces API peuvent être regroupées en trois grandes
catégories :
les composants : Servlet, JSP, EJB
les services : JDBC, JTA/JTS, JNDI, JCA, JAAS
la communication : RMI-IIOP, JMS, Java Mail
13. QU'EST CE QUE JEE ?
Ce qu'il faut retenir :
JEE décrit des services techniques pour bâtir des
applications d'entreprise.
Une application JEE s'exécute dans un serveur
d'applications qu’est un environnement d'exécution.
19. LES SERVLETS
Les servlets sont des applications Java qui
fonctionnent dans un serveur web et qui répondent aux
requêtes HTTP des clients.
Le conteneur reçoit la requête du client, et sélectionne
la servlet qui aura à la traiter.
Le conteneur fournit également tout un ensemble de
services standards pour simplifier la gestion des
requêtes et des sessions.
21. PUISSANCE DES SERVLETS
Portabilité
Technologie indépendante de la plate-forme et du
serveur.
Puissance
Disponibilité de l’API de Java.
Sûreté
Gestion des erreurs par exception.
22. JSP
Une JSP est un fichier contenant du code HTML et des
fragments de code Java exécutés sur le moteur de
Servlets
Comparable aux langages côtés serveur de type
PHP, ASP, …
Les pages JSP sont converties en Servlet par le moteur
de
Servlets lors du premier appel à la JSP
24. EXEMPLE D’UN JSP
<%--
Document : index
Created on : 12 nov. 2011, 16:29:30
Author : ferhat
--%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h1>Hello World!</h1>
</body>
</html>
25. JSF
Framework qui a pour but de simplifier le
développement d'interfaces utilisateurs.
ilpermette de faire tout type d'interface, il est surtout
vu comme une amélioration des JSP.
Fonctionne dans un conteneur web comme
Glassfish.
26. EXEMPLE D’UN JSF
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html">
<h:head>
<title>Facelet Title</title>
</h:head>
<h:body>
Hello from Facelets
</h:body>
</html>
27. EJB
composant serveur qui peut être déployé Dans un
serveur d’application Java EE
Permettent aux développeurs de se concentrer sur
les traitements orientés métiers.
Sont réutilisables
Le conteneur d’EJB s’occupe de certains traitements
Cycle de vie du bean
Accès au bean
Sécurité d’accès
Accès concurrents
Persistance des données,
Transactions, …
28. LE FONCTIONNEMENT
Le client d'un Bean peut être
▫ Une servlet.
▫ Une applet.
▫ Une application classique.
▫ Un autre Bean.
Exemple :achat d'un livre à partir du carte de crédit
▫ Lecteur de carte (qui a une JVM embarquée) client
d'un Bean sur le Serveur
▫ Ce Bean est client d'autres Beans :
.gestion de catalogue, de commandes, de gestion
de transaction, etc…
30. TYPES DES EJB
Session Bean:
• Sont conçus pour encapsuler la logique métier
• Les plus utilisés
• 2 types d’EJB session
– Stateless
– Stateful
31. TYPES DES EJB
1- Session Bean Stateless (sans état)
•Sont spécialement pensés pour être robustes et
fiables lorsqu’il y a beaucoup d’appels en concurrence
•Lecontainer est responsable de la création et de la
destruction du Bean .
•Une instance de Stateless Session Bean n'est pas
propre à un client donné, elle peut être partagée entre
chaque appel de méthode
32. TYPES DES EJB
1- Session Bean Stateful (avec état)
•les attributs de l’EJB sont sauvegardés durant toute la
session.
•Lorsqu’un client appelle l’EJB, une instance de ce
dernier est créée, puis sert le client.
•Cetteinstance reste disponible pour les futurs appels
de ce client uniquement.
exemple : une application bancaire. Le client effectue
plusieurs opérations. On ne va pas à chaque fois lui
redemander son No de compte…
33. TYPES DES EJB
En résumé, un Stateful Session Bean est utile pour
maintenir un état pendant la durée de vie du client
au cours d'appels de méthodes successifs.
Au cours de transactions successives.
Si un appel de méthode change l'état du Bean, lors
d'un autre appel de méthode l'état sera disponible.
• Conséquence : une instance de Stateful Session
Bean par client.
34. TYPES DES EJB
2- Entity Bean
permet de gérer la persistance comme le ferait
Hibernate sur le concept de object-relational mapping
(ORM) => illusion de travailler avec une base de
données objet
Le mapping ne se fait plus forcément dans un fichier
XML (comme hibernate.cfg.xml), mais directement dans
le code avec des annotations (@Id, @Column, etc.)
35. TYPES DES EJB
3- Message-Driven Bean
Permet à des applications de communiquer entre
elles, en étant faiblement couplées, et de manière
asynchrones.
Ce concept est connu sous le nom de Message-
oriented middleware (MOM).
36. JEE API
Les technologies Java DataBase Connectivity
(JDBC)
Cette API permet aux applications Java d'accéder aux
bases de données. Il s'agit de la même interface pour
toutes les bases de données, seul le driver change
37. JEE API
Les technologies Java Message Service (JMS)
Cette technologie permet d'envoyer et de recevoir des
messages de manière asynchrone entre applications
ou composants Java.
Cette technologie est utilisée par les EJB MDB.
38. JEE API
JAAS(Java Authentication and Authorization Service) :
est une API standard de Java permettant de gérer les
identifications et les droits associés (par rôles) au niveau
du client et du serveur d'application.
39. JEE API
Les technologies Java Transaction API (JTA)
Cette technologie permet de piloter les transactions
sans avoir à connaître les détails du gestionnaire de
transactions. Cette API gère aussi transactions
distribuées, c'est à dire les transactions qui peuvent
démarrer sur un système et dépendre du résultat
d'autres systèmes.
40. LES FRAMEWORKS
Les frameworks Définition :
On va dire qu'il s'agit d'une infrastructure logicielle qui
facilite la conception des applications par l'utilisation
de bibliothèques, de modèles de convention...
De manière plus générale, il s'agit d'une ‘’ structure‘‘
qui soutient quelque chose d'autre. Une sorte de
squelette qui sert de base à quelque chose qui est
construit.
41. LES FRAMEWORKS
Les frameworks Y a t'il beaucoup de frameworks Java
? Enormément. Pourquoi ?
Très grande communauté.
De nombreux besoins.
Différents points de vues. ...
42. LES FRAMEWORKS
Les frameworks Struts, le plus vieux et l'un des plus
répandus ! Il permet de développer des applications
web en Java en suivant l'archiecture Modèle-Vue-
Contrôleur.
Les frameworks Hibernate permet de gérer la
persistence des données, c'est à dire : plus besoin de
SQL . On laisse Java stocker automatiquement les
objets dans la base.
43. LES FRAMEWORKS
Les frameworks Spring, le conteneur léger. Spring a
été crée avec l'idée que JEE était bien trop compliqué
et qu'il valait mieux coder par Interface que par
héritage.
Les frameworks GWT, framework de Google pour les
applications Ajax. Vous permet de développer des
applications web Ajax, directement en Java, aussi
facilement que vous feriez une application de bureau
classique. Plus besoin de connaître HTML, Javascript
44. GATE IN PORTAL FRAMEWORK
Enterprise Portal FrameWork :open source.
JBoss et eXo copropriétaire
Objectif: facilite le développement des « Java web
applications ».
PHP: Drupal
Java: Gatein