Usted está aquí: Inicio Ingeniería Telemática Software de Comunicaciones (I.T.T.T.) jee practicaJEE EJBstart

EJBstart

Acciones de Documento
  • Marcadores (bookmarks)
  • Exportación de LTI
Autores: Florina Almenares, Pablo Basanta
Enunciados prácticas de Java EE
Home UC3M
null
Home IT
null

 

Software de Comunicaciones - ITT Telemática

Comenzando con el servidor de aplicaciones



 Introducción
null

En esta práctica aprenderemos a:

  1. Desplegar y ejecutar una aplicación Java EE. Como aplicación de ejemplo utilizaremos una aplicación denominada ConverterApp, que permite al usuario convertir de euros a dólar y viceversa. Esta aplicación consta de un EJB sin estado, que es el que realiza los cálculos y un cliente Web (página JSP), que nos permitirá a través de un navegador acceder a la funcionalidad proporcionada por el EJB desarrollado.
  2. Crear y desplegar nuestros propios EJBs. Además, podremos crear y desplegar nuestros propios EJBs de sesión y de entidad.

Antes de desplegar las aplicaciones de ejemplo debemos tener instalado el servidor de aplicaciones cuyas instrucciones están dadas en el enunciado general.

Para desplegar la aplicación utilizaremos la herramienta deploytool proporcionada en el Java EE SDK.

El código fuente de la aplicación os lo podéis descargar del siguiente enlace converter.tgz. Descomprimid el fichero (por ejemplo, en $HOME/swc/practicasj2ee/).

 

 Despliegue y ejecución
