A WSRP consumer is an intermediary system that communicates with producers and the portlets they offer on behalf of its client (typically a portal). It gathers markup delivered by the remote portlets to be used by the portal and manages the remote portlet providers. The portal then mediates the markup and interaction between end-users and the producer. The consumer provides comprehensive client-side support for the four WSRP interfaces (Service Description, Registration, Markup, and Manage Portlets).

Once a standard JSR168 portlet is deployed in ATG, it behaves like any other ATG portal gear. A gear manifest is generated which can be used for adding the portlet to the ATG Portal framework.

The ATG consumer is shipped as separate module responsible for communicating with a producer based on the standard WSRP interfaces. It also is responsible for managing the producer and its offered portlets using ATG repositories. All WSRP functionality is encapsulated within the WSRP-ProxyPortlet.

WSRP-ProxyPortlet

WSRP-ProxyPortlet acts as a proxy for the remotely running portlet. In the ATG portal framework, it behaves like any other ATG gear. It is provided in deployed form in the WSRP.consumer module, and can be added to the Portal Framework. Like any other portlet, the WSRP-ProxyPortlet can have multiple instances, and each instance can be configured to interact with a specific remote producer offered portlet.

WSRP-related configuration and management functionality is provided through the following two custom portlet modes of WSRP-ProxyPortlet:

Consumer Portlet Modes

The WSRP-ProxyPortlet has a predefined set of portlet modes, which complements the set supported by the ATG consumer. The combined portlet modes supported by the ProxyPortlet fall into two categories:

When a JSR168 portlet is deployed to the ATG portal framework, the existing portlet modes for that portlet are mapped to the corresponding gear mode implementation in ATG, and further mapped to WSRP Portlet modes. The following table shows the mapping:

JSR168 Portlet Modes

ATG Gear Modes

WSRP Portlet Modes

VIEW

CONTENT

wsrp: view

EDIT

USERCONFIG

wsrp: edit

Edit_defaults

INSTANCECONFIG

Not Applicable

CONFIG

INSTALLCONFIG

Not Applicable

HELP

HELP

wsrp: help

ABOUT

ABOUT

Not Supported

PREVIEW

PREVIEW

wsrp: preview

The portlet modes supported by the consumer can be passed in the RegistrationData; the portal administrator can select the view, edit, help, or preview portlet modes during registration.

Consumer Window States

A window state is an indicator of the amount of portal page space assigned to a portlet’s content; supported states are Normal, Maximized and Minimized. In the ATG portal framework, portlet window states are implemented in as gear display modes. Like Portlet modes, the window states supported by the consumer can be passed in the RegistrationData; the portal administrator can select a WSRP window state from Normal, Minimized, Maximized and Solo during the registration.

Consumer UserProfile Items

The UserContext structure is a way for the consumer to provide end-user data to the producer, allowing the producer to perform end-user-specific handling. The UserContext data structure consists of the following members:

Inner Title Bar

In the ATG Portal implementation, the gear title template is responsible for displaying the gear title bar and optional links for Edit, About and Help. For the proxy portlet implementation, the gear title template is not sufficient, therefore the WSRP-ProxyPortlet itself generates HTML for the links for the supported Portlet Modes. The HTML is embedded in the markup obtained from the remote portlet. The inner title bar is based on the PortletDescription of the remote portlet for which the WSRP-ProxyPortlet instance is configured.

WSRP Remote Portlet – ProxyPortlet Relationship

To establish an association between the WSRP-ProxyPortlet instance and the actual remote WSRP portlet, the consumer uses Gear Instance parameters of the WSRP-ProxyPortlet. Whenever the proxy portlet instance is configured for linking with a specific remote portlet available to the consumer, the Gear Instance parameter of the current ProxyPortlet instance stores a unique consumer generated portletDescriptionID, which identifies a specific remote portlet and its associated PortletDescription. This way a given ProxyPortlet instance is able to reach the target PortletDescription and the producer for which it has been configured.