P. 1
JBoss RichFaces Capitulo 2 Preparacion

JBoss RichFaces Capitulo 2 Preparacion

|Views: 448|Likes:
Publicado porRonald Perez

More info:

Published by: Ronald Perez on Jan 18, 2012
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

11/25/2013

pdf

text

original

2

Preparación
En este capítulo, vamos a configurar y entender nuestro proyecto, a fin de estar listo para desarrollar una aplicación que utiliza el marco de RichFaces. A continuación te explicamos cómo crear un proyecto (tanto automática como manualmente) y los entornos de desarrollo integrado (IDE) que puede utilizar para aumentar su productividad durante el desarrollo. Vamos a hablar un poco acerca de otras tecnologías, como JBoss Seam y Facelets. Usted no tiene que saber nada de esto para entender este libro, pero le sugerimos que aprenda a medida que avanzamos ya que puede realmente aumentar su productividad.

Creación de un proyecto RichFaces JSF la forma más sencilla
Obviamente, podemos crear el proyecto desde cero con nuestro IDE preferido, pero es una tarea tediosa y larga, ya que tiene que establecer una gran cantidad de archivos de configuración y controlar todas las dependencias de las librerías. El método más conveniente de crear un nuevo proyecto es utilizar un IDE que soporta (el plugin de Jboss, por ejemplo Eclipse) o utilizar una herramienta como seam-gen. En la vida real, debe utilizar RichFaces, junto con otras tecnologías, como JBoss Seam, Facelets, JPA y así sucesivamente. La tarea de crear un proyecto completo y listo para ejecutarse (por diferentes IDEs) se hace muy bien con esta herramienta, que está incluido en la distribución de JBoss Seam. Aunque se puede configurar todo esto de manera manual (y vamos a ver cómo se hace esto más adelante en este capítulo), pero en el 90% de los proyectos "reales" éste un buen punto de partida, lo que significa que se ahorrará mucho tiempo. Seam-gen Recomendamos encarecidamente el uso de la seam-gen para la creación de su primer proyecto. Al usarlo, usted será capaz de crear "en segundos", un nuevo proyecto, que estará listo para implementar y se podrá abrir desde cualquier IDE tales como Eclipse, IntelliJ IDEA y NetBeans. Seam-gen crea un script ANT, archivos de configuración comunes y una estructura básica con soporte de plantillas Facelets. Además, se puede generar automáticamente las entidades de JPA de una base de datos utilizando la herramienta hbm2java Hibernate y una sencilla aplicación CRUD (altas, listados, cambios, bajas, utilizando el enfoque de Ruby on Rails), aunque no lo haremos en este momento.

JBoss Seam y RichFaces.Seam-gen utiliza RichFaces como la librería de componentes por defecto (tanto seam-gen y RichFaces son proyectos de JBoss) y se configuran automáticamente en el proyecto. como GNU / Linux o Mac OS X. introduzca el siguiente comando: . Vamos a utilizarlo y empezaremos rápidamente a concentrarnos en las características de RichFaces. no es una instalación real.gz) en su unidad de disco duro local Como puede ver. que usted tendrá que responder. Asegúrese de decir que no cuando se le pregunta use ICEFaces instead of RichFaces (no es la respuesta por defecto). vamos a desarrollar un ejemplo a partir de un proyecto de generado por seam-gen y vamos a ver el significado de cada pregunta./seam setup Seam-gen le hará algunas preguntas. Cuando la instalación esté completa. El proyecto que se va a desarrollar tiene soporte para EJB. Generación de un proyecto con seam-gen Crear un proyecto con la seam-gen es bastante simple. Descargue e instale seam-gen Seam-gen es una herramienta de línea de comandos y es muy sencillo de usar. vamos a descargarlo e instalarlo de la siguiente manera: • Ir a http://seamframework. Facelets. usted puede llamar a seam-gen nuevamente para crear el proyecto con el siguiente comando. navegar dentro de la directorio de JBoss Seam donde tienes descomprimido el paquete y lanzas el siguiente comando si está utilizando Microsoft Windows: seam setup Si usted está usando un sistema operativo tipo Unix como GNU / Linux o Mac OS X. En primer lugar. JSF (por supuesto!). Basta con abrir la ventana de terminal. JPA.org/Download y descargar la última versión de JBoss Seam (actualmente la version 2. y sí a la pregunta "Are you working with tables that already exist in the database?". . utilizar el siguiente comando: . porque seam-gen está incluido en el paquete de distribución de JBoss Seam. En el próximo capítulo. Todas las librerias se colocan dentro del directorio lib del proyecto generado y puede actualizarlas con sólo sobrescribirlos (véase más sobre esto en la sección: la actualización de las librerías RichFaces en un proyecto generado por seam-gen)./seam create-project Este comando crea un proyecto vacío con todo lo necesario para comenzar la codificación. si está utilizando Microsoft Windows: seam create-project Si usted está usando un sistema operativo tipo Unix. Si desea generar de las entidades de una base de datos existente.2) • Descomprimir el paquete zip (o tar.

