SlideShare a Scribd company logo
1 of 49
JAVA ENTERPRISE EDITION
   ET SON ÉCOSYSTÈME




@f_guezlane
fguezlane@gmail.com
Ferhat GUEZLANE
Manager/Fondateur de Algeria JU
@f_guezlane
fguezlane@gmail.com
PLAN
    Qu’est ce que JAVA


    Qu’est ce que JEE


    L’architecture MVC


     Servlet, JSP,JSF


           EJB


JEE API (JMS,JAAS,JDBC,JTA)


        Framework


  GateIn Portal Framework
QU'EST CE QUE JAVA ET
JEE ?
QU'EST CE QUE JAVA?




Java Technology   Java Technology   Workgroup   High-End
Enabled Devices   Enabled Desktop    Server      Server
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
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.
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.
QU'EST CE QUE JEE ?
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)
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.
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
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.
ARCHITECTURE JEE
L’ARCHITECTURE MVC




un schéma qui représente bien l’architecture sur
laquelle est basée la technologie J2EE
L’ARCHITECTURE MVC



La vue

une   application graphique swing, awt …

une   page web (JSP,..etc).
L’ARCHITECTURE MVC


Le contrôleur

permet de faire le lien entre la vue et le modèle
lorsqu'une interaction utilisateur est survenue sur la
vue !
L’ARCHITECTURE MVC



Le modèle




En trois mots, il s'agit du cœur du programme !
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.
EXEMPLE D’UNE SERVLET
import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;



@WebServlet(name="helloWorldServlet" ,

urlPatterns={"/helloWorldServlet"})



public class helloWorldServlet extends HttpServlet {

protected void processRequest(HttpServletRequest request, HttpServletResponse response)

    throws ServletException, IOException {

}

protected void doGet(HttpServletRequest request, HttpServletResponse response)

    throws ServletException, IOException {

        processRequest(request, response);

    }

protected void doPost(HttpServletRequest request, HttpServletResponse response)

    throws ServletException, IOException {

        processRequest(request, response);

    }

}
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.
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
JSP
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>
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.
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>
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, …
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…
TYPES DES EJB


• Session

  – Stateless

  – Stateful

• Entity

• Message-Driven
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
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
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…
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.
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.)
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).
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
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.
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.
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.
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.
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. ...
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.
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
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
GATE IN CONFIG
GATE IN DÉPLOIEMENT
SOMMAIRE


JSP,Servlet     JAVA       JEE




  MVC         FrameWork   JEE API




               GateIn
RÉFÉRENCES


• EJB 3 in action, 2007
• The J2EE 1.4 Tutorial, 2005, SUN
• EJB3 2006 SUPINFO
• EJB2 2005 SUPINFO
• Mickaël BARON - 2007 (Rév. Août 2009)
  mailto:baron@ensma.fr
• Java Enterprise Edition et son écosystème Stéphane
Traumat (Scub)
• EJB 3 formation interne pour CLIO S.A. Cédric
BOTTERO Michaël MATHIEU Genève, le 30 juin 2009
???




Ferhat GUEZLANE
@f_guezlane
fguezlane@gmail.com

More Related Content

What's hot

Java entreprise edition et industrialisation du génie logiciel par m.youssfi
Java entreprise edition et industrialisation du génie logiciel par m.youssfiJava entreprise edition et industrialisation du génie logiciel par m.youssfi
Java entreprise edition et industrialisation du génie logiciel par m.youssfiENSET, Université Hassan II Casablanca
 
Rapport j2ee: Gestion d’un compte bancaire En utilisant les EJB 3.0
Rapport j2ee: Gestion d’un compte bancaire En utilisant les EJB 3.0Rapport j2ee: Gestion d’un compte bancaire En utilisant les EJB 3.0
Rapport j2ee: Gestion d’un compte bancaire En utilisant les EJB 3.0Ayoub Rouzi
 
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...ENSET, Université Hassan II Casablanca
 
Concevoir, développer et sécuriser des micro-services avec Spring Boot
Concevoir, développer et sécuriser des micro-services avec Spring BootConcevoir, développer et sécuriser des micro-services avec Spring Boot
Concevoir, développer et sécuriser des micro-services avec Spring BootDNG Consulting
 
