+ All Categories
Home > Economy & Finance > EJB con Eclipse y JBoss

EJB con Eclipse y JBoss

Date post: 20-Jun-2015
Category:
Upload: paco-garat
View: 12,588 times
Download: 1 times
Share this document with a friend
Description:
Creación de un Bean y una aplicación cliente con Eclipse y JBoss
Popular Tags:
13
07/05/2012 Página 1 EJB con Eclipse y JBoss Hola mundo Tutorial paso a paso de EJB con Eclipse y JBoss
Transcript
Page 1: EJB con Eclipse y JBoss

07/05/2012 Página 1

EJB con Eclipse y JBoss

Hola mundo

Tutorial paso a paso de EJB

con Eclipse y JBoss

Page 2: EJB con Eclipse y JBoss

07/05/2012 Página 2

Instalación de requisitos

Eclipse Indigo IDE for Java EE Developers

1 Nos descargamos

Eclipse Indigo IDE for Java

EE Developers de la si-

guiente direccio n:

http://www.eclipse.org/

downloads/

Descomprimir el contenido

del 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

Arrancamos el servidor ejecutando el

archivo C:\JBoss\bin\standalone.bat.

Escribimos en el navegador la siguiente

direccio n http://localhost:8080 Debe-

rí amos ver la siguiente pantalla.

Probar que el servidor está instalado correctamente

Page 3: EJB con Eclipse y JBoss

07/05/2012 Página 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 bu squeda. Instalamos

Jboss tools para indigo.

4 Vamos a pestan a de servidores (Window->Show View->Servers) y hacemos click en new server wizard

y lo configuramos con las siguientes opciones:

Page 4: EJB con Eclipse y JBoss

07/05/2012 Página 4

Creación de usuarios en el servidor

Usuario de administración

1 Creamos un usuario para la consola de administracio n. Para ello ejecutamos el script

c:\Jboss\bin\add-user.bat

2 Creamos otro usuario ejecutando otra vez el script c:\Jboss\bin\add-user.bat

Comprobamos la consola de administracio n. Abrimos el navegador y escribimos la siguiente direccio n:

http://localhost:9990. Ingresamos las credenciales del usuario que acabamos de crear:

Username: admin

Password: 0123

Consola de administración

Tipo de usuario: <a> Management user

Realm: La dejamos por defecto

Username: admin

Password: 0123

Usuario de aplicación

Tipo de usuario: <b> Application User

Realm: La dejamos por defecto

Username: cliente

Password: cliente0123

Page 5: EJB con Eclipse y JBoss

07/05/2012 Página 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:

2 Creamos una interface nueva dentro del paquete com.saludo y la llamamos HolaMundoHome. Escribimos

dentro el siguiente co digo e ignoramos los errores.

Interface Home

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;

Page 6: EJB con Eclipse y JBoss

07/05/2012 Página 6

Creación del Bean

Interface Remote

4 Creamos una segunda interface tambie n dentro del paquete com.saludo y la llamamos HolaMundoRemo-

te. Escribimos dentro el siguiente co digo:

Bean package com.saludo;

import java.rmi.RemoteException;

import javax.ejb.EJBException;

import javax.ejb.SessionBean;

import javax.ejb.SessionContext;

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 {}

}

5 Creamos una nueva clase

que llamaremos HolaMundo-

Bean y escribimos dentro el

siguiente co digo:

package com.saludo;

import java.rmi.RemoteException;

import javax.ejb.EJBObject;

public interface HolaMundoRemote extends

EJBObject{

public String saludo(String nombre) throws

RemoteException;

}

Page 7: EJB con Eclipse y JBoss

07/05/2012 Página 7

Creación del Bean

Descriptor de despliegue

6 Modificamos el descriptor de

despliegue. Para ello hacemos

click con el boto n derecho del ra-

to n sobre Deployment Descriptor:

HolaMundoBean en la pestan a Pro-

ject Explorer de Eclipse y seleccio-

namos Open with-> text editor.

<?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>

Escribimos el siguiente co digo:

Page 8: EJB con Eclipse y JBoss

07/05/2012 Página 8

Desplegando el Bean en el servidor

1 Vamos a la pestan a de

servidores (Window->Show

view->servers). Hacemos click

con el boto n derecho del rato n

sobre el servidor que configu-

ramos antes JBoss 7.1 Runtime

Server y hacemos click en Add

and remove…

An adimos nuestro proyecto al servidor:

Page 9: EJB con Eclipse y JBoss

07/05/2012 Página 9

Desplegando el Bean en el servidor

Ahora veamos si el Bean ha sido desplegado correctamente. Iniciamos el servidor desde fuera de Eclipse eje-

cutando C:\JBoss\bin\standalone.bat y entramos en el panel de administracio n desde el navegador local-

Comprobar que el Bean ha sido desplegado correctamente

Page 10: EJB con Eclipse y JBoss

07/05/2012 Página 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 An adimos la librerí a de

cliente de jboss

(c:\jboss\bin\client\jboss-

client.jar). Para ello pulsamos el

boto n derecho del rato n encima

del nombre de nuestro proyecto

en el Project Explorer de Eclipse

y seleccionamos Build Path->

configure build path… An adimos

la librerí a como external jar.

En la pestan a Projects an adimos

el proyecto que creamos antes,

el del Bean (es necesario que el

proyecto este abierto en Eclipse

para que se pueda incluir).

Page 11: EJB con Eclipse y JBoss

07/05/2012 Página 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 co digo:

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);

}

}

Page 12: EJB con Eclipse y JBoss

07/05/2012 Página 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 co digo:

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=cliente0123

Page 13: EJB con Eclipse y JBoss

07/05/2012 Página 13

Ejecución

1 Iniciamos JBoss c:\JBoss\bin\standalone.bat

2 Ejecutamos la aplicacio n cliente desde Eclipse como una aplicacio n normal de java

3 Deberí amos obtener el siguiente resultado


Recommended