jboss. utilice el siguiente comando: /seam generate-model Usted puede utilizar otros comandos para generar una aplicación CRUD.org/richfaces/download/stable. richfaces-api-3. quitando el número de versión (por ejemplo.Para generar las entidades JPA. Cambie el nombre de los archivos de librería. también puede consultar la documentación oficial de JBoss Seam. Aquí hay una captura de pantalla de la estructura del proyecto. se puede introducir el siguiente comando si está utilizando Microsoft Windows: seam generate-model Si usted está usando un sistema operativo tipo Unix. escriba el comando siguiente si está utilizando Microsoft Windows: seam help Si usted está usando un sistema operativo tipo Unix. Entra en el directorio lib de la directorio RichFaces que acaba de descomprimir.0.3.1. sobrescribiendo los antiguos. como podemos ver cuando se abre en Eclipse: . en http://docs.html. 5. Copie todos los tres archivos en el directorio lib de su proyecto. puede importarlos al espacio de trabajo) y está listo para ser editado a fin de aplicar las nuevas características. nuevas acciones./seam help Para obtener más información acerca de seam-gen.jar). Descomprima el paquete en su disco duro. Para obtener una lista completa de comandos.GA/reference/enUS/html/gettingstarted.html Los proyectos generados por seam-gen se pueden abrir utilizando el IDE preferido (o si usa Eclipse.GA se convierte en RichFaces-api. Descargue el último paquete ZIP de http://www. 3. Llame al programa ant con el fin de implementar las nuevas librerías en el servidor de aplicaciones. Actualización de las librerías RichFaces en proyecto generado por seam-gen Cada vez que se lanza una nueva versión del marco RichFaces.2.jboss. 4. 2. RichFaces (la versión bin) de Vista general de la estructura del proyecto Una vez que terminemos de utilizar seam-gen. como se muestra en los siguientes pasos: 1. utilice el siguiente comando: .org/seam/2. los formularios y así sucesivamente. 6. la actualización de su proyecto es muy simple. tenemos un proyecto completo para empezar a trabajar.

Se trata de la directorio de origen para los beans de sesión. podemos ver otros archivos en las pantallas anteriores. basta con agregarla aquí y luego agregar el nombre de la librería en deployed-jars-ear. Después de estos. src/hot. no tienes que preocuparte de eso). Si desea añadir una nueva librería. swf.list (dependiendo de si desea agregar a la librería en el paquete EAR o el paquete WAR). Contiene las clases compiladas (es usado por Eclipse.Usted notará que hay tres directorios de origen (src/main. se puede ver el archivo build. Contiene la información del proyecto para el IDE NetBeans. como archivos XHTML.xml (un script de . otros directorios. src/test /classes /lib /nbproject /src /view Además de estas directorios. Contiene todas las librerías del proyecto.list y deployed-jarswar. Es la raíz de los archivos web publicados y contiene todo el material relacionado con la web. and src/test) y otros directorios que se describe a continuación: Directorio src/main src/hot Descripción Contiene las clases del modelo (las entidades de la JPA que hemos visto). el archivo de proyecto para el IDE de IntelliJ Idea) y el archivo build.properties (para configurar el directorio principal de JBoss y el dominio donde se desplegará la aplicación). y todas las cosas que usted necesita para que funcionen sus aplicaciones web. los componentes de seam y todo lo que su proyecto necesita para poder controlar el modelo y la vista. imágenes. Esta es la directorio que contiene los archivos fuente (que están en la parte superior como directorios fuente).ipr (es decir. Contiene las clases de prueba. como el archivo AdvContactManager.

En el caso de seam 2. muchas de las ideas procedentes de seam se integrarán en la nueva especificación de Java EE (las principales características de SEAM estarán en un nuevo marco normativo llamado Web Beans JSR-299). algunas configuraciones de lanzamiento. Despliegue incremental en caliente El soporte para el despliegue en caliente. quitar o cambiar nombres de los métodos). ampliándolo y resolviendo los problemas de integración. Esto no es una gran limitación en el desarrollo.0 tiene muchas ideas de Facelets. pero es un medio de soporte para los componentes Seam de POJO. agregando muchas características nuevas y reduciendo los pasos de configuración. Seam tiene también tiene interesantes. funciones nuevas y le sugerimos que considere esta tecnología. Como un plus. soporte de depuración. agregar. pero se está trabajando para solucionarlo. el archivo de propiedades para la consola de Hibernate. Una de las cosas más importantes en el desarrollo de JSF es que SEAM proporciona un enfoque para integrar EJB y JSF en una solución limpia y consistente. no tiene que incluir el texto en la etiqueta f:verbatim. ya que realmente puede hacer lo que promete: se simplifica el uso de EJB y marcos JPA con JSF.xml. durante el desarrollo de una aplicación JSF. no puede hacer lo mismo con los componentes Enterprise Java Bean (EJB). Por lo tanto. Además de la integración de EJB y JSF. De hecho. la lista de despliegue de la librería que hemos visto. sólo tienes que definir el manejador de vista Facelets context-param (como hemos visto con soporte Facelets) y luego utilizar el filtro de seam sin configurar nada más. Soporte para Seam y Facelets JBoss Seam. RichFaces trabaja con Seam y Facelets. mejorando el rendimiento. páginas de error mejoradas (con la posición exacta del error) y varios componentes de gran utilidad. . la legibilidad y la productividad.xml que se encuentra en la directorio resources/WEB-INF/: <core:init debug="true"> Durante el modo debug. La especificación de JSF 2. tendrá que que reiniciar la aplicación para ver las modificaciones. y ver los cambios inmediatamente. Sin embargo. simplificando el desarrollo de aplicaciones empresariales. puede cambiar cualquier archivo de XHTML Facelets y pages. Los Facelets de código abierto son muy útiles ya que permiten el uso de XHTML en páginas web JSF. el uso y la comprensión de esta tecnología es una inversión para el futuro. se está volviendo muy popular. Mientras utilice Facelets. Se mantiene en la cima de Java EE 5. se puede activar en el modo debug en Seam y Facelets agregando la siguiente línea en el archivo components. ofrece un completo (y avanzado) sistema de plantillas.ANT que administra la fase de despliegue y otras acciones). el archivo seam-gen y el archivo de ANT para la tarea de validación. Desafortunadamente. la única limitación es que si cambia la firma del componente (por ejemplo. puede cambiar el contenido de los métodos de una clase e inmediatamente ver las modificaciones sin necesidad de reiniciar la aplicación. Además.

Facelets y JBoss RichFaces que da soporte al código fuente de la aplicación.Z.Y.org/jbossrichfaces/downloads/ (elija la versión bin).GA. que contiene los archivos de la librería JAR y tres directorios de documentación: • apidocs: Contiene el documento generado por javadoc sobre las clases de Java que vienen con la librería • tlddocs: Contiene documentación acerca de las etiquetas (y sus atributos). en el paquete estándar puede elegir entre un conjunto estándar de temas). vamos a descubrir la manera de integrar las librerías RichFaces manualmente en sus proyectos.Z. En esta sección.Y.Y. Usted encontrará la directorio lib dentro del paquete de distribución.jar Descripción Contiene todas las interfaces y las clases base del marco Contiene las clases de implementación del marco Contiene las clases de implementación de los componentes del marco .xml de JBoss Seam.Z.GA. el documento de migración y la guía de CDK De la misma dirección. Puede obtener el archivo web.jar richfaces-impl-X. Creación de un nuevo plugin de tema. que vienen con la librería (generado por la etiqueta generadora de documentación de librerías) • docs: Contiene la guía del usuario. también se puede utilizar con otros marcos).La aplicación en el mundo real de que vamos a desarrollar en los próximos capítulos utiliza las tecnologías JBoss Seam y Facelets (pero usted no tiene que saber éstos para entender el código.jar richfaces-ui-X. Agregar manualmente RichFaces a su proyecto JSF existente Agregar las librerías RichFaces a un proyecto existente es seguro y usted no verá ningún comportamiento diferente en el código no RichFaces existente. el documento de preguntas frecuentes.gz) desde http://www. ¿ Dónde colocar las librerías ? La primera cosa a hacer es (obviamente) agregar las librerías RichFaces en la directorio lib.GA. Configuración básica Esta sección explica cómo configurar un proyecto JSF básico a fin de dar el soporte de RichFaces manualmente.jboss. Descargar RichFaces La última versión de RichFaces puede descargarse como un archivo de paquete ZIP (o tar. Extraiga el archivo en su disco duro y listo. también se puede descargar ejemplos de temas para tener mas temas para su aplicación (sin embargo. vamos a ver cómo hacer más temas en el capítulo 9. Las librerías del marco son: Librería JAR richfaces-api-X.

