Diferencia entre revisiones de «JSF Portlet Bridge»

De Dos Ideas.
Saltar a: navegación, buscar
Línea 1: Línea 1:
Para poder utilizar JavaServer Faces en los portlets (JSR 168) es necesario utilizar un puente que pueda adaptar los pedidos del portal para que sea transparente para la API de JSF.
+
JavaServer Faces y los portlets definen dos abstracciones diferentes respecto de los pedidos del cliente (request) y el proceso de construcción de la respuesta (response).
Hay una gran cantidad de JSF Portlet Bridges desarrollados conceptualmente iguales pero sus comportamientos tiene diferencias entre diferentes portales o diferentes implementaciones de JSF.
 
  
Para solucionar esta situación está en proceso la especificación JSR 301.
+
Para poder utilizar la tecnología de JavaServer Faces en los portlets es necesario poder unir estas dos abstracciones.
 +
 
 +
Uno de los enfoques más utilizados es el de construir un puente (bridge) que funcione como traductor entre las dos abstracciones. La ventaja del mismo radica en que los dos extremos funcionan normalmente sin necesidad de tener conocimiento y adaptarse al otro. Esto también permite migrar cosas ya desarrolladas con JSF a portlet con un bajo impacto pero sobre todo reutilizar el conocimiento y las herramientas.
 +
 
 +
 
 +
Al día de hoy existen varios bridges que si bien son iguales en concepto, su funcionamiento y detalle de prestaciones difiere según bridge, versiones de portal o implementación de JSF que se utilice.
 +
 
 +
Existe la especificación JSR 301 sobre portlet bridges que está en proceso.
 +
 
 +
 
 +
==Funcionamiento con JSF==
 +
 
 +
En el caso de la ejecución habitual de una aplicación con Faces:
 +
 
 +
* El cliente hace una petición directa a la aplicación en Faces.
 +
* El servlet de Faces recibe la petición y ejecuta la página en cuestión.
 +
* Se construyendo la respuesta y se genera el HTML.
 +
 
 +
 
 +
En el caso de una aplicación con Faces incorporada en un portal en forma de portlet:
 +
 
 +
* El cliente envía una petición al portal.
 +
* El portal la resuelve a través de alguna de sus páginas que a su vez contiene una serie de portlets.
 +
* El portal deriva el procesamiento de los portlets al contenedor de portlets.
 +
* El contenedor de portlets les reenvía una versión especial de la petición.
 +
* Por cada petición a un portlet implementado con JSF el bridge prepara el entorno de Faces y ejecuta el ciclo de vida correspondiente permitiendo a la aplicación JSF desconocer las particularidades del portal.
 +
* Cada portlet genera su respuesta que representa un fragmento de la respuesta total. El generador de portlets recibe la respuesta a través del bridge que actúa como si fuese un portlet común.
 +
* El portal compone la página con todos los fragmentos y genera la respuesta al cliente.
 +
 
 +
 
 +
==Bridges Principales==
 +
* [http://jsfportletbridge.dev.java.net/ Sun OpenPortal JSF-Portlet Bridge]
 +
* [http://myfaces.apache.org/portlet-bridge/index.html MyFaces Generic Portlet]
 +
* [http://www.jboss.org/community/docs/DOC-10721 JBoss Portlet Bridge]
 +
 
 +
 
 +
==Ver también==
 +
* [http://jcp.org/en/jsr/detail?id=301 JSR 301]
 +
* [[JSR 168]] - Java Portlet Specification V1.0
 +
* [[JSR 286]] - Java Portlet Specification V2.0
 +
* [[Portlet Con JSF]]
 +
* [[JSF Con Spring En Portlets]]

Revisión del 19:49 13 mar 2009

JavaServer Faces y los portlets definen dos abstracciones diferentes respecto de los pedidos del cliente (request) y el proceso de construcción de la respuesta (response).

Para poder utilizar la tecnología de JavaServer Faces en los portlets es necesario poder unir estas dos abstracciones.

Uno de los enfoques más utilizados es el de construir un puente (bridge) que funcione como traductor entre las dos abstracciones. La ventaja del mismo radica en que los dos extremos funcionan normalmente sin necesidad de tener conocimiento y adaptarse al otro. Esto también permite migrar cosas ya desarrolladas con JSF a portlet con un bajo impacto pero sobre todo reutilizar el conocimiento y las herramientas.


Al día de hoy existen varios bridges que si bien son iguales en concepto, su funcionamiento y detalle de prestaciones difiere según bridge, versiones de portal o implementación de JSF que se utilice.

Existe la especificación JSR 301 sobre portlet bridges que está en proceso.


Funcionamiento con JSF

En el caso de la ejecución habitual de una aplicación con Faces:

  • El cliente hace una petición directa a la aplicación en Faces.
  • El servlet de Faces recibe la petición y ejecuta la página en cuestión.
  • Se construyendo la respuesta y se genera el HTML.


En el caso de una aplicación con Faces incorporada en un portal en forma de portlet:

  • El cliente envía una petición al portal.
  • El portal la resuelve a través de alguna de sus páginas que a su vez contiene una serie de portlets.
  • El portal deriva el procesamiento de los portlets al contenedor de portlets.
  • El contenedor de portlets les reenvía una versión especial de la petición.
  • Por cada petición a un portlet implementado con JSF el bridge prepara el entorno de Faces y ejecuta el ciclo de vida correspondiente permitiendo a la aplicación JSF desconocer las particularidades del portal.
  • Cada portlet genera su respuesta que representa un fragmento de la respuesta total. El generador de portlets recibe la respuesta a través del bridge que actúa como si fuese un portlet común.
  • El portal compone la página con todos los fragmentos y genera la respuesta al cliente.


Bridges Principales


Ver también