Primero de todo tienes que configurar Eclipse con JBOSS como tu servidor de aplicaciones.
Por eso, ves a esta p�gina: http://www.eclipse.org/downloads/index.php y descarga el paquete binario del editor Eclipse. Puedes descargar el paquete apropiado para tu plataforma. Este tutorial se desarroll� utilizando Linux (Red Hat 8.0) como sistema operativo.
Nota:
Eclipse no incluye en entorno de ejecuci�n Java (JRE). Necesitar�s como m�nimo tener instalada una versi�n 1.3 del JDK en tu m�quina. |
Ahora descomprime este fichero en tu directorio home.
[vishal@localhost eclipse]$ unzip eclipse-SDK-2.1-linux-gtk.zip Archive: eclipse-SDK-2.1-linux-gtk.zip Archive: eclipse-SDK-2.1-linux-gtk.zip inflating: eclipse/plugins/org.eclipse.core.boot_2.1.0/boot.jar inflating: eclipse/plugins/org.eclipse.core.boot_2.1.0/splash.bmp inflating: eclipse/plugins/org.eclipse.core.boot_2.1.0/boot.xml inflating: eclipse/plugins/org.eclipse.core.boot_2.1.0/plugin.properties ----------------------------------------------------------------------------- ---------------------------------------------------------------------------- ------------------------------------------------------------------------- inflating: eclipse/install.ini inflating: eclipse/startup.jar inflating: eclipse/readme/readme_eclipse.html
Una vez que lo hayas descomprimido tendr�s un directorio llamado eclipse en tu directorio home. Entra en ese directorio y ejecuta el fichero de script llamado eclipse:
[vishal@localhost eclipse]$ cd eclipse [vishal@localhost eclipse]$ ls cpl-v10.html features install.ini plugins startup.jar eclipse icon.xpm notice.html readme workspace [vishal@localhost eclipse]$ ./eclipse
Esto ejecutar� el IDE en tu ordenador. Familiar�zate con este entorno:
�Instalar JBOSS
Ahora que Eclipse ya est� instalado y en funcionamiento, instalemos JBOSS.
Puedes descargar JBOSS listo para ejecutarse. Como JBOSS viene con una sencilla base de datos embebida (Hypersonic) y un servidor Web (JBossWEB o Tomcat) puedes utilizarlo sin ninguna configuraci�n inicial. Las descargas se pueden realizar desde la p�gina del proyecto JBOSS en http://sourceforge.net/projects/jboss, donde siempre podr�s encontrar descargas actualizadas, o desde la p�gina de JBOSS, donde podr�s encontrar informaci�n �til sobre JBoss, la oficial, forums, informaci�n del proyecto, etc., y tambi�n la p�gina de descarga http://www.jboss.org/downloads.jsp. Para este tutorial hemos utilizado la versi�n JBOSS-3.2.1 con el servidor HTTP interno JBOSSWeb Jetty.
Primero entra como root en tu Linux y descomprime este fichero en alg�n lugar apropiado donde tengas suficiente espacio. Yo lo tengo bajo el directorio /opt/jboss/.
Esto crear� un directorio llamado jboss-3.2.1 bajo /opt/jboss/
Antes de ejecutar JBOSS para comprobar su correcta instalaci�n, debes asegurarte de que has configurado correctamente las siguientes variables de entorno:
JBOSS_HOME: /opt/jboss/jboss-3.2.1 JAVA_HOME: /usr/java/j2sdk1.4.1_02 CLASSPATH: /usr/java/j2sdk1.4.1_02/lib/tools.jar
Ahora ve al directorio /opt/jboss/jboss-3.2.1 y tendr�s estos directorios:
[root@localhost jboss-3.2.1]# ls bin client docs lib server
Entra en el directorio bin y encontrar�s un script llamado run.sh. Ejec�talo desde la l�nea de ocmandos. Si tienes suerte, arrancar� y ver�s el siguiente mensaje:
15:12:59,876 INFO [Server] JBoss (MX MicroKernel) [3.2.1 (build: CVSTag=JBoss_3_2_1 date=200305041533)] Started in 59s:676ms.
Para asegurarte de que JBOSS est� funcionando correctamente, arranca tu navegador web y ponle esta direcci�n:
http://localhost:8080/jmx-console/index.jsp
Si puedes ver esta p�gina en tu navegador, es porque JBOSS se est� ejecutando en tu m�quina.
Observa que en esta p�gina bajo la sub-cabecera jboss hay un enlace a service=Hypersonic. Pulsa ese enlace y traer� una p�gina MBean View. En esta p�gina hay una operaci�n MBean llamada startDatabaseManager; ve a ella y pulsa el bot�n Invoke. Esto traer� la consola de la base de datos Hypersonic, desde aqu� puedes acceder a los esquemas y otras operaciones de control de la base de datos.
Nota del Traductor:
Si has instalado una versi�n de JBOSS posterior a la 3.2.1 no te aparecer� el enlace a service=Hypersonic; (en las �ltimas versiones de JBOSS, �ste viene configurado, por motivos de seguridad, para que no se pueda acceder la base de datos mediante TCP-IP). Para activar la conexi�n TCP-IP de la base de datos sigue estos pasos:
|
�Crear el Esquema de la Base de Datos
Como mencionamos en la p�gina anterior, el esquema de nuestro inventario est� compuesto de cinco relaciones. Cargaremos este esquema en la base de datos interna Hypersonic:
Para hacer esto, utilizaremos los siguientes ficheros de script:
- myStoreSchema.script - para crear el esquema de la base de datos.
- myStoreSchema.data - para rellenar las tablas con datos.
- myStoreSchemaDrop.script - para limpiar/borrar todas las tablas utilizadas en el tutorial.
Primero copia estos tres ficheros al directorio $JBOSS_HOME/server/default/data/hypersonic/. En este ejemplo est� en /opt/jboss/jboss-3.2.1/server/default/data/hypersonic/
Ahora accede al HSQL Database Manager utilizando la consola JMX-Management Console que has visto arriba.
Nota:
Por favor, borra/elimina cualquier tabla existente en la base de datos que pueda tener los mismos nombres, o naturalmente obtendr�s errores cuando ejecutes los scripts. |
En el men� File del SQL Database Manager selecciona Open Script.. y selecciona el script myStoreSchema.script.
Despu�s de pulsar Open pulsa sobre Execute SQL Statement y aparecer� la siguiente pantalla:
Ve a Go to View > Refresh Tree. Si puedes ver las cinco nuevas tablas es que tu esquema est� listo, y es hora de rellenarlo con datos.
Ve a Go to File > Open Script.. > selecciona myStoreSchema.data y pulsa Open.. > Execute SQL Statement.
Ahora tus datos est�n cargados en la base de datos, para poder verificarlo s�lo ejecuta cualquier consulta para ver resultados como estos:
Asegurate de 'aceptar' (Options->commit) para grabar tu esquema en la base de datos.
Nota:
Apaga el servidor JBOSS ya que posteriormente los ejecutaremos desde dentro de Eclipse |
�Instalar Lomboz
Para poder ejecutar JBOSS desde dentro de Eclipse necesitar�s un plug-in, y para este tutorial hemos utilizado Lomboz que est� disponible en http://sourceforge.net/projects/lomboz o en http://www.objectlearn.com/index.jsp.
Nota:
Para este tutorial hemos utilizado el paquete lomboz.21_02.zip. |
Ahora descomprime este fichero en un directorio temporal; tendr�s un directorio llamado plugins. Ve al directorio plugins/com.objectlearn.jdt.j2ee/servers. Este directorio contiene ficheros de configuraci�n para varios servidores. Para este tutorial puedes utilizar este: jboss321all.server.
Nota:
Si hay varios ficheros de configuraci�n, el plug-in adoptar� el primer fichero de configuraci�n que haya dentro del directorio eclipse/plugins/com.objectlearn.jdt.j2ee/servers/, en orden alfab�tico, por eso renombra todos los ficheros de configuraci�n con la extensi�n .bak. Esto es s�lo para evitar resbalones mientras aprendemos. |
Ahora copia el fichero jboss321all.server al directorio servers:
cd plugins/ [vishal@localhost plugins]$ ls com.objectlearn.jdt.j2ee [vishal@localhost com.objectlearn.jdt.j2ee]$ cd servers [vishal@localhost servers$ ls jboss244.server.bak jboss303Tomcat4112.server.bak jboss300all.server.bak jboss321all.server tomcat403.server.bak weblogic70.server jboss300.server.bak tomcat410.server x.log
Aqu� puedes ver un fragmento del fichero jboss321all.server utilizado para la configuraci�n:
Puedes modificar las distintas configuraciones de este fichero de acuerdo a tu entorno (por ejemplo, el n�mero de puerto).
Una vez que has grabado este fichero bajo el directorio com.objectlearn.jdt.j2ee/servers, copia el directorio com.objectlearn.jdt.j2ee bajo el directorio $HOME/eclipse/plugins/, donde $HOME es tu directorio home.
[vishal@localhost temp/plugins] mv com.objectlearn.jdt.j2ee /home/vishal/eclipse/plugins/.
�Configuraci�n de Lomboz
Ahora ejecuta Eclipse para configurar Lomboz en $HOME/eclipse/eclipse.
Ve al m�n� Windows > Open Perspective > Java como se ve en la siguiente figura:
Ve de nuevo al men� Window > Customize Perspective > Other.
Selecciona el sub-nodo Lomboz Actions.
Pulsa OK. Ahora tendr�s un nuevo icono en el men� superior parecido a este:
Pulsa sobre este icono y tendr�s una ventana Lomboz J2EE View en tu entorno:
Ahora ya est� disponible la vista Lomboz J2EE. Ve a Window > Customize Perspective. Selecciona File > New sub node. Selecciona todos los nodos que empiecen con Lomboz.
Selecciona Window > Show view. Seleciona Console, Se mostrar� la vista Lomboz J2EE y otras m�s como se ve en la figura:
Ahora pulsa OK. Tendr�s todas estas opciones bajo File > New > y aparecer� el men� Lomboz, o pulsando con el bot�n derecho en el Package Explorer aparecer� un men� desplegable.
�Configurar JBOSS para ejecutarlo desde dentro de Eclipse
Primero tenemos que configurar la selecciones de desarrolo Java, porque Lomboz requiere diferentes directorios para los c�digos fuente y binario.
Ve a Window > Preferences > Java > New Project.
Introduce src y bin como nombres de esas carpetas, que ser�n por defecto. Por favor, no modifiques estos nombres ya que son necesarios para algunas de las tareas de Lomboz.
Tambi�n debes asegurarte de que la variable de entorno JRE_LIB apunta a la librer�a JRE.
Ve a Window > Preferences.
Ve al nodo Lomboz bajo la ventana Preferences. Asegurate de que la variable Tools.jar est� seleccionada a $JAVA_HOME/lib/tools.jar.
Ve al sub-nodo server definitions bajo el nodo Lomboz. Selecciona JBOSS 3.2.ALL bajo Server types y el resto de las opciones se rellenar�n despu�s de cargar el fichero de configuraci�n del servidor creado para este tutorial: jboss321all.server.
Ahora, bajo Server Definitions, ve a Classpath y asegurate de que todos los paths son correctos. Si hay una mala selecci�n de un path, se mostrar� un cruz roja sobre los iconos jar en la subsecci�n Server libraries / Client libraries.
Desde aqu� se pueden a�adir o eliminar librer�as. Asegurate de pulsar Apply para aceptar todos los cambios antes de alterar cualquier opci�n.
Ahora verifica tus variables de classpath.
Ve a Window > Preferences > Java > Classpath Variables:
Configura todas estas variables del Classpath de acuerdo a tu entorno.
�Probar tu Configuraci�n
Crear un proyecto J2EE de prueba para probar tu configuraci�n.
Ve a File > New > Lomboz J2EE Project.
Introduce Test como nombre de proyecto y pulsa Next.
Chequea aqu� tu configuraci�n; si tienes Test/src en la carpeta build path y Test/bin en default output est� todo bien.
Ahora pulsa en la pesta�a Libraries en el Project Creation Wizard. Debido a Bug en Eclipse 2.1 est� librer�a est� mal configurada. Por eso, seleccionala y eliminala.
Ahora a�ade una nueva librer�a > Add Library.. > Selecciona JRE System library > Next.
Selecciona Default library y pulsa Finish y la nueva librer�a estar� configurada.
Nota:
Tendr�s que repetir este paso siempre que crees un nuevo proyecto J2EE, debido al bug en Eclipse 2.1 |
Ahora pulsa Next, ve a Web Module > Add.. >, introduce como Module Name OnlineBank y pulsa OK.
Ve a la pesta�a Ejb Modules, pulsa Add.. >, e introduce MyBank como Module Name y luego pulsa OK.
Ve a Targeted Server > Add.. > 'JBOSS 3.2.1 ALL'.
Nota:
JBOSS 3.2.1 ALL no es el nombre del fichero, sino el nombre asignado al servidor en el fichero jboss321all.server utilizado para su configuraci�n. <serverDefinition name="JBOSS 3.2.1 ALL" ejbModules="true" |
Pulsa Finish. Ahora tendr�s todos estos directorios y librer�as bajo el directorio Test en el Package Explorer.
- src es el directorio donde estar�n todos los paquetes para componentes EJB y servlets.
- MyBank es el directorio para tu m�dulo EJB y empezar� con 7 ficheros como se ve en la siguiente figura.
- OnlineBank es el directorio para tu m�dulo Web y de inicio contendr� 6 ficheros. Tus p�ginas JSP estar�n bajo este directorio en este m�dulo.
Nota:
Si est�s interesado en Ant (del proyecto Jakarta) observa que �mbos m�dulos tienen un fichero build.xml que Ant utiliza para construir la aplicaci�n. |
Ahora ve a Window > Show View > Lomboz J2EE View. La vista Lomboz J2EE tendr� un proyecto Test con dos m�dulos MyBank y OnlineBank que utilizan JBOSS 3.2.1 como su servidor por defecto:
Es la hora de crear un EJB; ve a File > New > Lomboz EJB, a�ade un nombre de paquete au.com.tusc; a�ade MySession en Name. Selecciona la opci�n Stateless Session EJB.
Esto crear� un fichero llamado MySessionBean.java en el paquete au.com.tusc como se observa en la siguiente figura.
Nota:
Esto generar� el nombre del bean, el nombre JNDI y el tipo del bean. Al nombre del fichero tambi�n se le ha a�adido la palabra Bean, ya que s�lo dimos el nombre MySession. Debes ser cuidadoso con las convenciones de nombrado, ya que s�lo necesitas el nombre del bean en el wizard. No a�adas la palabra Bean al nombre ya que el wizard lo hace por t�. |
Ahora a�adiremos un m�todo de negocio mediante el wizard:
Ve al fichero MySessionBean.java en la ventana Package Explorer y exp�ndelo, pulsa con el bot�n derecho sobre el nodo MySessionBean como se muestra en la siguiente figura, selecciona New > Lomboz EJB Method wizard. En la firma del m�todo pon public String learnJ2EE(String messg), selecciona el tipo de m�todo como Business Method y el Interface Type como Remote Interface.
Esto generar� la firma requerida para tu m�todo de negocio en tu clase bean. Ahora a�ade esta l�nea al m�todo:
/** * @ejb.interface-method * tview type="remote" * **/ public String learnJ2EE (String messg) { return "Me too! " }
Graba el fichero. Ahora generaremos el resto de ficheros requeridos para desplegar este Bean (Interfaces Home y Remote junto con las clases de ayuda utilizando Xdoclet).
Primero a�ade este bean al m�dulo: Ve a Package Explorer > Test > MySessionBean.java > MySessionBean, pulsa en �l con el bot�n derecho y aparecer� un men�. Ve a Lomboz J2EE en ese men�, y selecciona Add EJB to module'.
Ve a Package Explorer > Test > MyBank (que es un directorio) pulsa con el bot�n derecho sobre �l, aparecer� un men�. Ve a Lomboz J2EE en ese men�, y selecciona Generate EJB classes. Esto generar� los interfaces necesarios, las clases de ayuda y los ficheros relacionados con el despliegue; es decir, los descriptores de despliegue:
Crear� un nuevo directorio llamado ejbsrc, que tendr� un nuevo paquete llamado au.com.tusc, y bajo este los interfaces remoto y home, junto las clases de ayuda necesarias.
Nota:
No editar�s ninguno de los ficheros generados por Xdoclet bajo el directorio ejbsrc en ning�n momento de este tutorial. Porque cada vez que utilizas la opci�n Generate EJB Classes, generar� los interfaces y las clases de ayuda necesarias que hemos mencionado arriba. Estos ficheros los genera Xdoclet, despu�s de analizar tus clases bean, que se han creado en el wizard de Lomboz. Xdoclet mira las distintas etiquetas y m�todos declarados en la clase bean y genera los ficheros adecuados. Como resultado, s�lo tienes que a�adir los m�todos de negocio y sus respectivas implementaciones en la clase bean, y el resto se lo dejas a Xdoclet. Por eso, en ning�n momento del desarrollo necesitar�s (y no deber�s) editar cualquier fichero generado. Lo ver�s m�s claro seg�n avances por el tutorial. |
Debajo del directorio MyBank > META-INF tambi�n encontrar�s 15 ficheros, que incluyen ejb-jar.xml, jboss.xml y ejb-generate.xml. Inicialmente hab�a 6 ficheros; estos nuevos ficheros extras son necesarios para desplegar el bean:
Ahora despleguemos este bean sin entrar en m�s detalles del despliegue. Ve a la vista Lomboz J2EE en tu espacio de trabajo y expande Test > y luego MyBank. Habr� a�adido au.com.tusc.MySessionBean a tu m�dulo MyBank EJB. Pulsa con el bot�n derecho en el icono JBOSS 3.2.1 ALL como se muestra en la siguiente figura.
Aparecer� un menu; selecciona la opci�n Debug Server. Arrancar� el servidor en modo Debug y despu�s de arrancarlo mostrar� este mensaje en la consola bajo tu espacio de trabajo:
Ve a la vista Lomboz J2EE View >, expande Test >, selecciona MyBank y pulsa en �l con el bot�n derecho; a parecer� un men�; selecciona la opci�n Deploy:
Una vez desplegado el bean, en la consola ver�s un mensaje que lo confirma:
Ahora crearemos un cliente para acceder a este bean desplegado en el servidor de aplicaciones JBOSS. Ve a Package Explorer > Test > src, pulsa con el bot�n derecho y aparecer� un men�; selecciona EJB Test client. Introduce test como nombre de paquete y Client como nombre de cliente:
Selecciona EjbHome como MySessionHome y Ejb Interface como MySession. Finaliza como se muestra en la figura:
Ahora que hemos generado el cliente, es hora de llamar a los m�todos de negocio del bean desplegado. Necesitamos alg�n c�digo para llamar al m�todo del bean:
Teclea estas l�neas en el m�todo testBean():
public void testBean() { try { au.com.tusc.MySession myBean = getHome().create(); //-------------------------------------- //This is the place you make your calls. //System.out.println(myBean.callYourMethod()); String request = "I'm tired of 'Hello, world' examples.."; System.out.println("Request from client : " + request); System.out.println("Message from server : " + myBean.learnJ2EE(request) ); } catch (RemoteException e) { e.printStackTrace(); } catch (CreateException e) { e.printStackTrace(); } catch (NamingException e) { e.printStackTrace(); } }
Ahora selecciona Client dentro del Package Explorer. Ve al men� superior y pulsa sobre el bot�n con este icono:
En este icono ve a > Run as > Java Application.
Tu cliente va a realizar un petici�n y los resultados se mostrar�n en la consola del espacio de trabajo, de esta forma:
Nota:
Ignora las excepciones, que s�lo indican que te falta org.apache.log4j.Property en la path del cliente. Cubriremos esto m�s adelante ya que no afecta a la funcionalidad del bean. |
Has creado un bean y has podido realizarle una petici�n, Enhorabuena!!