Z. muestra la misma aplicación utilizando el tema darkX: .Las otras librerías opcionales son las pieles (usamos laguna en nuestro ejemplo) y son: • laguna-X.GA.jar Si usted desarrolla su propio tema. necesitará colocar el archivo JAR del tema en la ruta de su clase.jar • darkX-X.Y.Y.GA. Esta es una imagen de ejemplo de la aplicación web que vamos a desarrollar usando el tema laguna: La siguiente captura de pantalla.GA.Z. en cambio.Z.Y.jar • glassX-X.

Y el tema glassX como se muestra en la siguiente pantalla: .

Vamos a agregar clases RichFaces y configurar nuestra aplicación JSF utilizando un filtro estándar.GA.Y.CONTROL_SKINNING son los parámetros relacionados con el tema.Y.Filter</filter-class> </filter> <filter-mapping> .Y.Z.richfaces. tenemos que registrar y asignar el filtro RichFaces utilizando el código de configuración siguiente: <filter> <display-name>RichFaces Filter</display-name> <filter-name>richfaces</filter-name> <filter-class>org.jar • richfaces-impl-X.GA.Use RichFaces also for standard HTML controls --> <context-param> <param-name>org.Z.Y.richfaces.Z.xml.SKIN</param-name> <param-value>laguna</param-value> </context-param> <!-. estableceremos algunos parámetros de contexto (sólo tiene que añadir en el interior del elemento web-app): <!— Skin used by RichFaces --> <context-param> <param-name>org. El primer parámetro asigna el tema que RichFaces ha de usar y el segundo le dice el marco que se aplicará al tema de los controles estándar. el directorio EAR/lib puede contener la librería richfaces-api-X. Después de eso. En resumen.SKIN y org.GA.Z.GA. todas las librerías pueden permanecer en el directorio WEB-INF/lib. si su proyecto se implementa en un archivo de aplicación Web (WAR del inglés Web application ARchive).jar Paquete EAR Registro de RichFaces El segundo paso es el registro RichFaces agregando un poco de código de configuración al archivo web. tenemos la siguiente tabla: Implantado en Paquete WAR Insertar las librerías Las librerías RichFaces que se insertarán RichFaces dentro de <raíz war>/WEB-INF/lib/ • richfaces-api-X.Las librerías podrán permanecer en la directorio de clases.GA. Vamos a ver las otras opciones en los capítulos posteriores.jar • richfaces-ui-X.jar (Todas las librerías RichFaces ) <raíz ear>/lib/ richfaces-api-X.richfaces.Y.GA.jar <raíz ear>/<raíz • richfaces-impl-X.jar war>/WEB-INF/lib/ • richfaces-ui-X.richfaces.Z.CONTROL_SKINNING</param-name> <param-value>enable</param-value> </context-param> org.jar y los demás archivos podrían estar en WEBINF/lib del WAR contenida en el EAR. Si está implementando un (EAR del inglés Enterprise ARchive ).Y.Z.GA. En primer lugar.Z.ajax4jsf.Y.

