JSF Portlet Bridge

De Dos Ideas.

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 construye 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