lunes, 28 de abril de 2008

Seam 2

Aunque aún no hay anuncio oficial de JBoss, ya puedes descargarte la segunda versión de este framework para creación de aplicaciones web en java. Para los que no lo conozcan, Seam es un producto creado por Gavin King el creador de Hibernate y que busca la creación rápida de aplicaciones web java. Para ello utiliza una herramienta llamada seam-gen que te genera a partir de tablas en una base de datos una aplicación CRUD (create, read, update, delete) totalmente funcional con tecnologías estándar de JEE como JSF para la vista, EJB3 para la lógica del negocio y JPA para la persistencia y tecnologías de JBoss como Hibernate Validation o JBoss jBPM para definir el flujo de tu aplicación.

En esta nueva versión encontrarás las siguientes características:

  • Seam WS que permite que un componente Seam sea un servicio web
  • Creación de componetes Seam con Groovy
  • Independencia de JSF, por lo que en teoría puedes usar cualquier otro framework web para tu capa de vista
  • Soporte para Google Web Toolkit
  • Integración con Hibernate Search
  • Soporte para transacciones no JTA
  • Integración de Ajax4JSF

Esta sacado de javaHispano

Guia JBoss Seam

Descargas necesarias:

Eclipse for Java EE Developers (segunda entrada)
http://www.eclipse.org/downloads/


Intenta descarga las ultimas GAs en la pagina de JBoss.

JBoss Seam 2.0.X
http://labs.jboss.com/jbossseam/download/index.html

And the JBoss Application Server 4.2.X
http://labs.jboss.com/jbossas/downloads/

Necesitarás una Base de Datos(BD), uaremos MySQL. Descargate los JDBC Driver.
http://dev.mysql.com/downloads/connector/j/5.0.html

Extrae estos archivos donde quieras pero ten en cuenta no usar espacios " " u otros carateres especiales “áä”.

En este ejemplo se usara la ruta “C:\Development”. Crea una nueva carpeta de WorkSpace (WS) aquí.

Ahora los ficheros quedaran tal que así:


Descarga e instalación de la BD.

Descargate la MySQL Database de esta página:

http://dev.mysql.com/downloads/mysql/5.0.html

Ahora necesitamos echar a andar nuestra BD.

Ejecuta el setup y usa la instalación "typical". Al final de la configuración del setup de MySQL server, elije "Standard Configuration". No cambies nada en las próximas ventanas. Ahora ponle un nombre al roor y su contraseña para esta BD. En este ejemplo se usará "mysql". Pasa a la siguiente ventana y termina el proceso.

Setup de JBoss Seam y crear un nuevo proyecto.

Necesitarás crear un nuevo proyecto Seam. Para ello:

Introduce en el símbolo del sistema (Tecla de Windows +R-> introduce "cmd"):
Diríjete a “C:” y muevete hasta el directorio del JBoss Seam
“cd C:\Development\jboss-seam-2.0.X.GA”. (recuerda comprobar al version y la ruta donde lo tienes guardado)

Ahora es tiempo de ejecutar el setup.

Tipo: “seam setup”

Seam nos da la bienvenida pero quiere saber algunas cosas sobre nuetro proyecto.


Introduce la ruta de tu WorkSpace. En este caso usaremos el siguiente:
“C:\Development\workspace”

Introduce el directorio donde esta el JBoss Application Server
“C:\Development\jboss-4.2.2.GA”

Dale un nombre al proyecto:
“MyFirstSeamProj”

RichFaces estan bien. Pulsa intro.

El BlueSky también esta bien. Pulsa intro.

EAR, tambiém. Pulsa intro.

Introduce el nombre del paquete de tu sesion de Beans.

“com.mydomain.MyFirstSeamProj.session”

Introduce el nombre del paquete de las "entities" de los Beans.

“com.mydomain.MyFirstSeamProj.entity”

El paquete de test está bien. Intro.

Este caso usaremos como BD MySQL, así que introduciremos “mysql”.

Los Dialect están bien. Intro.

Ruta del JDBC driver. En este caso son:

“C:\Development\mysql-connector-java-5.0.8\mysql-connector-java-5.0.8-bin.jar”

Estos son las clases de los drivers, Pulsa intro.

