Portlets are interactive Web mini-applications that can be plugged into a portal. This chapter focuses on “portletizing” existing Web applications, that is, wrapping them as portlets, without requiring any modification. After providing some background on portlet technology, we discuss two kinds of approaches to portletization: automatic and annotation-based. Automatic approaches make use of heuristics to automatically choose the fragments of the Web application pages to be displayed into the space available in the portlet’s window. In turn, in annotation-based approaches, it is the portal administrator who annotates each page of the portletized Web application to specify which fragments should be displayed. Annotation-based approaches also allow to supplement the functionality of the original Web application. Each approach is explained by using a sample scenario based on the same Web application. We also pinpoint the advantages and shortcomings of each approach, and outline future trends in portletization.
Key Terms in this Chapter
JSR 168: The Java Portlet Specification (JSR 168) standardizes a Java API for implementing local portlets, which can be packaged and deployed in any JSR 168-compliant Java portal. If the Java portal provides WSRP producer functionality, JSR 168 portlets can be remotely accessed by WSRP consumers.
Portletization: The term “portletization” refers to wrapping an existing Web application into a portlet, thus allowing its integration in a portal.
WSRP: The Web services for remote portlets (WSRP) specification standardizes the interfaces of the Web services which a portlet producer (typically a portal) must implement to allow another application (typically another portal) to consume its portlets, regardless of the technology that the producer and consumer use (e.g., J2EE, .NET, etc.).
Automatic approach (for portletization): The approach to portletization where the configuration of the bridge portlet requires none or minimal human intervention, allowing end-users to carry out portletization tasks themselves. These systems use diverse heuristics to automatically obtain the most “relevant” regions of the target pages that fit into the space available in the portlet’s window.
Portlet: Portlets are interactive Web mini-applications, local or remote to the portal, that render markup fragments which the portal can integrate into a page (usually shared by other portlets).
Shallow Portletization: The kind of portletization which only allows to portletize a single page (typically the home page) of the existing Web application.
Portal: A portal is a Web application providing their users with integrated Web access to a set of underlying applications providing different services to the user.
Deep Portletization: The kind of portletization where the whole bulk of pages comprising the existing Web Application are portletized. In “deep portletization”, the whole interaction between the user and the Web application may occur inside the portal.
Annotation approach (for portletization): The approach to portletization where the portal administrator configures the bridge portlet for a specific Web Application by manually identifying in the target pages the set of regions in which she or he is interested. Usually, this process generates a file called an annotation file.
Bridge Portlet: A special portlet used to wrap an existing Web Application into a portlet. When the user interacts with the portletized application, the bridge portlet navigates automatically to the original page in the existing application to extract the desired regions.