VIEW_HANDLERS y el filtro de RichFaces lo manejará adecuadamente. Sólo tiene que configurar el parámetro de contexto org. Seam.ajax4jsf. . y puede agregar automáticamente RichFaces a sus proyectos JSF. Hibernate/JPA. Este es el código que tienes que insertar en el archivo web.ajax4jsf. RichFaces da soporte a Facelets sin ningún problema.facelets. Se agregan muchas de las características a Eclipse Web Tools Platform (WTP). también tiene todas las características de la plataforma Eclipse y la posibilidad de agregar diversos plugins en el mismo entorno de desarrollo. lo que hace la vida más fácil para aquellos que quieren utilizar esos marcos. Sin embargo. Por supuesto. usted no tiene mas que definir FaceletViewHandler en el archivo faces-confg.VIEW_HANDLERS</param-name> <param-value>com. Este es la versión de código completamente abierta y libremente descargables. pero es obvio que es mejor y más productivo tener un IDE que nos ayude a automatizar las tareas repetitivas. Herramientas Eclipse/JBoss JBoss Tools es una colección de plugins Eclipse hecha por JBoss para dar soporte a la mayoría de sus tecnologías. vamos a ver más sobre éstos en la siguiente sección). aunque hay soporte extra en los diferentres IDEs (tienen una versión de código abierto y una comercial. Con el fin de agregar a su proyecto.<filter-name>richfaces</filter-name> <servlet-name>Faces Servlet</servlet-name> <dispatcher>REQUEST</dispatcher> <dispatcher>FORWARD</dispatcher> <dispatcher>INCLUDE</dispatcher> </filter-mapping> Si usted está usando un nombre diferente para el servlet Faces.FaceletViewHandler</param-value> </context-param> Como puede ver.xml: <context-param> <param-name>org.VIEW_HANDLERS para decirle a RichFaces para utilizar el controlador de vista Facelet. acabamos de establecer el parámetro de contexto org. tales como RichFaces. Las plataformas soportadas son Windows. lo debe de cambiar.sun. de modo que los componentes de RichFaces se reconocen sin ningún problema. Linux y Mac OS X. Entornos Integrados de Desarrollo Puede codificar JSF a mano.xml como con la configuración estándar de Facelets. Los IDEs más populares dan soporte a las funcionalidades básicas de JSF.ajax4jsf. Además. JBoss Application Server y jBPM. como RichFaces es un producto de JBoss. El filtro de RichFaces puede ahora funcionar correctamente y ya se puede empezar a codificar utilizando sus componentes! Soporte a Facelets Como hemos dicho. dan soporte visual al desarrollo de componentes que pueden ser útiles en muchos casos.

y descargar la versión correcta de la plataforma que está utilizando (los enlaces están en el lado derecho de la tabla en la columna Download).0 GA). 2.org/tools/. para descargar Eclipse. así que. a continuación.org/tools/. Ir a la http://jboss. Dónde descargar y cómo instalarlo JBoss Tools es un conjunto de plugins Eclipse. todos los plugins. siguiendo estos sencillos pasos: 1. siguiendo las instrucciones de descarga. Hay una tabla con todas las versiones de Eclipse que se puede descargar. Mientras se descargan las herramientas JBoss. 4. 3. Stable Releases. es decir. haciendo clic en el enlace a la derecha de acuerdo a su plataforma. 7. haga clic en el enlace en la parte superior de la tabla (ahora el vínculo es Requires Eclipse Ganymede 3.Puede ver algo más en http://jboss. haga clic en la última versión ( actualmente es la versión 3. Usted puede hacer todo desde el sitio web de Herramientas de JBoss. Seleccione el menú Downloads. 5. Seleccione la primera. Usted será redirigido a una página con una lista de todos los plugins (también puede instalar un subconjunto de todos los plugins de distribución).4. . Se le redirige a la página web del proyecto Eclipse. Descargar el primero (el IDE de Eclipse para desarrolladores de Java EE). 6. a continuación. para instalarlo primero tenemos que instalar el IDE de Eclipse.2).