Workshop spring session 2 - La persistance au sein des applications Java
Workshop spring   session 2 - La persistance au sein des applications JavaWorkshop spring   session 2 - La persistance au sein des applications Java
Workshop spring session 2 - La persistance au sein des applications JavaAntoine Rey
 
Workshop Spring - Session 1 - L'offre Spring et les bases
Workshop Spring  - Session 1 - L'offre Spring et les basesWorkshop Spring  - Session 1 - L'offre Spring et les bases
Workshop Spring - Session 1 - L'offre Spring et les basesAntoine Rey
 
Présentation spring data Matthieu Briend
Présentation spring data  Matthieu BriendPrésentation spring data  Matthieu Briend
Présentation spring data Matthieu BriendSOAT
 
Introduction à spring boot
Introduction à spring bootIntroduction à spring boot
Introduction à spring bootAntoine Rey
 
Spring Meetup Paris - Back to the basics of Spring (Boot)
Spring Meetup Paris - Back to the basics of Spring (Boot)Spring Meetup Paris - Back to the basics of Spring (Boot)
Spring Meetup Paris - Back to the basics of Spring (Boot)Eric SIBER
 

What's hot (20)

Support JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.YoussfiSupport JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.Youssfi
 
Support POO Java première partie
Support POO Java première partieSupport POO Java première partie
Support POO Java première partie
 
Support programmation orientée objet c# .net version f8
Support programmation orientée objet c#  .net version f8Support programmation orientée objet c#  .net version f8
Support programmation orientée objet c# .net version f8
 
Support de cours technologie et application m.youssfi
Support de cours technologie et application m.youssfiSupport de cours technologie et application m.youssfi
Support de cours technologie et application m.youssfi
 
Java entreprise edition et industrialisation du génie logiciel par m.youssfi
Java entreprise edition et industrialisation du génie logiciel par m.youssfiJava entreprise edition et industrialisation du génie logiciel par m.youssfi
Java entreprise edition et industrialisation du génie logiciel par m.youssfi
 
Rapport j2ee: Gestion d’un compte bancaire En utilisant les EJB 3.0
Rapport j2ee: Gestion d’un compte bancaire En utilisant les EJB 3.0Rapport j2ee: Gestion d’un compte bancaire En utilisant les EJB 3.0
Rapport j2ee: Gestion d’un compte bancaire En utilisant les EJB 3.0
 
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
 
Servlets et JSP
Servlets et JSPServlets et JSP
Servlets et JSP
 
Concevoir, développer et sécuriser des micro-services avec Spring Boot
Concevoir, développer et sécuriser des micro-services avec Spring BootConcevoir, développer et sécuriser des micro-services avec Spring Boot
Concevoir, développer et sécuriser des micro-services avec Spring Boot
 
spring-api-rest.pdf
spring-api-rest.pdfspring-api-rest.pdf
spring-api-rest.pdf
 
Maven et industrialisation du logiciel
Maven et industrialisation du logicielMaven et industrialisation du logiciel
Maven et industrialisation du logiciel
 
Workshop spring session 2 - La persistance au sein des applications Java
Workshop spring   session 2 - La persistance au sein des applications JavaWorkshop spring   session 2 - La persistance au sein des applications Java
Workshop spring session 2 - La persistance au sein des applications Java
 
Workshop Spring - Session 1 - L'offre Spring et les bases
Workshop Spring  - Session 1 - L'offre Spring et les basesWorkshop Spring  - Session 1 - L'offre Spring et les bases
Workshop Spring - Session 1 - L'offre Spring et les bases
 
Support POO Java Deuxième Partie
Support POO Java Deuxième PartieSupport POO Java Deuxième Partie
Support POO Java Deuxième Partie
 
Cours design pattern m youssfi partie 7 facade bridge flyweight
Cours design pattern m youssfi partie 7 facade bridge flyweightCours design pattern m youssfi partie 7 facade bridge flyweight
Cours design pattern m youssfi partie 7 facade bridge flyweight
 
Présentation spring data Matthieu Briend
Présentation spring data  Matthieu BriendPrésentation spring data  Matthieu Briend
Présentation spring data Matthieu Briend
 
Introduction à spring boot
Introduction à spring bootIntroduction à spring boot
Introduction à spring boot
 
La plateforme JEE
La plateforme JEELa plateforme JEE
La plateforme JEE
 
Spring Boot RestApi.pptx
Spring Boot RestApi.pptxSpring Boot RestApi.pptx
Spring Boot RestApi.pptx
 
