JSP
JSP
JSP
Resumen
En esta ponencia se desarrolla una breve introduccin a la implementacin de
la tecnologa Java Server Faces (JSF), se indicarn los requisitos para su
utilizacin, as como las funcionalidades que ofrece.
La tecnologa Java Server Faces es un marco de trabajo de interfaces de
usuario del lado de servidor para aplicaciones Web basadas en tecnologa
Java. til con aplicaciones basadas en la arquitectura MVC (Model-ViewController).
Utiliza pginas JSP para generar las vistas, aadiendo una biblioteca de
etiquetas propia para crear los elementos de los formularios HTML.
Asocia a cada vista con formularios un conjunto de objetos java
manejados por el controlador (managed beans) que facilitan la
recoleccin, manipulacin y visualizacin de los valores mostrados en
los diferentes elementos de los formularios.
Introduce una serie de etapas en el procesamiento de la peticin, como
por ejemplo la de validacin, reconstruccin de la vista, recuperacin de
los valores de los elementos, etc.
Utiliza un sencillo fichero de configuracin para el controlador en formato
XML.
Es extensible, pudiendo crearse nuevos elementos de la interfaz o
modificar los ya existentes.
Y lo que es ms importante: forma parte del estndar J2EE. En efecto,
hay muchas alternativas para crear la capa de presentacin y control de
una aplicacin web java, como Struts y otros frameworks, pero solo JSP
forma parte del estndar.
NetBean.
Eclipse.
MyEclipse.
JDeveloper.
Implementando JSF junto con ADF (es un framework comercial de Java para la
creacin de aplicaciones empresariales. Es una herramienta del tipo RAD que
se basa en patrones de diseo listos para usar), encontramos un sin nmero de
componentes listos para trabajar en flujo constante y gil con bases de datos.
2.1. Riesgos.
Antes de comenzar el desarrollo con JSF debemos conocer aquellos puntos
que nos pueden perjudicar y hacer ms largo el desarrollo de lo realmente es
necesario. Con la poca experiencia que tengo en el tema e indagando, se
pueden mencionar los siguientes puntos:
Utilizar el alicate para clavar. JSF es una herramienta y como tal tiene
una forma de uso. Si nos empeamos en seguir desarrollando las
pginas como siempre, intentando adaptar JSF al modo al que
habitualmente desarrollamos en vez de adaptarnos a JSF
complicaremos el desarrollo
Abuso del javascript. JSF permite utilizar javascript para hacer ms
rpida una pgina HTML, evitando peticiones al servidor. Sin embargo la
introduccin de javascript en la pgina complica y alarga los desarrollos
con JSF, y en general con jsp. La capa javascript aade etapas
adicionales a la aplicacin, que hace ms difcil su depurado. Un
consejo: la pgina debera poderse ejecutar sin prdida de funcionalidad
(slo de rendimiento si se desactiva el javascript).
La maquetacin compleja tambin complica el desarrollo ya que obliga a
utilizar muchas etiquetas y atributos, especialmente en los datatables. Si
la maquetacin de nuestras pginas es compleja deberamos pensar en
crear componentes JSF a medida que simplifiquen dicho trabajo.
Las aplicaciones JSF estn formadas por los siguientes elementos principales:
Pginas JSP que incluyen los formularios JSF. Estas pginas generarn
las vistas de la aplicacin
Beans java que se conectan con los formularios JSF
Clases java para la lgica de negocio y utilidades.
Ficheros de configuracin, componentes a medida y otros elementos del
framework.
Resto de recursos de la aplicacin web: recursos estticos, java script y
otros elementos.
3. Estructura de JSF.
3.1. Los Backbeans.
A las clases java que se asocian a los formularios JSF se les denomina
backend beans ya que son los beans (clases java) que estn detrs del
formulario. Estos beans se referencian en el fichero de configuracin de JSF en
el apartado de managed beans, ya que son beans gestionados por el
controlador JSF. Este se encarga de su construccin y destruccin automticas
cuando es necesario.
En su versin ms sencilla
#{mibackbean.propiedad}.
una
expresin
JSF
sera
del
tipo
3.3. Navegacin.
Cuando se ejecuta una peticin que incluye una accin, se ejecuta el
mecanismo de navegacin de JSF. Tras la ejecucin de la accin, el
controlador determina cmo se debe mostrar al usuario el resultado de la
peticin. Hay varias posibilidades:
Adems las direcciones de origen admiten el * para que una misma regla sirva
para mltiples pginas. Tambin se pueden poner reglas por defecto que se
aplican a todas las peticiones.
4. Gestin de beans.
JSF gestiona automticamente la creacin y el acceso a los beans que utilizan
las pginas jsp. Para ello el controlador determina qu beans utiliza la pgina y
Cuando se crean los beans? JSF busca el bean cada vez que se menciona
en la pgina, en el orden en que aparecen en la pgina. Si el bean no existe en
el mbito, lo crea. Por tanto el orden de las expresiones lo determina el orden
de la creacin de los beans, si usamos ms de un bean en la pgina.
Cmo se hace esto internamente? Al procesar la pgina JSP, las etiquetas
JSF aaden cdigo que busca el bean mencionado en cada expresin. Si el
bean no existe en el mbito elegido (request, session o application) se crea uno
nuevo, llamando a su constructor por defecto, y se asocia al mbito requerido.
Este mecanismo es fundamental para la comprensin del procesamiento de la
pgina, sobre todo si trabajamos con beans de mbito request.
4. Resultados Preliminares.
Personalmente me incline, por JDeveloper en su ltima versin (11g), los
motivos de esta eleccin se debe a que es una herramienta gratuita y la gente
Oracle tiene una comunidad muy grande que trabaja con JSF los cuales
brindan una serie de ejemplos, demos y tutoriales del uso de esta tecnologa,
para el desarrollo de aplicaciones Web.
Por ejemplo: La duracin para desarrollar una aplicacin Web que permita el
registro de informacin a una Base de Datos, tiene un tiempo alto de desarrollo
considerando todos los procesos que conlleva elaborarla, ahora como seria
esto utilizando JSF con ADF.
En este punto sera muy til, realizar la creacin de un caso de desarrollo pero
nos extenderamos mucho en el tamao del documento, la idea fundamental en
este momento es conocer en s que es JSF y para qu sirve y como trabaja.
Al crear una pgina y tener nuestro objetos con solo arrastrar algn
componente en cuestin de segundos podemos crear formularios de bsqueda,
mantenimientos, tablas de lectura, lista de valores para opciones de bsqueda
y un sin nmero de opciones que puede agilizar nuestro desarrollo de una
forma increble.
Algunos ejemplos
Fig. 9, Mantenimientos.
6. Conclusion.
El framework JSF forma parte importante del estndar java J2EE. De hecho se
est preparando una nueva versin que traer numerosas novedades, sobre
todo en lo que se refiere a su integracin con AJAX. Tambin se est
comenzando a utilizar en numerosas aplicaciones empresariales, ya que
permite crear pantallas de usuario bastante complejas con una cierta facilidad,
aunque desde luego no es sencillo la primera vez que te enfrentas a este
framework. En la nueva versin se espera una mejora sobre el control de las
fases del ciclo de vida de la peticin que faciliten la creacin de componentes
JSF complejos que se usan de manera simple.