tp-EJB2

Embed Size (px)

Citation preview

  • Une introduction a` la technologie EJB (2/2)

    1 Les singletons des EJB 3.1

    ===> %1 Faites fonctionner cet exemple avec OpenEJB (disponible ici2)

    2 Tout mettre ensemble !

    Lobjet de cet exercice est de construire une application dentreprise qui regroupe des composants metier (EJB)et des composants Web (Servlet/JSP/JSF).

    Suivez les etapes soigneusement :

    1. Telechargez le serveur dapplications Glassfish 3.1.X (disponible ici3) et decompressez larchive.

    2. Lancez Eclipse version JEE.

    3. Ajoutez un nouveau serveur (onglet Servers), cliquez sur le lien pour ajouter de nouveaux adaptateurs etchoisissez Glassfish.

    4. Creez une Application dentreprise myapp basee sur Glassfish. Elle est pour linstant vide et vousdevez surement avoir une erreur sur un fichier XML (contenu non defini).

    5. Creez ensuite un projet EJB (myappbeans) base sur Glassfish, en prenant soin dindiquer dans lapremie`re boite de dialogue que ce projet est une composante de lapplication dentreprise myapp.

    6. Creez dans ce projet un EJB Stateless ci-dessous :

    package myapp.beans;

    import javax.ejb.LocalBean;import javax.ejb.Stateless;

    @Stateless(name = "Hello")@LocalBean()public class Hello {

    public String sayHello() {return "Hello " + System.currentTimeMillis();

    }

    }

    Nous nutiliserons pas dinterface (EJB local en version 3.1).

    7. Creez une application WEB (projet de type Dynamic WEB) de nom myappweb toujours associee a` Glassfishet associez-la a` sa creation a` lapplication dentreprise que nous venons de creer.

    8. Modifiez le buildpath de lapplication WEB pour utiliser les classes du projet myappbeans.

    9. Creez la servlet ci-dessous :

    1http://openejb.apache.org/examples-trunk/simple-singleton/2ress-ejb3ress-ejb

    1

  • package myapp.web;

    import java.io.IOException;

    import javax.ejb.EJB;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;

    import myapp.beans.Hello;

    @WebServlet(name = "hello",displayName = "My JEE 6 Servlet",description = "Ma premie`re servlet avec annotations",loadOnStartup = 10,urlPatterns = { "/Hello1", "/Hello2" }

    )public class HelloServlet extends HttpServlet {

    private static final long serialVersionUID = 1L;

    @EJB(name = "Hello")Hello hello;

    protected void service(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {

    String data = hello.sayHello();response.getWriter().printf("%s", data);

    }

    }

    10. Executez lapplication dentreprise myapp sur le serveur Glassfish et testez votre application WEB avecladresse ci-dessous :

    http://localhost:8080/myappweb/Hello2

    11. Vous venez de construire une application autonome prete a` etre deployee sur une serveur dapplicationsJEE. Vous pouvez lui adjoindre dautres composants metier (EJB) et/ou dautres applications WEB.

    12. Pour etudier la structure dune application EAR, vous pouvez exporter cet exemple (fichier myapp.ear) etanalyser son contenu.

    3 Politique de securite

    ===> %4 Faites fonctionner cet exemple avec OpenEJB (disponible ici5)

    4http://openejb.apache.org/examples-trunk/testing-security/5ress-ejb

    2