Spring Meetup Paris - Back to the basics of Spring (Boot)
Spring Meetup Paris - Back to the basics of Spring (Boot)Spring Meetup Paris - Back to the basics of Spring (Boot)
Spring Meetup Paris - Back to the basics of Spring (Boot)
 

Similar to Presentation JEE et son écossystéme

Introduction à Hibernate p.1
Introduction à Hibernate p.1Introduction à Hibernate p.1
Introduction à Hibernate p.1ATHMAN HAJ-HAMOU
 
Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01
Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01
Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01Eric Bourdet
 
Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01 (1)
Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01 (1)Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01 (1)
Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01 (1)Eric Bourdet
 
Programmation_JEE_Version_imprimable.pdf
Programmation_JEE_Version_imprimable.pdfProgrammation_JEE_Version_imprimable.pdf
Programmation_JEE_Version_imprimable.pdfngombeemmanuel
 
Architecture java j2 ee a partager
Architecture java j2 ee a partagerArchitecture java j2 ee a partager
Architecture java j2 ee a partageraliagadir
 
Développement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EEDéveloppement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EESabri Bouchlema
 
cours-gratuit.com--id-1964.pdf
cours-gratuit.com--id-1964.pdfcours-gratuit.com--id-1964.pdf
cours-gratuit.com--id-1964.pdfRachida19
 
les servlets-java EE
les  servlets-java EEles  servlets-java EE
les servlets-java EEYassine Badri
 
API JSP2 avec Java EE.pdf
API JSP2 avec Java EE.pdfAPI JSP2 avec Java EE.pdf
API JSP2 avec Java EE.pdframadanmahdi
 
Webserver tomcat-jboss-jrun-jonas doc
Webserver tomcat-jboss-jrun-jonas docWebserver tomcat-jboss-jrun-jonas doc
Webserver tomcat-jboss-jrun-jonas docWinslo Nwan
 
Présentation de JavaServer Faces
Présentation de JavaServer FacesPrésentation de JavaServer Faces
Présentation de JavaServer FacesJS Bournival
 
Prsentation de-javaserver-faces4124
Prsentation de-javaserver-faces4124Prsentation de-javaserver-faces4124
Prsentation de-javaserver-faces4124Mejdeddine Bouzouita
 
Formation JAVA/J2EE
Formation JAVA/J2EEFormation JAVA/J2EE
Formation JAVA/J2EEInes Ouaz
 

Similar to Presentation JEE et son écossystéme (20)

Support cours j2_ee
Support cours j2_eeSupport cours j2_ee
Support cours j2_ee
 
Introduction à Hibernate p.1
Introduction à Hibernate p.1Introduction à Hibernate p.1
Introduction à Hibernate p.1
 
Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01
Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01
Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01
 
Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01 (1)
Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01 (1)Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01 (1)
Supportdecoursejb3versioncompletemryoussfi 140317162653-phpapp01 (1)
 
Programmation_JEE_Version_imprimable.pdf
Programmation_JEE_Version_imprimable.pdfProgrammation_JEE_Version_imprimable.pdf
Programmation_JEE_Version_imprimable.pdf
 
Java j2ee
Java j2eeJava j2ee
Java j2ee
 
Architecture java j2 ee a partager
Architecture java j2 ee a partagerArchitecture java j2 ee a partager
Architecture java j2 ee a partager
 
Développement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EEDéveloppement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EE
 
cours-gratuit.com--id-1964.pdf
cours-gratuit.com--id-1964.pdfcours-gratuit.com--id-1964.pdf
cours-gratuit.com--id-1964.pdf
 
#2 Architecture OSGi
#2 Architecture OSGi#2 Architecture OSGi
#2 Architecture OSGi
 
J2 ee
J2 eeJ2 ee
J2 ee
 
Java Entreprise Edition
Java Entreprise EditionJava Entreprise Edition
Java Entreprise Edition
 
les servlets-java EE
les  servlets-java EEles  servlets-java EE
les servlets-java EE
 
Java Server Faces 2
Java Server Faces 2Java Server Faces 2
Java Server Faces 2
 
API JSP2 avec Java EE.pdf
API JSP2 avec Java EE.pdfAPI JSP2 avec Java EE.pdf
API JSP2 avec Java EE.pdf
 