Usted está listo. Seleccione la directorio principal (directorio raíz) donde se encuentra el proyecto generado.Una vez que termine las descargas. entonces puede acceder a la página de inicio http://www. 6. puede importarlo a su área de trabajo. . Utiliza los mismo plugins como JBoss Tools. Abra el nodo del árbol General y seleccione la opción Existing project into Workspace. Las plataformas soportadas son Windows.com/products/devstudio. ahora inicie Eclipse entrando en la directorio y haciendo doble clic sobre el archivo ejecutable. Ahora haremos lo mismo con la directorio de plugins (copiarlo desde JBoss Tools a la instalación de Eclipse). Para instalar Eclipse. basta con descomprimir el paquete de Eclipse y copiar la directorio de eclipse en su ubicación final dentro de su unidad de disco duro y ya está. Importar un proyecto generado por seam-gen dentro de Eclipse Después de generar un proyecto con seam-gen. 2. JBoss Developer Studio ofrecen plug-in de Eclipse con soporte a las tecnologías de JBoss. 5. haciendo clic en el botón Browse. Copiar el contenido de la directorio de la directorio features de JBoss Tools hacia la directorio features dentro de la directorio de instalación de Eclipse. 3. Linux y Mac OS X. 2. El proyecto será seleccionado para la importación. También seleccione la casilla de verificación Copy projects into workspace si el proyecto no está en el directorio área de trabajo. También cuenta con un instalador que simplifica la fase de instalación (la instalación cuenta con un asistente paso a paso). 7. pero que hayan sido certificadas con cinco años por parte de RedHat (JBoss es una compañía de RedHat). Esta es una tarea muy simple que se muestra como sigue: 1. 3. JBoss Developer Studio es un producto comercial basado en una suscripción (pero es muy barato). 5. vamos a instalarlos: 1. si usted está usando Eclipse (con JBoss Tools o JBoss Developer Studio). Haga clic en el botón Finalizar. Seleccione la opción import en el menú file. usted tiene una directorio llamada eclipse que contiene dos directorios (es decir features y plugins). JBoss Developer Studio JBoss Tools. Si usted elige utilizarlo para desarrollar.jboss. 4. Ahora descomprima el paquete de JBoss Tools. 4. Su proyecto ahora ya está listo en su área de trabajo.

