PORTIONS (PORTlet actIONS) is a developing framework that allows you to create JSR-168 portlets in a way very similar to the development of Web applications with Struts.
A portlet is a Web component managed by a container that, in answer to requests of the user, generates and displays dinamic and custom contents that are inserted in the user interface of the portal.
A portal is a Web application that provides personalization, single sign-on and aggregation of contents from diverse sources, and contains the layer of presentation of information systems. "Aggregation of contents" means the process by which it is possible to integrate contents from different sources in a same Web. On the other hand, a portal must have personalization capacities to allow the users to control different aspects from itself.
The specifications of portals define how the sources of content and the front-end processors of applications will be added to a portal and how to treat the security and the personalization. One of the main specifications of portals is the JSR-168, specification developed by the Java Community Process (JCP), wich defines the API that indicates how portlets interact and share the information.
The JSP Model 2 Architecture -Illustration 1- is an hybrid approach to serve dynamic content that combines the use of Servlets with JSP pages. It takes the best from the two technologies, using the JSP pages to generate the presentation layer and the Servlets to perform the intensive process tasks.
This model 2 is, then, an approach to the MVC pattern. In this approach, Servlets act as the controller, and they process the incoming request and create the beans/objects used by the JSP page. The Servlets decide too, depending on the user actions, the JSP page the output must be redirected.
It is needed to remark that the JSP pages do not realize any logic process. They only have to obtain any bean/object created by the Servlets and to extract the dynamic content of the Servlets to insert it in static templates.
The more complex is the application to develope, more benefits will be obtained of using the JSP Model 2 Architecture.
PORTIONS tries to offer, combining the JSR-168 specification and the JSP Model 2 Architecture, a development framework that allows to create complex portlets.
To implement PORTIONS, it has been looked the greater similarity possible with Struts (development framework for Web applications widely extended) in order to facilitate to those developers who are working with Struts the work with this new framework for the development of portlets.
At the present moment the PORTIONS framework has been tested in the following environments:
And, of course, it can be assumed that it will work without problems with all the JSR-168 compatible portals.