[español|english]
PORTIONS (PORTlet actIONS) es un framework de desarrollo que permite crear portlets JSR-168 de forma similar a la creación de aplicaciones Web mediante Struts.
Un portlet es un componente web gestionado por un contenedor que en respuesta a peticiones del usuario genera y presenta contenidos dinámicos personalizables que se insertan en el interfaz de usuario del portal.
Un portal es una aplicación Web que provee personalización, single sign-on y agregación de contenidos desde diversas fuentes, y contiene la capa de presentación de sistemas de información. Por "agregación de contenidos" se conoce al proceso por el cual es posible integrar contenidos desde diferentes fuentes en una misma página Web. Por otra parte, y como se ha comentado, un portal debe tener capacidades de personalización avanzadas que permitan a los usuarios controlar diferentes aspectos del mismo.
Las especificaciones de portales definen cómo se agregan en un portal las fuentes de contenido y los procesadores frontales de aplicaciones y cómo tratar la seguridad y la personalización. Entre las principales especificaciones de portales figura la denominada JSR-168, especificación desarrollada por la Java Community Process (JCP), que define la API que indica cómo interactúan los portlets y comparten la información unos con otros.
El Modelo 2 de Arquitectura JSP -ver Figura 1- es una aproximación híbrida para servir contenido dinámico, combinando el uso de Servlets con páginas JSP. Toma lo mejor de las dos tecnologías, usando las páginas JSP para generar la capa de presentación y los Servlets para realizar las tareas de procesamiento intensivo.
Este modelo 2 es por tanto una aproximación al patrón MVC. En esta aproximación los Servlets actúan como el controlador, y tienen a cargo el procesamiento de las peticiones de entrada y la creación de cualquier bean u objeto usado por la página JSP, así como la decisión, dependiendo de las acciones del usuario, de a qué página JSP se debe redireccionar la salida.
Se debe hacer especial hincapié en el hecho de que la página JSP no realiza ningún tipo de procesamiento lógico, únicamente es responsable de obtener cualquier objeto o bean que haya sido creado con anterioridad por el Servlet, y extraer el contenido dinámico de los Servlets para insertarlo en plantillas estáticas.
Cuanto más compleja sea la aplicación a desarrollar, más beneficios se obtendrán de usar el Modelo 2 de Arquitectura JSP.
PORTIONS pretende, partiendo de la especificación para portlets JSR-168 y del Modelo 2 de Arquitectura JSP, ofrecer un framework de desarrollo que permita crear portlets complejos.
Para implementar PORTIONS se ha buscado la mayor similitud posible con Struts (framework de desarrollo para aplicaciones Web ampliamente extendido) con la idea de facilitar al conjunto de desarrolladores acostumbrados a trabajar con Struts el paso a este nuevo framework para el desarrollo de portlets.
Hasta el momento se ha comprobado el correcto funcionamiento del framework PORTIONS en los siguientes contenedores de portlets/portales:
Además, cabe esperar que el framework PORTIONS sea compatible con todos aquellos portales y contenedores de portlets que sigan la especificación JSR-168.