Construccion a través de compontes

  • 408 views
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
408
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
0
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. APLICACIÓN DISTRIBUIDA X COMPONENTES
    • Ejecutar el Mbean HSQL
    • Crear la tabla usuarios: create usuarios(user varchar(10) primary key, password varchar(10)).
    • Seleccione un nuevo workspace en el escritorio llamado aplicación.
    • Ejecute Eclipse y seleccionelo como workspace.
    • Como es un nuevo workspace, requiere crear de nuevo la librería jboss.
  • 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.
  • 6. CODIGO CLASE UsuarioBean.java package server.beans; import javax.ejb.Stateless; import javax.persistence.*; @Stateless public class UsuarioBean implements UsuarioRemote { @PersistenceContext (unitName = "UAN" ) private EntityManager manager ; @Override public boolean validaUsuario(String us, String ps) { // TODO Auto-generated method stub Query query = manager .createNamedQuery( "Usuario.BuscaUsuario" ); query.setParameter( "user" , us); query.setParameter( "pass" , ps); if (query.getResultList().size() == 0) return false ; else return true ; } }
  • 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
  • 8. Código Clase Usuario.java
  • 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.
  • 10. ARCHIVO PERSISTENCE.XML <? xml version = &quot;1.0&quot; encoding = &quot;UTF-8&quot; ?> < persistence xmlns = &quot;http://java.sun.com/xml/ns/persistence&quot; xmlns:xsi = &quot;http://www.w3.org/2001/XMLSchema-instance&quot; xsi:schemaLocation = &quot;http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd&quot; version = &quot;1.0&quot; > < persistence-unit name = &quot;UAN&quot; > < jta-data-source > java:DefaultDS </ jta-data-source > </ persistence-unit > </ persistence >
  • 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:jboss-5.1.0.GAserverdefaultdeploy 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 , &quot;org.jnp.interfaces.NamingContextFactory&quot; ); p.put(Context. URL_PKG_PREFIXES , &quot;org.jboss.naming:org.jnp.interfaces&quot; ); p.put(Context. PROVIDER_URL , &quot;jnp://localhost:1099&quot; ); Context ctx = new InitialContext(p); Object ref = ctx.lookup( &quot;UsuarioBean/remote&quot; ); UsuarioRemote br = (UsuarioRemote) PortableRemoteObject . narrow(ref, UsuarioRemote. class ); BufferedReader din = new BufferedReader( new InputStreamReader( System. in )); String u,ps; do { System. out .print( &quot;Ingrese Usuario: &quot; ); u = din.readLine(); System. out .print( &quot;Ingrese Clave: &quot; ); ps = din.readLine(); if (u.length() > 0) { if (br.validaUsuario(u,ps)) System. out .println( &quot;Usuario Valido&quot; ); else System. out .println( &quot;Usuario desconocido&quot; ); } } while (u.length() > 0); } catch (NamingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }