SlideShare une entreprise Scribd logo
1  sur  14
APLICACIÓN DISTRIBUIDA X COMPONENTES ,[object Object],[object Object],[object Object],[object Object],[object Object]
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.
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.
CODIGO INTERFAZ UsuarioRemote package  server.beans; import  javax.ejb.Remote; @Remote public   interface  UsuarioRemote { public   boolean  validaUsuario(String us, String ps); }
CONSTRUCCION DEL BEAN -Creamos una clase llamada UsuarioBean.java e introduzca el código suministrado en la plataforma con el mismo nombre.
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 ; } }
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
Código Clase Usuario.java
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.
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 >
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.
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.
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.
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(); } } }

Contenu connexe

Tendances

Servlets exposicion
Servlets exposicionServlets exposicion
Servlets exposicion
Flashnet S.A
 
Instalacion y configuración eclipse
Instalacion y configuración eclipseInstalacion y configuración eclipse
Instalacion y configuración eclipse
jalzate
 
Acciones JSP
Acciones JSPAcciones JSP
Acciones JSP
jubacalo
 
Jsp directiva page
Jsp directiva pageJsp directiva page
Jsp directiva page
jubacalo
 

Tendances (17)

Conectar java con una base de datos
Conectar java con una base de datosConectar java con una base de datos
Conectar java con una base de datos
 
Guia practica secuenciales eclipse java 01
Guia practica secuenciales eclipse java 01Guia practica secuenciales eclipse java 01
Guia practica secuenciales eclipse java 01
 
Servlets exposicion
Servlets exposicionServlets exposicion
Servlets exposicion
 
Continuación 3 de la creación de reportes con jasper report
Continuación 3 de la creación de reportes con jasper reportContinuación 3 de la creación de reportes con jasper report
Continuación 3 de la creación de reportes con jasper report
 
Instalacion y configuración eclipse
Instalacion y configuración eclipseInstalacion y configuración eclipse
Instalacion y configuración eclipse
 
Mysql java
Mysql javaMysql java
Mysql java
 
Acciones JSP
Acciones JSPAcciones JSP
Acciones JSP
 
Servicios web
Servicios webServicios web
Servicios web
 
Elementos de script en JSP
Elementos de script en JSPElementos de script en JSP
Elementos de script en JSP
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Uso java jdbc
Uso java jdbcUso java jdbc
Uso java jdbc
 
Manual de la conexión de php con sqlserver 2012
Manual de la conexión de php con sqlserver 2012Manual de la conexión de php con sqlserver 2012
Manual de la conexión de php con sqlserver 2012
 
Servlets que manejan datos de formularios HTML
Servlets que manejan datos de formularios HTMLServlets que manejan datos de formularios HTML
Servlets que manejan datos de formularios HTML
 
Jsp directiva page
Jsp directiva pageJsp directiva page
Jsp directiva page
 
Find File Servlet DB
Find File Servlet DBFind File Servlet DB
Find File Servlet DB
 
Cu00612 b compilar ejecutar programa java windows consola cmd dos
Cu00612 b compilar ejecutar programa java windows consola cmd dosCu00612 b compilar ejecutar programa java windows consola cmd dos
Cu00612 b compilar ejecutar programa java windows consola cmd dos
 
Web de noticias en Ajax
Web de noticias en AjaxWeb de noticias en Ajax
Web de noticias en Ajax
 

En vedette

iNTRO Jboss
iNTRO JbossiNTRO Jboss
iNTRO Jboss
jalzate
 
Jmx mbean-hsql
Jmx mbean-hsqlJmx mbean-hsql
Jmx mbean-hsql
jalzate
 
Administración del conocimiento
Administración del conocimientoAdministración del conocimiento
Administración del conocimiento
jalzate
 
Aspectos generales y_viabilidad_de_proyectos
Aspectos generales y_viabilidad_de_proyectosAspectos generales y_viabilidad_de_proyectos
Aspectos generales y_viabilidad_de_proyectos
jalzate
 

En vedette (8)

Install jboss
Install jbossInstall jboss
Install jboss
 
iNTRO Jboss
iNTRO JbossiNTRO Jboss
iNTRO Jboss
 
Jmx mbean-hsql
Jmx mbean-hsqlJmx mbean-hsql
Jmx mbean-hsql
 
Web 2
Web 2Web 2
Web 2
 
Marco lógico
Marco lógico Marco lógico
Marco lógico
 
Administración del conocimiento
Administración del conocimientoAdministración del conocimiento
Administración del conocimiento
 
Aspectos generales y_viabilidad_de_proyectos
Aspectos generales y_viabilidad_de_proyectosAspectos generales y_viabilidad_de_proyectos
Aspectos generales y_viabilidad_de_proyectos
 
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job? Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
 

Similaire à Construccion a través de compontes

Ejercicio de automatizacion IntelliJ+reporte.docx
Ejercicio de automatizacion IntelliJ+reporte.docxEjercicio de automatizacion IntelliJ+reporte.docx
Ejercicio de automatizacion IntelliJ+reporte.docx
ssuser2e6b96
 
Hands-on Spring 3: The next generation
Hands-on Spring 3: The next generationHands-on Spring 3: The next generation
Hands-on Spring 3: The next generation
Sergi Almar i Graupera
 
Unit Testing - GTUG
Unit Testing - GTUGUnit Testing - GTUG
Unit Testing - GTUG
Jordi Gerona
 
Tallerprogramacion
TallerprogramacionTallerprogramacion
Tallerprogramacion
johanadoria
 

Similaire à Construccion a través de compontes (20)

APIREST LARAVEL Y PHP.pptx
APIREST LARAVEL Y PHP.pptxAPIREST LARAVEL Y PHP.pptx
APIREST LARAVEL Y PHP.pptx
 
Ejercicio de automatizacion IntelliJ+reporte.docx
Ejercicio de automatizacion IntelliJ+reporte.docxEjercicio de automatizacion IntelliJ+reporte.docx
Ejercicio de automatizacion IntelliJ+reporte.docx
 
Curso de Desarrollo Web 2
Curso de Desarrollo Web 2Curso de Desarrollo Web 2
Curso de Desarrollo Web 2
 
Hands-on Spring 3: The next generation
Hands-on Spring 3: The next generationHands-on Spring 3: The next generation
Hands-on Spring 3: The next generation
 
JPA en Netbeans
JPA en NetbeansJPA en Netbeans
JPA en Netbeans
 
Conexión a postgres desde
Conexión a postgres desdeConexión a postgres desde
Conexión a postgres desde
 
Unit Testing - GTUG
Unit Testing - GTUGUnit Testing - GTUG
Unit Testing - GTUG
 
Gwt III - Avanzado
Gwt III - AvanzadoGwt III - Avanzado
Gwt III - Avanzado
 
02 formulario iniciar sesion programar
02 formulario iniciar sesion   programar02 formulario iniciar sesion   programar
02 formulario iniciar sesion programar
 
Spring framework
Spring frameworkSpring framework
Spring framework
 
spring framework
spring frameworkspring framework
spring framework
 
Struts2
Struts2Struts2
Struts2
 
Tallerprogramacion
TallerprogramacionTallerprogramacion
Tallerprogramacion
 
Jsf
JsfJsf
Jsf
 
Instalacion de Pentaho 5 con PostgreSQL 9.3
Instalacion de Pentaho 5 con PostgreSQL 9.3Instalacion de Pentaho 5 con PostgreSQL 9.3
Instalacion de Pentaho 5 con PostgreSQL 9.3
 
P2C2 Introducción a JEE5
P2C2 Introducción a JEE5P2C2 Introducción a JEE5
P2C2 Introducción a JEE5
 
Manual Basico De Struts
Manual Basico De StrutsManual Basico De Struts
Manual Basico De Struts
 
Bases de Datos en Java - Intro a JDBC
Bases de Datos en Java - Intro a JDBCBases de Datos en Java - Intro a JDBC
Bases de Datos en Java - Intro a JDBC
 
Servicios web
Servicios webServicios web
Servicios web
 
Prueba De Aplicaciones Web con Selenium 2 y WebDriver
Prueba De Aplicaciones Web con Selenium 2 y WebDriverPrueba De Aplicaciones Web con Selenium 2 y WebDriver
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.
  • 6. CODIGO CLASE UsuarioBean.java package server.beans; import javax.ejb.Stateless; import javax.persistence.*; @Stateless public class UsuarioBean implements UsuarioRemote { @PersistenceContext (unitName = &quot;UAN&quot; ) private EntityManager manager ; @Override public boolean validaUsuario(String us, String ps) { // TODO Auto-generated method stub Query query = manager .createNamedQuery( &quot;Usuario.BuscaUsuario&quot; ); query.setParameter( &quot;user&quot; , us); query.setParameter( &quot;pass&quot; , 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
  • 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: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 , &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(); } } }