gz y ejecutar idea. como hemos visto es una tarea muy simple). La experiencia en desarrollo es muy buena. Hibernate / JPA.dmg. a . sólo basta con ir http://www.com/idea/.jetbrains. si está utilizando JBoss Seam y la seam-gen.exe y siga el asistente de instalación. Struts 2. Linux y Mac OS X. Struts. Tiene una licencia basada en productos comerciales (hay diferentes precios según el tipo de licencia) y se ejecuta en Windows. Spring. obtendrá soporte externo para este IDE. Usted puede encontrar más información al respecto en http://www.IntelliJ IDEA IntelliJ IDEA es un IDE comercial muy bueno que soporta muchas características (de J2SE a J2EE y más) y ofrece buenas herramientas para trabajar. etc. Dónde descargarlo y cómo instalarlo Instalar IntelliJ IDEA es realmente muy simple.com/idea/download/ y descargar la versión de su sistema operativo: • En Windows: Ejecute el archivo . Seam.sh dentro de la directorio descomprimida.jetbrains.) los cuales están bien integrados en la propia plataforma. • En Linux: Descomprimir el archivo tar. Si no se usa la seam-gen tiene que agregar y configurar el proyecto a mano para agregar el apoyo RichFaces (sin embargo. • En Mac OS X: Montar (haciendo doble clic) el archivo . Es compatible con muchos lenguajes y marcos (JSF. y copie a su directorio de aplicaciones.

aprendimos cómo configurar nuestro entorno para la creación de un proyecto sencillo. utilizando la herramienta de generación de seam. hemos visto la configuración manual para las librerías de RichFaces y empezó a manejar su IDE favorito. Además. el cual podemos utilizar mientras desarrollamos con este marco. vamos a crear un ejemplo sencillo para ver cómo todas estas cosas funcionan en la práctica.Resumen En este capítulo. En el próximo capítulo. . añadiendo soporte para Seam y Facelets.

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->