JEE con JBoss y Netbeans: La primera aplicación JEE

 JEE con JBoss y Netbeans: La primera aplicación JEE
Vamos a hacer una aplicación JEE muy básica, compuesta por una Bean que correrá en el contenedor de aplicaciones y un servlet en el servidor web como capa de presentación que interacturará con dicha Bean, usando instanciación remota.

Creando el proyecto base

Con Netbeans es muy sencillo generar una base sólida y completa para empezar a crear nuestra primera aplicación JEE. Basta con seguir lo siguientes pasos:

  • A través de la opción File > New project aparecerá el diálogo que nos permitirá escoger los diferentes tipos de proyecto soportados. En la primera pantalla escogeremos la opción Enterprise Application, dentro de la categoria Java EE.

  • En la siguiente pantalla especificaremos la ruta de los fuentes y el nombre del proyecto, y lo marcaremos como el Main Project.

  • Especificaremos el servidor JBoss a utilizar. Si aún no lo hemos registrado lo podremos hacer con el botón Add que vemos en ésa misma pantalla. Muy importante, tendremos que marcar la generación del módulo EBJ y de la aplicación web.

Cuando pulsemos el botón Finish veremos tres proyectos. El primero tan sólo aglutina los otros dos proyectos y genera el empaquetado (EAR) final, los otros dos son los que definirán las beans y los servlets de nuestra aplicación JEE.

Creando la Bean e implementando funcionalidad

Abriendo el proyecto EJB, usando el menú contextual sobre la rama Source Packages, podremos crear cualquiera de los tres tipos de Beans de las que hemos hablado. Para éste ejemplo, haremos lo siguiente:

  • Con el menú contextual, crear una Session Bean.

  • Especificar un nombre y un paquete, y seleccionar el modo Stateless.

  • No marcaremos ninguno de los interfaces (ni Home ni Remote), los haremos nosotros a mano.

Añadiremos un método a la Bean, algo sencillo para poder probar el funcionamiento remoto de nuestro objeto. Tras hacer eso tendremos un código como el siguiente:

package com.serone.cursoblog;

// Imports necesarios

import javax.ejb.Stateless;

import javax.ejb.Remote;

/**

* Bean de testeo

* @author doctor@serone.org

*/

@Stateless

@Remote(SessionBeanRemote.class)

public class SessionBean implements SessionBeanRemote

{

/**

* Método de testeo para usar desde un servlet remoto

* @return Una cadena a mostrar en el servlet

*/

@Override

public String holaMundo()

{

return “Hola, mundo!”;

}

}

Vemos que JBoss y las JEE dan mucha importancia a las anotaciones (las etiquetas precedidas por una @), que especificarán cómo han de funcionar los objetos dentro del cotnenedor y nos ahorrarán mucho trabajo. Muy importantes.

¡Ojo! Nosotros añadiremos unas cuantas cosas al código generado:

  • El implements SessionBeanRemote, el intefaz remoto de la Bean que crearemos a continuación.

  • El @Override al método público, pues estará definido en el interfaz remoto.

  • Sustiuiremos la anotación @LocalBean por @Remote(SessionBeanRemote.class), para enlazar la Bean con su interfaz.

Ahora crearemos el interfaz remoto, creando una nueva Java Class desde el menú contextual de Netbeans sobre el paquete en el que hemos colocado nuestra Bean. La nombraremos con el mismo nombre que la Bean anterior, con la palabla Remote al final. Tras crearla, pegaremos el código siguiente:

package com.serone.cursoblog;

// Imports necesarios

import javax.ejb.Remote;

/**

* Interfaz remoto

* @author doctor@serone.org

*/

@Remote

public interface SessionBeanRemote

{

// Métodos públicos

public String holaMundo();

}

Con ésto ya tendremos una Bean que se ejecutará en nuestro contenedor de aplicaciones y que nos brinda una funcionalidad usable por nuestra aplicación web icon smile JEE con JBoss y Netbeans: La primera aplicación JEE

Creando el servlet y usando la Bean

Abriendo el proyecto WAR, usando el menú contextual sobre la rama Source Packages, podremos crear nuestros servlets. Para éste ejemplo, haremos lo siguiente:

  • Con el menú contextual, crear un Servlet.

  • Especificar un nombre y un paquete.

  • Especificar que añada la información necesaria al web.xml y especificar el nombre del Servlet y el patrón de dirección (la URL que hay que escribir en el navegador para ejecutarlo).

Tras pulsar el botón Finish, tendremos un archivo de código bastante extenso, del que tan sólo un método nos interesa:

/**

* Processes requests for both HTTP <code>GET</code> and

* <code>POST</code> methods.

* @param request servlet request

* @param response servlet response

* @throws ServletException if a servlet-specific error occurs

* @throws IOException if an I/O error occurs

*/

protected void processRequest

(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException

{

// Contenido del servlet

}

Éste método es el que se ejecuta con cada petición a la URL que hemos especificado a la hora de crear el servlet. Dentro de él usaremos la Bean que hemos creado anteriormente. El código final del método sería algo como:

response.setContentType(“text/html;charset=UTF-8″);

PrintWriter out = response.getWriter();

try

{

out.println(“<html>”);

out.println(“<head><title>Testeo de un servlet</title></head>”);

out.println(“<body>”);

// Buscamos nuestra Bean

InitialContext ic = new InitialContext();

SessionBeanRemote bean = (SessionBeanRemote)ic.lookup(

“java:global/CursoBlog/CursoBlog-ejb/SessionBean”);

if(bean!=null)

{

// Ejecutamos el método remoto

out.println(bean.holaMundo());

}

else

{

out.println(“¡No se ha encontrado la bean!<br/>”);

}

}

catch(Exception e)

{

out.println(“¡Algo ha sucedido! “+e.getMessage()+”<br/>”);

}

finally

{

out.println(“</body>”);

out.println(“</html>”);

out.close();

}

Y con ésto ya tenemos las dos partes de nuestra aplicación web implementadas y enlazadas icon smile JEE con JBoss y Netbeans: La primera aplicación JEE

Conclusiones

Creando nuevas Beans y Servlets podremos añadir todo tipo de funcionalidades a nuestra aplicación web. Además, los diferentes tipos de Beans nos brindan soluciones para cumplir cada una de las tareas requeridas por las funcionalidades de nuestro proyecto. Aquí hemos descrito la base de todo, próximamente iremos desgranando el funcionamiento de cada tipo de Bean y las cosas que podemos hacer desde nuestros servlets para hacer aplicaciones web alucinantes.

Y recordad, Code is Poetry icon smile JEE con JBoss y Netbeans: La primera aplicación JEE


Disclaimer: Las imágenes mostradas en ésta página web se utilizan sólamente con propósitos ilustrativos, y son propiedad de sus respectivos autores (cuando es aplicable).
Hijo de Blog es un producto del Dr. SeROne

Los contenidos se ofrecen bajo una licencia de Creative Commons
Attribution-NonCommercial-NoDerivs 3.0 Unported

salvo que se indique lo contrario

Licencia de Creative Commons