Webserver tomcat-jboss-jrun-jonas doc
Webserver tomcat-jboss-jrun-jonas docWebserver tomcat-jboss-jrun-jonas doc
Webserver tomcat-jboss-jrun-jonas doc
 
Présentation de JavaServer Faces
Présentation de JavaServer FacesPrésentation de JavaServer Faces
Présentation de JavaServer Faces
 
Prsentation de-javaserver-faces4124
Prsentation de-javaserver-faces4124Prsentation de-javaserver-faces4124
Prsentation de-javaserver-faces4124
 
Formation JAVA/J2EE
Formation JAVA/J2EEFormation JAVA/J2EE
Formation JAVA/J2EE
 
1 Introduction
1 Introduction1 Introduction
1 Introduction
 

More from Algeria JUG

Hosting security
Hosting securityHosting security
Hosting securityAlgeria JUG
 
Le m _tier_de_dba_797144552
Le m _tier_de_dba_797144552Le m _tier_de_dba_797144552
Le m _tier_de_dba_797144552Algeria JUG
 
Jug algeria x wiki-atelier
Jug algeria x wiki-atelierJug algeria x wiki-atelier
Jug algeria x wiki-atelierAlgeria JUG
 
Le métier d’administrateur de
Le métier d’administrateur deLe métier d’administrateur de
Le métier d’administrateur deAlgeria JUG
 
Jug algeria x wiki-conference
Jug algeria x wiki-conferenceJug algeria x wiki-conference
Jug algeria x wiki-conferenceAlgeria JUG
 

More from Algeria JUG (6)

Hosting security
Hosting securityHosting security
Hosting security
 
Java vs .Net
Java vs .NetJava vs .Net
Java vs .Net
 
Le m _tier_de_dba_797144552
Le m _tier_de_dba_797144552Le m _tier_de_dba_797144552
Le m _tier_de_dba_797144552
 
Jug algeria x wiki-atelier
Jug algeria x wiki-atelierJug algeria x wiki-atelier
Jug algeria x wiki-atelier
 
Le métier d’administrateur de
Le métier d’administrateur deLe métier d’administrateur de
Le métier d’administrateur de
 
Jug algeria x wiki-conference
Jug algeria x wiki-conferenceJug algeria x wiki-conference
Jug algeria x wiki-conference
 

Presentation JEE et son écossystéme

  • 1. JAVA ENTERPRISE EDITION ET SON ÉCOSYSTÈME @f_guezlane fguezlane@gmail.com
  • 2. Ferhat GUEZLANE Manager/Fondateur de Algeria JU @f_guezlane fguezlane@gmail.com
  • 3. PLAN Qu’est ce que JAVA Qu’est ce que JEE L’architecture MVC Servlet, JSP,JSF EJB JEE API (JMS,JAAS,JDBC,JTA) Framework GateIn Portal Framework
  • 4. QU'EST CE QUE JAVA ET JEE ?
  • 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.
  • 15. L’ARCHITECTURE MVC un schéma qui représente bien l’architecture sur laquelle est basée la technologie J2EE
  • 16. L’ARCHITECTURE MVC La vue une application graphique swing, awt … une page web (JSP,..etc).
  • 17. L’ARCHITECTURE MVC Le contrôleur permet de faire le lien entre la vue et le modèle lorsqu'une interaction utilisateur est survenue sur la vue !
  • 18. L’ARCHITECTURE MVC Le modèle En trois mots, il s'agit du cœur du programme !
  • 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.
  • 20. EXEMPLE D’UNE SERVLET import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet(name="helloWorldServlet" , urlPatterns={"/helloWorldServlet"}) public class helloWorldServlet extends HttpServlet { protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response); } }
  • 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
  • 23. 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…
  • 29. TYPES DES EJB • Session – Stateless – Stateful • Entity • Message-Driven
  • 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
  • 47. SOMMAIRE JSP,Servlet JAVA JEE MVC FrameWork JEE API GateIn
  • 48. RÉFÉRENCES • EJB 3 in action, 2007 • The J2EE 1.4 Tutorial, 2005, SUN • EJB3 2006 SUPINFO • EJB2 2005 SUPINFO • Mickaël BARON - 2007 (Rév. Août 2009) mailto:baron@ensma.fr • Java Enterprise Edition et son écosystème Stéphane Traumat (Scub) • EJB 3 formation interne pour CLIO S.A. Cédric BOTTERO Michaël MATHIEU Genève, le 30 juin 2009