El documento describe los pasos para crear una aplicación distribuida en Java usando componentes EJB. Estos incluyen crear una tabla en una base de datos HSQL, construir la interfaz, el bean y el componente entity, empaquetarlos en un archivo JAR y desplegarlo en un servidor JBoss para que pueda ser accedido por un cliente.
Prueba De Aplicaciones Web con Selenium 2 y WebDriver
Construccion a través de compontes
1.
2. MODELO DE NEGOCIO Ejemplo sencillo de aplicación compartida un pequeño programa que comprueba la autenticación de un usuario en el sistema. El sistema recogerá el usuario y contraseña a autenticar, despues establecerá la conexión con la base de datos y comprobará la validez. Los componentes son: -El Bean que comprueba la validez (lógica de N.) -La superficie que pregunta por el usuario. - Entity Beans que representan los datos de una tabla de base de datos.
3. CONSTRUCCION DE LA INTERFAZ -Creamos un nuevo Proyecto Java llamado appvalida, agregamos la librería jboss (por Java Settings, Add Library, user library). -Creamos un package llamado server.beans -Creamos la interfaz UsuarioRemote.java e introduzca el código suministrado en la plataforma con el mismo nombre.
4. CODIGO INTERFAZ UsuarioRemote package server.beans; import javax.ejb.Remote; @Remote public interface UsuarioRemote { public boolean validaUsuario(String us, String ps); }
5. CONSTRUCCION DEL BEAN -Creamos una clase llamada UsuarioBean.java e introduzca el código suministrado en la plataforma con el mismo nombre.
7. CREACION DEL COMPONENTE ENTITY BEAN PARA LA BASE DE DATOS -Creamos una clase llamada Usuario.java e introduzca el código suministrado en la plataforma con el mismo nombre. Esta clase será la encargada de administrar la comunicación con la tabla usuarios de la base de datos
9. Archivo persistence.xml Este archivo es requerido al momento de crear el jar, puesto que contendrá la información referente al origen de datos. Debe quedar entre la carpeta META-INF y esta a su vez dentro de src del proyecto. Para crear el archivo persistence.xml sobre la carpeta META-INF pulse clic derecho, NEW/FILE. A continuación introduzca el código suministrado en la plataforma.
11. Activación e instalación de la clase UsuarioBean en el servidor La clase debe registrarse e instalarse en el servidor de aplicaciones para poder ser ejecutada, por ello es necesario comprimirla junto con la interfaz en un archivo JAR. Clic con el botón derecho sobre el nombre del proyecto appvalida y seleccionar la opción Export. En el cuadro de dialogo Export, en la opción Java seleccione JAR file. En el siguiente paso en Select the export destination , explore la ruta } C:boss-5.1.0.GAerverefaulteploy e ingrese como nombre del jar : UsuarioBean .De esta manera se crea el archivo en el servidor y se activa inmediatamente.
12. Activación e instalación de la clase UsuarioBean en el servidor Al pulsar el botón next se llega a JAR Packaging options, activar Save the description e introduzca /appvalida/UsuarioBean.jardesc. De esta manera la descripción del archivo JAR se convertirá en objeto del proyecto y así despues se podrá generar de nuevo en cualquier momento o ampliar. Aplique finalmente las configuraciones con el botón finish.
13. USO DEL COMPONENTE DESDE UN CLIENTE Crear una clase con el nombre UsuarioClient.java en un package client.beans -introduzca el código suministrado en la plataforma con el mismo nombre.
14. Código Clase UsuarioClient.java package client.beans; import java.io.*; import java.util.Properties; import javax.naming.*; import javax.rmi.PortableRemoteObject; import server.beans.UsuarioRemote; public class UsuarioClient { public static void main(String[] args) { try { Properties p = new Properties(); p.put(Context. INITIAL_CONTEXT_FACTORY , "org.jnp.interfaces.NamingContextFactory" ); p.put(Context. URL_PKG_PREFIXES , "org.jboss.naming:org.jnp.interfaces" ); p.put(Context. PROVIDER_URL , "jnp://localhost:1099" ); Context ctx = new InitialContext(p); Object ref = ctx.lookup( "UsuarioBean/remote" ); UsuarioRemote br = (UsuarioRemote) PortableRemoteObject . narrow(ref, UsuarioRemote. class ); BufferedReader din = new BufferedReader( new InputStreamReader( System. in )); String u,ps; do { System. out .print( "Ingrese Usuario: " ); u = din.readLine(); System. out .print( "Ingrese Clave: " ); ps = din.readLine(); if (u.length() > 0) { if (br.validaUsuario(u,ps)) System. out .println( "Usuario Valido" ); else System. out .println( "Usuario desconocido" ); } } while (u.length() > 0); } catch (NamingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }