EJB con Eclipse y JBoss
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

EJB con Eclipse y JBoss

on

  • 11,712 views

Creación de un Bean y una aplicación cliente con Eclipse y JBoss

Creación de un Bean y una aplicación cliente con Eclipse y JBoss

Statistics

Views

Total Views
11,712
Views on SlideShare
11,710
Embed Views
2

Actions

Likes
2
Downloads
414
Comments
1

1 Embed 2

http://www.slashdocs.com 2

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • Hola Paco, gracias por el tutorial,gran aporte.

    Me surge un problema:
    Al copiar el texto del descriptor de despliegue, obtengo error y eclipse no genera el jar, mi version de eclipse, es eclipse juno.

    ¿Se te ocurre que puede estar ocurriendo?

    Un saludo y gracias
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

EJB con Eclipse y JBoss Document Transcript

  • 1. EJB con Eclipse y JBoss Hola mundo Tutorial paso a paso de EJB con Eclipse y JBoss07/05/2012 Página 1
  • 2. Instalación de requisitos Eclipse Indigo IDE for Java EE Developers1 Nos descargamosEclipse Indigo IDE for JavaEE Developers de la si-guiente direccion:http://www.eclipse.org/downloads/Descomprimir el contenidodel archivo en c:eclipse Jboss AS7.1.1 Final 2 Descargamos Jboss AS7.1.1 Final de http:// www.jboss.org/ jbossas/downloads/ Descomprimir el contenido del archi- vo en c:JBoss Probar que el servidor está instalado correctamente Arrancamos el servidor ejecutando el archivo C:JBossbinstandalone.bat. Escribimos en el navegador la siguiente direccion http://localhost:8080 Debe- ríamos ver la siguiente pantalla.07/05/2012 Página 2
  • 3. Instalación de requisitos JBoss tools 3 Abrimos el market-place de Eclipse (Help->Eclipse Market- place) y escribimos Jboss en el cuadro de busqueda. Instalamos Jboss tools para indigo. 4 Vamos a pestana de servidores (Window->Show View->Servers) y hacemos click en new server wizard y lo configuramos con las siguientes opciones:07/05/2012 Página 3
  • 4. Creación de usuarios en el servidorUsuario de administración 1 Creamos un usuario para la consola de administracion. Para ello ejecutamos el script c:Jbossbinadd-user.bat Tipo de usuario: <a> Management user Realm: La dejamos por defecto Username: admin Password: 0123Usuario de aplicación2 Creamos otro usuario ejecutando otra vez el script c:Jbossbinadd-user.bat Tipo de usuario: <b> Application User Realm: La dejamos por defecto Username: cliente Password: cliente0123 Consola de administración Comprobamos la consola de administracion. Abrimos el navegador y escribimos la siguiente direccion: http://localhost:9990. Ingresamos las credenciales del usuario que acabamos de crear: Username: admin Password: 012307/05/2012 Página 4
  • 5. Creación del Bean Proyecto 1 Creamos un Nuevo proyecto EJB (File->new->EJB Project) y le llamamos HolaMundo- Bean. Rellenamos los campos con las siguientes opciones: Interface Home2 Creamos una interface nueva dentro del paquete com.saludo y la llamamos HolaMundoHome. Escribimos dentro el siguiente codigo e ignoramos los errores. package com.saludo; import java.rmi.RemoteException; import javax.ejb.CreateException; import javax.ejb.EJBHome; public interface HolaMundoHome extends EJBHome { HolaMundoRemote create() throws Re- moteException, CreateException;07/05/2012 Página 5
  • 6. Creación del Bean Interface Remote 4 Creamos una segunda interface tambien dentro del paquete com.saludo y la llamamos HolaMundoRemo- te. Escribimos dentro el siguiente codigo: package com.saludo; import java.rmi.RemoteException; import javax.ejb.EJBObject; public interface HolaMundoRemote extends EJBObject{ public String saludo(String nombre) throws RemoteException; } Bean package com.saludo; import java.rmi.RemoteException; import javax.ejb.EJBException; 5 Creamos una nueva clase que llamaremos HolaMundo- import javax.ejb.SessionBean; Bean y escribimos dentro el import javax.ejb.SessionContext; siguiente codigo: public class HolaMundoBean implements SessionBean{ private static final long serialVersionUID = 1L;// Quita warning de serialización del objeto // Nuestro método "de negocio" public String saludo(String nombre){ System.out.println("Un cliente me ha invocado"); return "Hola, " + nombre; } // Métodos del ciclo de vida del Bean (obligatorios) public void ejbCreate(){} public void ejbActivate() throws EJBException, RemoteException {} public void ejbPassivate() throws EJBException, RemoteException {} public void ejbRemove() throws EJBException, RemoteException {} public void setSessionContext(SessionContext arg0) throws EJBException, RemoteException {} }07/05/2012 Página 6
  • 7. Creación del Bean Descriptor de despliegue 6 Modificamos el descriptor de despliegue. Para ello hacemos click con el boton derecho del ra- ton sobre Deployment Descriptor: HolaMundoBean en la pestana Pro- ject Explorer de Eclipse y seleccio- namos Open with-> text editor.Escribimos el siguiente codigo: <?xml version="1.0"?> <!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/j2ee/dtd/ejb-jar_2_0.dtd"> <ejb-jar> <description>Ejemplo de EJB Simple</description> <enterprise-beans> <session> <display-name>Bean HolaMundo</display-name> <ejb-name>HolaMundo</ejb-name> <home>com.saludo.HolaMundoHome</home> <remote>com.saludo.HolaMundoRemote</remote> <ejb-class>com.saludo.HolaMundoBean</ejb-class> <session-type>Stateless</session-type> <transaction-type>Bean</transaction-type> </session> </enterprise-beans> </ejb-jar>07/05/2012 Página 7
  • 8. Desplegando el Bean en el servidor 1 Vamos a la pestana de servidores (Window->Show view->servers). Hacemos click con el boton derecho del raton sobre el servidor que configu- ramos antes JBoss 7.1 Runtime Server y hacemos click en Add and remove… Anadimos nuestro proyecto al servidor:07/05/2012 Página 8
  • 9. Desplegando el Bean en el servidorComprobar que el Bean ha sido desplegado correctamenteAhora veamos si el Bean ha sido desplegado correctamente. Iniciamos el servidor desde fuera de Eclipse eje-cutando C:JBossbinstandalone.bat y entramos en el panel de administracion desde el navegador local-07/05/2012 Página 9
  • 10. Creación de la aplicación cliente 1 Creamos un nuevo proyecto File->New Application Client Project. Lo llamamos Cliente y seleccionamos las siguientes opciones: 2 Anadimos la librería de cliente de jboss (c:jbossbinclientjboss- client.jar). Para ello pulsamos el boton derecho del raton encima del nombre de nuestro proyecto en el Project Explorer de Eclipse y seleccionamos Build Path-> configure build path… Anadimos la librería como external jar. En la pestana Projects anadimos el proyecto que creamos antes, el del Bean (es necesario que el proyecto este abierto en Eclipse para que se pueda incluir).07/05/2012 Página 10
  • 11. Creación de la aplicación cliente 3 Ahora creamos una clase que se llame BeanCliente dentro del paquete com.saludo y escribimos el siguiente codigo: package com.saludo; import java.util.Properties; import javax.naming.Context; import javax.naming.InitialContext; import javax.rmi.PortableRemoteObject; import com.saludo.HolaMundoHome; import com.saludo.HolaMundoRemote; public class BeanCliente { public static void main(String ar[]) throws Exception { String JBOSS_CONTEXT="org.jboss.naming.remote.client.InitialContextFactory";; Properties props = new Properties(); props.put(Context.INITIAL_CONTEXT_FACTORY, JBOSS_CONTEXT); props.put(Context.PROVIDER_URL, "remote://localhost:4447"); props.put(Context.SECURITY_PRINCIPAL, "cliente"); props.put(Context.SECURITY_CREDENTIALS, "cliente0123"); Context context = new InitialContext(props); HolaMundoRemote remote=(HolaMundoRemote)context.lookup("//HolaMundoBean/HolaMundo!com.saludo.HolaMundoRemote"); String a = (String)remote.saludo("paco"); System.out.println(a); } }07/05/2012 Página 11
  • 12. Creación de la aplicación cliente 4 Creamos un archivo en el proyecto que se llame jboss-ejb-client.properties y escribimos dentro el siguiente codigo: endpoint.name=client-endpoint remote.connectionprovider.create.options.org.xnio.Options.SSL_ENABLED=false remote.connections=default remote.connection.default.host=localhost remote.connection.default.port = 4447 remote.connection.default.connect.options.org.xnio.Options.SASL_POLICY_NOANONYMOUS=false remote.connection.default.username=cliente remote.connection.default.password=cliente012307/05/2012 Página 12
  • 13. Ejecución 1 Iniciamos JBoss c:JBossbinstandalone.bat 2 Ejecutamos la aplicacion cliente desde Eclipse como una aplicacion normal de java 3 Deberíamos obtener el siguiente resultado07/05/2012 Página 13