null

  1. Arrancar el servidor Java EE tal como se indica en el enunciado global de las prácticas de Java EE.


  2. Crear la aplicación Java EE ConverterApp:
    1. Arrancar la herramienta deploytool ejecutando: $ deploytool &

    2. Almacenar la aplicación en un fichero denominado ConverterApp.ear empleando el deploytool:
      • Seleccionar File -> New -> Application
      • Clic en Browse. Seleccionar el directorio en el que habéis descomprimido previamente los fuentes de la aplicación (por ejemplo, $HOME/swc/practicasj2ee/converter.
        • En el campo File, introducir ConverterApp.ear
        • Clic en New Application
        • Clic en OK
      • Comprobar que el fichero ConverterApp.ear existe en el directorio indicado en el paso b.

  3. Crear ConverterBean:

  4. En tiempo de ejecución, los clientes ejecutan la lógica de negocio contenida en EJB, invocando los métodos de éste. Este primer EJB que os proporcionamos es un bean de sesión sin estado denominado ConverterBean. Para crearlo es necesario realizar los siguientes pasos:

    1. Codificar las interfaces del Bean y la clase (en este caso se proporciona el código, por lo que sólo deberéis comprenderlo):
      • Converter.java: "remote interface" que define los métodos de negocio que puede invocar el cliente. En este caso, podéis comprobar que existen dos métodos de conversión dollarToEuro y euroToDollar. Estos métodos se implementan en el código de la clase del bean.
      • ConverterHome.java: "home interface" que define los métodos que le permiten al cliente crear, buscar y eliminar el bean. En este caso podéis comprobar que esta interfaz proporciona un único método que permite crear el bean, devolviendo un objeto que implementa la interfaz remota definida en Converter.java.
      • ConverterBean.java: esta clase contiene el código del EJB que implementa los métodos de negocio definidos en el interfaz remoto Converter.

    2. Compilar el código fuente, para ello dentro del directorio src ejecutad:
       javac -d ../build *.java
      
      Si este paso se ha realizado correctamente, en el directorio ../build tendréis la siguiente estructura de ficheros:
       build +--converter +-- Converter.class
                          |
                          +-- ConverterBean.class
                          |
                          +-- ConverterHome.class
      
    3. Empaquetar el enterprise bean. Para ello vamos a utilizar el asistente ("wizard") proporcionado por el deploytool, que nos permite realizar las siguientes tareas de forma más sencilla:
      • Crear el descriptor de despliegue del bean.
      • Empaquetar el descriptor de despliegue y las clases del bean en un fichero EJB JAR.
      • Añadir el fichero EJB JAR en el fichero (ConverterApp.ear).

      Para ejecutar el asistente, seleccionar en el deploytool: File -> New -> Enterprise Bean. El asistente muestra los siguientes cuadros de diálogo:

      1. "New Enterprise Bean Wizard - Introduction":
        • Leer el texto explicativo que nos indica las tareas que realiza este asistente.
        • Clic en Next.
      2. "New Enterprise Bean Wizard - EJB JAR General Settings":
        • En el apartado JAR Location, seleccionar la opción Create New JAR Module in Application y en el combobox inferior seleccionar ConverterApp.
        • En el apartado JAR Naming, introducir en el campo JAR Display Name, ConverterJAR.
        • En el apartado Contents, clic en Edit Contents, en el árbol de Available Files, localizar el directorio build/converter y seleccionar los tres ficheros de clases del bean: Converter.class, ConverterBean.class y ConverterHome.class. Hacer clic en Add y después en OK para volver a la pantalla anterior.
        • Clic en Next.
      3. "New Enterprise Bean Wizard - Bean General Settings":
        • En el combobox bajo Enterprise Bean Class seleccionar converter.ConverterBean. Automáticamente en los campos Enterprise Bean Name aparecerá ConverterBean y en Enterprise Bean Type se seleccionará Stateless Session.
        • En el apartado Remote Interfaces, seleccionar en el combobox correspondiente a Remote Home Interface, converter.ConverterHome y en el combobox correspondiente a Remote Interface, converter.Converter.
        • Clic en Next
      4. "New Enterprise Bean Wizard - Expose as Web Service Endpoint":
        • Por defecto está en "No", debemos hacer clic en Next.
      5. "New Enterprise Bean Wizard - Next Steps":
        • Leer el texto en el que se indican las tareas que se pueden realizar a continuación.
        • Clic en Finish.


  5. Crear el cliente Web ConverterWAR:

    El cliente Web que vamos a utilizar para interactuar con el EJB anterior es una página JSP, que podéis encontrar en el directorio web. Visualizad este fichero index.jsp y fijaos sobre todo en el código del método jspInit en el que podéis ver como se crea un objeto bean, que nos permite acceder a los métodos de negocio del EJB. Para empaquetar este cliente Web, utilizaremos el asistente proporcionado por el deploytool, el cual permite:

    • Crear el descriptor de despliegue del cliente Web.
    • Empaquetar el descriptor de despliegue y el cliente Web en un fichero WAR.
    • Añadir el fichero WAR en el fichero ConverterApp.ear

    Para ejecutar el asistente, seleccionar en el deploytool: File -> New -> Web Component. El asistente muestra los siguientes cuadros de diálogo:

    1. "New Web Application Wizard - Introduction":
      • Leer el texto explicativo que nos indica las tareas que realiza este asistente.
      • Clic en Next
    2. "New Web Application Wizard - WAR File":
      • En el apartado WAR Location, seleccionar Create New WAR Module in Application, y en el combobox inferior seleccionar ConverterApp.
      • En el apartado WAR Naming, introducir en el campo WAR Name, ConverterWAR.
      • En el apartado Contents, clic en Edit Contents: en el árbol debajo de Available Files localizar el directorio web y seleccionar el fichero correspondiente a la aplicación web index.jsp y hacer click en Add y después en OK para volver a la pantalla anterior.
      • Clic en Next.
    3. "New Web Application Wizard - Choose Component Type":
      • Seleccionar el botón JSP Page.
      • Clic en Next.
    4. "New Web Application Wizard - Component General Properties":
      • En el combobox bajo JSP Filename, seleccionar index.jsp. Automáticamente en los campos Web Component Name aparecerá index y en Web Component Display Name aparecerá index.
      • Clic en Next.
    5. "New Web Application Wizard - Next Steps":
      • Leer el texto en el que se indican las tareas que puede ser necesario realizar a continuación.
      • Clic en Finish.

  6. Especificar la referencia del cliente Web al EJB:

    Si nos fijamos en el código del jsp, se busca una referencia al bean mediante el método lookup:

     Object objRef = ic.lookup("java:comp/env/ejb/EuroDollarConverter");
    

    Para especificar esta referencia es necesario realizar los siguientes pasos en el deploytool:

    1. Seleccionar ConverterWAR en el árbol de la aplicación.
    2. Seleccionar la pestaña EJB Refs.
    3. Clic en Add:
      • En el campo coded Name, introducir ejb/EuroDollarConverter.
      • En el combobox EJB Type, seleccionar Session.
      • En el combobox Interfaces, seleccionar Remote.
      • En el campo Home Interface, introducir converter.ConverterHome.
      • En el campo Local/Remote Interface, introducir converter.Converter.
      • De las dos opciones disponibles en el apartado Target EJB, seleccionar el campo que pone JNDI Name y seleccionar ConverterBean
      • Clic en OK.

  7. Especificar el context root de la aplicación Web:

    El context root de la aplicación Web es el camino en el servidor en el que estará accesible esta aplicación. Para especificarlo es necesario realizar los siguientes pasos en el deploytool:

    1. En el árbol de la aplicación seleccionar ConvertApp.
    2. Seleccionar la pestaña Web Context.
    3. En el campo Context Root, introducir /converter.

  8. Mapear los nombres JNDI del bean creado:

    1. En el árbol de la aplicación seleccionar ConverterApp.
    2. Seleccionar la pestaña General.
    3. Clic en el botón Sun-specific Settings:
      • Seleccionar JNDI Names en el campo View.
      • En la tabla de aplicación, comprobar que el nombre JNDI para el enterprise bean es ConverterBean.
      • En la tabla de referencias, escribir ConverterBean (o en su defecto, comprobar que este es el nombre) en la columna JNDI Name para todas las filas.
      • Clic en Close.

  9. Desplegar la aplicación en el servidor Java EE:

    1. En el árbol de la aplicación seleccionar ConverterApp.
    2. Seleccionar Tools -> Deploy:
      • En el apartado Connection Settings, introducir el "login" y "password" del administrador del servidor (login:admin y password=admin2010).
      • Seleccionar el chechbox Return Client JAR y clic en OK.
      • Confirmar el despliegue en la ventana Confirm Save and Deploy.
      • Hacer clic en Close en la ventana Distribute Module cuando finalice el despliegue.
      • Para verificar el despliegue: en el árbol, expandir el nodo de servidores y seleccionar el host en el que se está ejecutando el servidor Java EE (localhost). En la tabla Deployed Applications, debería aparecer listada la aplicación ConverterApp y su estado debería ser Running.

  10. Ejecución de la aplicación:
    1. Para comprobar el funcionamiento de la aplicación, abrir un navegador y conectarse a la URL: http://localhost:8888/converter.

      Pantalla inicial conversor



 Ejercicios
null

En el siguiente enlace encontrará ejercicios propuestos para la creación, despliegue y ejecución de beans de sesión y de entidad. Se recomienda el desarrollo de los mismos con el fin de afianzar los conocimientos y adquirir destreza a la hora de desarrollar aplicaciones empresariales: Ejercicios EJBs.


 Referencias
null


Reutilizar Curso
Descargar este curso