Icefaces, JBoss, Maven2 y EJB3: Parte 2

0
15933

Icefaces, JBoss, Maven2 y
EJB3: Parte 2.

Como ya os prometí
en el anterior tutorial de esta ‘saga’, en este pretendemos
configurar la parte del módulo Web y del módulo Modelo
para empezar a trabajar.

Por lo tanto, nuestro
objetivo será configurar correctamente la aplicación
Web para que se pueda desplegar correctamente en Jboss e Icefaces y
configurar el proyecto eclipse de manera correcta al igual que el
proyecto EJB.

Suponemos que ya
tenéis instalado JBoss 4.2.2 y ‘enlazado’ con eclipse y
habéis finalizado con éxito el tutorial anterior.

  1. Estructura
    del proyecto WEB.

    Al
    ser un proyecto Web dinámico, y siguiendo la estructura de
    Maven2, tendremos: (si no lo tenéis así, modificadlo
    para que así sea)

      • Los fuentes en la carpeta
        src/main/java

      • Los recursos en src/main/resources
        (No olvidéis añadirla al proyecto como carpeta de
        fuentes)

      • Las clases compiladas en:
        target/classes

      • Los ficheros de la aplicación
        Web: src/main/webapp

  1. Creando
    descriptor web.xml.

El descriptor web.xml (en
src/main/webapp/WEB-INF) tendrá la siguiente forma:

  1. Fichero de
    configuración de JSF: faces-config.xml

El fichero de
configuración faces-config.xml (en src/main/webapp/WEB-INF)
tendrá la siguiente forma:

Por ahora, sólo
hemos configurado un bean de Sesión que nos servirá de
ejemplo.

  1. Fichero
    index.jsp y test.jspx

    Crearemos dos ficheros jsp. El
    primero, que será el fichero de bienvenida, que redirigirá
    al fichero test.jspx. Nuestro único objetivo será
    demostrar que hemos configurado todo correctamente.

    El
    fichero index.jsp (en src/main/webapp) tendrá la siguiente
    forma:

    El
    fichero test.jspx (JSP y XML) (en src/main/webapp) tendrá la
    siguiente forma:

  1. Vamos a
    crear el Bean.

    Crearemos
    la clase:
    com.autentia.tutoriales.icefaces.beans.TestCtrl:

  1. Configuración
    de las trazas.

    Cread
    en la carpeta src/main/resources los ficheros:

  • commons-logging.properties

  • log4j.properties

  1. Preparando
    para desplegar el proyecto WEB

Lo
añadimos al servidor Jboss en eclipse (no lo arranquéis
aún)


Pulsamos
sobre propiedades del proyecto y en ‘J2EE Module Dependencies’
marcamos únicamente ‘Maven Dependencies’

Arrancamos
el servidor y entramos en http://localhost:8080/Web

Debemos
ver una página muy simple:


  1. Estructura
    del proyecto Modelo.

    Al
    ser un proyecto EJB 3.0, y siguiendo la estructura de Maven2,
    tendremos: (si no lo tenéis así, modificadlo para que
    así sea)

      • Los fuentes en la carpeta
        src/main/java

      • Los recursos en src/main/resources
        (No olvidéis añadirla al proyecto como carpeta de
        fuentes)

      • Las clases compiladas en:
        target/classes

  1. Configuración
    de las trazas.

    Haced
    lo mismo que hicimos para el módulo Web

  2. Crearemos
    un EJB de sesión sin estado de prueba.

    Creamos
    el interfaz Local:
    com.autentia.tutoriales.modelo.services.TestServices

Y ahora el Bean:
com.autentia.tutoriales.modelo.services.TestServicesImpl

Vamos a crearnos una clase
que nos permita localizar los EJBs de manera transparente:


com.autentia.tutoriales.modelo.util.
EjbLocator

  1. Invocamos
    al Modelo desde el Web:

    Configuramos
    el proyecto Web en eclipse añadiendo la dependencia del
    proyecto Modelo:

Editamos la clase TestCtrl
dejándola así:

Mostramos el valor en la
página test.jspx:

Invocamos a la aplicación
(no olvidéis añadir el proyecto Modelo al servidor y
arrancarlo).: http://localhost:8080/Web/

Veremos una página muy
simple:

En apariencia sólo
tenemos una página muy sencilla, pero la realidad es que ya
tenemos un arquetipo de aplicación bastante interesante
técnicamente:

  • JSF e Icefaces preparaditos para
    utilizar (me encanta eso del partial submit de icefaces).

  • EJB 3.0 deseando ayudarnos con su
    magia.

  • Las dependencias de las librerías
    manejadas por Maven2 y ‘enganchadito’ todo con Eclipse gracias a
    m2Eclipse.

  • Desplegado y funcionando en Jboss.

Aún nos queda trabajo
por hacer… os adelanto que lo próximo será
inventarnos un modelo de datos, crearnos un esquema en MySQL que lo
represente, crear las clases de entidad (Entity) y
hacernos un DAO implementado en un EJB de sesión sin estado.

Dejar respuesta

Please enter your comment!
Please enter your name here