Introduce la conexión URL de la BD.

En este caso usaremos el test en la BD MySQL.

“jdbc:mysql://localhost:3306/test”

El nombre de usuario “root” y la contraseña “mysql”.

No hay catalogo de DBen este caso. Intro.

No hay tablas hechas. Intro.

Deseo mantener las tablas. Enter.

El setup ha terminado. Fue mucho trabaho, así que.. donde está el proyecto?
Aun no hay proyecto. Introduce en la consola del sistema:

Enter “seam create-project”

Aquí lo tienes!

Suficiente consola por el momento....


Empezar con Eclipse

Empezamos con Eclipse y elegimos nuestro WS “C:\Development\workspace”.

Cierra la pantaña de bienvenida (si aún no lo has hecho)

Crea un nuevo proyecto java. File => New => Project.. => Java => Java Project

Elije “Create project from existing source” e introduce la ruta de tu proyecto Seam “C:\Development\workspace\MyFirstSeamProj”.

Introduce el mismo nombre “MyFirstSeamProj” y pulsa “Finish”.



Añadiremos la pestaña de servidores, para ellos pulsamos en Windows-> Show View -> Other y escribimos server y seleccionamos la que se llama "servers"

Ahora selecciona la pestalla de “Servers”. Botón derecho y seleccionamos "new".

Eleji JBoss v4.2. Introduce el directorio donde tienes guardado tu JBoss “C:\Development\jboss-4.2.2.GA”, luego “Finish”.

Arranca el servidor pulsando “Start”.

Abre el proyecto, boton derecho en el archivo build.xml y pulsa "Run as" -> "ant build".

Un error a ocurrido! Porqué? La ventana de archivos del sistema no quiere un fichero y un directorio con el mismo nombre.



Paramos el server.

Abrimos el explorador y vamos a :“C:\Development\jboss-4.2.2.GA\server\default\deploy” y borramos nuestro ear MyFirstSeamProj.ear.

Lo intentamos otra ver. Encendemos el server. Esto va mejor.



Ahora es tiempo de abrir una página de nuestro proyecto Seam.

Abre el navegador e introduce: http://localhost:8080/MyFirstSeamProj/

Aquí lo tienes nuestro primer proyecto Seam.

Tener el ejemplo corriendo

Ahora es tiempo de probar un ejemplo del Seam. Vamos a usar el ejemplo de registrar.

Ve a “C:\Development\jboss-seam-2.0.1.GA\examples\registration”
Loa archivos están en “\src\org\jboss\seam\example\registration”

Copia Register.java, RegisterAction.java e insertalos en tu proyecto Eclipse src/action en el paquete “com.mydomain.MyFirstSeamProj.session”.

Otro error ocurrió! Bueno, es el mismo que antes, pero ahora nosotros tenemos una ventana adicional.

Es la ventana de sistema de windows otra vez.

Ve a “C:\Development\jboss-4.2.2.GA\server\default\deploy” vuelve a borrar el archivo ear “MyFirstSeamProj.ear”. El error se debe de haber solventado.

Vuelve al Eclipse y haz nuevos paquetes en “src/model” y nombralos “com.mydomain.MyFirstSeamProj.entity”. Copia “User.java” desde el ejemplo a este paquete.

Ahora debemos corregir la entrada del paquete en los ficheros fuente del proyecto de eclipse a “com.mydomain.My…”. En “RegisterAction.java” tienes que importar User desde “com.mydomain.MyFirstSeamProj.entity.User”. Guarda todos los ficheros.

Vuelve a la raíz del directorio del ejemplo de Registration y copia todos los archivos desde el view folder de tu proyecto eclipse y sobrescribe los que ya existan.

Usa el metodo deploy.

Abre tu navegador otra vez http://localhost:8080/MyFirstSeamProj/ .


El ejemplo de registrar esta ya funcionando.

Pero esta seguro que nada hay ido mal, para y enciende el servidor en eclipse otra vez.

Ahora puedes registrar usuarios ene el navegador y mira en tu BD con el query browser.


Esta guia a sido sacada de:
http://techieexchange.wordpress.com/2008/02/01/how-to-make-jboss-seam-work-with-eclipse-for-windows/ (inglés).