Presentation JEE et son écossystéme

  • 801 views
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
801
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
40
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. JAVA ENTERPRISE EDITION ET SON ÉCOSYSTÈME@f_guezlanefguezlane@gmail.com
  • 2. Ferhat GUEZLANEManager/Fondateur de Algeria JU@f_guezlanefguezlane@gmail.com
  • 3. PLAN Qu’est ce que JAVA Qu’est ce que JEE L’architecture MVC Servlet, JSP,JSF EJBJEE API (JMS,JAAS,JDBC,JTA) Framework GateIn Portal Framework
  • 4. QUEST CE QUE JAVA ETJEE ?
  • 5. QUEST CE QUE JAVA?Java Technology Java Technology Workgroup High-EndEnabled Devices Enabled Desktop Server Server
  • 6. COMMENT SE FAITLÉ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 portletsdéfinissant le contrat entre les conteneurs deportlets et les portlets.
  • 8. COMMENT SE FAIT LÉVOLUTION DE JAVA ?Le JCP fait la norme JEE.Lindustrie et le monde du libre ne passentpas forcément par le JCP.Le JCP intègre souvent les bonnes idéesmais celapeut prendre du temps.
  • 9. QUEST CE QUE JEE ?
  • 10. QUEST CE QUE JEE ?JEE est la version « entreprise» de Java, elle a pourbut de faciliter le développement dapplicationsdistribuées.Depuis sa version 5, J2EE est renommé Java EE(Enterprise Edition).Généralement, les applications JEE fonctionnent àlintérieur dun serveur dapplications (conteneur)
  • 11. QUEST CE QUE JEE ?JEE est composée de deux parties essentielles :Un ensemble de spécifications pour uneinfrastructure dans laquelle sexécutent lescomposants écrits en JavaUn ensemble dAPI qui peut être obtenu et utiliséséparément.
  • 12. QUEST CE QUE JEE ? Ces API peuvent être regroupées en trois grandescatégories :les composants : Servlet, JSP, EJBles services : JDBC, JTA/JTS, JNDI, JCA, JAASla communication : RMI-IIOP, JMS, Java Mail
  • 13. QUEST CE QUE JEE ?Ce quil faut retenir :JEE décrit des services techniques pour bâtir desapplications dentreprise.Une application JEE sexécute dans un serveurdapplications qu’est un environnement dexécution.
  • 14. ARCHITECTURE JEE
  • 15. L’ARCHITECTURE MVCun schéma qui représente bien l’architecture surlaquelle est basée la technologie J2EE
  • 16. L’ARCHITECTURE MVCLa vueune application graphique swing, awt …une page web (JSP,..etc).
  • 17. L’ARCHITECTURE MVCLe contrôleurpermet de faire le lien entre la vue et le modèlelorsquune interaction utilisateur est survenue sur lavue !
  • 18. L’ARCHITECTURE MVCLe modèleEn trois mots, il sagit du cœur du programme !
  • 19. LES SERVLETSLes servlets sont des applications Java quifonctionnent dans un serveur web et qui répondent auxrequêtes HTTP des clients.Le conteneur reçoit la requête du client, et sélectionnela servlet qui aura à la traiter.Le conteneur fournit également tout un ensemble deservices standards pour simplifier la gestion desrequêtes et des sessions.
  • 20. EXEMPLE D’UNE SERVLETimport 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 SERVLETSPortabilité Technologie indépendante de la plate-forme et duserveur.PuissanceDisponibilité de l’API de Java.SûretéGestion des erreurs par exception.
  • 22. JSPUne JSP est un fichier contenant du code HTML et desfragments de code Java exécutés sur le moteur deServletsComparable aux langages côtés serveur de typePHP, ASP, … Les pages JSP sont converties en Servlet par le moteurde 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 ledéveloppement dinterfaces utilisateurs.ilpermette de faire tout type dinterface, il est surtoutvu comme une amélioration des JSP.Fonctionne dans un conteneur web commeGlassfish.
  • 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 unserveur d’application Java EE Permettent aux développeurs de se concentrer surles 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 FONCTIONNEMENTLe client dun Bean peut être▫ Une servlet.▫ Une applet.▫ Une application classique.▫ Un autre Bean.Exemple :achat dun livre à partir du carte de crédit▫ Lecteur de carte (qui a une JVM embarquée) clientdun Bean sur le Serveur▫ Ce Bean est client dautres Beans : .gestion de catalogue, de commandes, de gestionde transaction, etc…
  • 29. TYPES DES EJB• Session – Stateless – Stateful• Entity• Message-Driven
  • 30. TYPES DES EJBSession Bean:• Sont conçus pour encapsuler la logique métier• Les plus utilisés• 2 types d’EJB session – Stateless – Stateful
  • 31. TYPES DES EJB1- Session Bean Stateless (sans état)•Sont spécialement pensés pour être robustes etfiables lorsqu’il y a beaucoup d’appels en concurrence•Lecontainer est responsable de la création et de ladestruction du Bean .•Une instance de Stateless Session Bean nest paspropre à un client donné, elle peut être partagée entrechaque appel de méthode
  • 32. TYPES DES EJB1- Session Bean Stateful (avec état)•les attributs de l’EJB sont sauvegardés durant toute lasession.•Lorsqu’un client appelle l’EJB, une instance de cedernier est créée, puis sert le client.•Cetteinstance reste disponible pour les futurs appelsde ce client uniquement.exemple : une application bancaire. Le client effectueplusieurs opérations. On ne va pas à chaque fois luiredemander son No de compte…
  • 33. TYPES DES EJBEn résumé, un Stateful Session Bean est utile pourmaintenir un état pendant la durée de vie du client au cours dappels de méthodes successifs. Au cours de transactions successives. Si un appel de méthode change létat du Bean, lorsdun autre appel de méthode létat sera disponible.• Conséquence : une instance de Stateful SessionBean par client.
  • 34. TYPES DES EJB2- Entity Beanpermet de gérer la persistance comme le feraitHibernate sur le concept de object-relational mapping(ORM) => illusion de travailler avec une base dedonnées objetLe mapping ne se fait plus forcément dans un fichierXML (comme hibernate.cfg.xml), mais directement dansle code avec des annotations (@Id, @Column, etc.)
  • 35. TYPES DES EJB3- Message-Driven Bean Permet à des applications de communiquer entreelles, en étant faiblement couplées, et de manièreasynchrones. Ce concept est connu sous le nom de Message-oriented middleware (MOM).
  • 36. JEE APILes technologies Java DataBase Connectivity(JDBC)Cette API permet aux applications Java daccéder auxbases de données. Il sagit de la même interface pourtoutes les bases de données, seul le driver change
  • 37. JEE APILes technologies Java Message Service (JMS)Cette technologie permet denvoyer et de recevoir desmessages de manière asynchrone entre applicationsou composants Java.Cette technologie est utilisée par les EJB MDB.
  • 38. JEE APIJAAS(Java Authentication and Authorization Service) : est une API standard de Java permettant de gérer lesidentifications et les droits associés (par rôles) au niveaudu client et du serveur dapplication.
  • 39. JEE APILes technologies Java Transaction API (JTA)Cette technologie permet de piloter les transactionssans avoir à connaître les détails du gestionnaire detransactions. Cette API gère aussi transactionsdistribuées, cest à dire les transactions qui peuventdémarrer sur un système et dépendre du résultatdautres systèmes.
  • 40. LES FRAMEWORKSLes frameworks Définition :On va dire quil sagit dune infrastructure logicielle quifacilite la conception des applications par lutilisationde bibliothèques, de modèles de convention...De manière plus générale, il sagit dune ‘’ structure‘‘qui soutient quelque chose dautre. Une sorte desquelette qui sert de base à quelque chose qui estconstruit.
  • 41. LES FRAMEWORKSLes frameworks Y a til beaucoup de frameworks Java? Enormément. Pourquoi ?Très grande communauté.De nombreux besoins.Différents points de vues. ...
  • 42. LES FRAMEWORKSLes frameworks Struts, le plus vieux et lun des plusrépandus ! Il permet de développer des applicationsweb en Java en suivant larchiecture Modèle-Vue-Contrôleur.Les frameworks Hibernate permet de gérer lapersistence des données, cest à dire : plus besoin deSQL . On laisse Java stocker automatiquement lesobjets dans la base.
  • 43. LES FRAMEWORKSLes frameworks Spring, le conteneur léger. Spring aété crée avec lidée que JEE était bien trop compliquéet quil valait mieux coder par Interface que parhéritage.Les frameworks GWT, framework de Google pour lesapplications Ajax. Vous permet de développer desapplications web Ajax, directement en Java, aussifacilement que vous feriez une application de bureauclassique. 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
  • 45. GATE IN CONFIG
  • 46. GATE IN DÉPLOIEMENT
  • 47. SOMMAIREJSP,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éphaneTraumat (Scub)• EJB 3 formation interne pour CLIO S.A. CédricBOTTERO Michaël MATHIEU Genève, le 30 juin 2009
  • 49. ???Ferhat GUEZLANE@f_guezlanefguezlane@gmail.com