|By Rajesh Thiagarajan and Marina Sum, May 22, 2007; updated April 2008|
Web Services for Remote Portlets (WSRP), a protocol for aggregating remote content and interactive Web applications, affords an effective means of publishing and consuming remote visual services. That is, instead of presenting data, WSRP shows a view of the data and thus known as a presentation-oriented webservice—as opposed to the traditional data-oriented—Web service. That way, WSRP enables seamless delivery and integration of Web applications or their components, including the presentation layer.
The WSRP Specification is defined by the WSRP Technical Committee at the Organization for the Advancement of Structured Information Standards (OASIS). WSRP features two players:
As part of OpenPortal (formerly the Portal Open Source Project), the OpenPortal WSRP Project (henceforth, the WSRP Project) aims to develop a WSRP version that complies with the specification. This article, the fourth in a series, describes the WSRP Project's system and deployment architectures, its build and deployment processes, and the procedure for creating remote portlet windows. This article points you to WSRP version 1.0 implementation and its related resources.
|-||Deploying OpenPortal WSRP|
|-||Using Open Portal WSRP|
The WSRP Project delivers five modules (described below), which are developed over the OpenPortal Portlet Container Project (henceforth, Portlet Container Project), also part of OpenPortal. Figure 1 illustrates the WSRP Project's system architecture.
The Producer, a Web service based on the Java API for XML Web Services (JAX-WS), implements the interfaces and ports defined in the WSRP version 1.0 Specification. Currently, the Producer is modeled after the Portlet Container, that is, it interacts with the local Portlet Container through the latter's API.
The Producer performs the following tasks:
The Consumer is an API (Web-service client) that implements the Container API. Correspondingly, the Consumer enables content aggregators and portals to consume remote portlets that are published by the Producer through a uniform interface. In particular—
In addition, the Consumer delivers two other capabilities:
The Portlet Container Test Driver, a test environment for deploying, testing, and debugging local, delegates calls to the Portlet Container through the Container API.
Recall that the Consumer implements the Container API for remote portlets. Accordingly, the WSRP Test Driver is an extension of the Portlet Container Test Driver, where the WSRP Test Driver delegates calls to the Consumer for executing remote portlets.
The WSRP Administrative Interface is based on MBeans—clients that you can deploy on MBean servers for managing WSRP components. You can deploy the WSRP Administrative Portlets (see the next subsection), which serve as the UI for these MBeans, on any standard Portlet Container.
Such an architecture spells versatility for recomposing and integrating the WSRP Project into any environment or system to meet your requirements. For example, you can deploy MBeans on an MBean server that manages more services and that is integrated with WSRP.
Specifically, the WSRP Project provides the following MBeans, all of which you can reuse for nondefault system reconfigurations or redeployments:
Also in the works is a default sample MBeans server that demonstrates the deployment and management of the above MBeans as a separate process on an MBeans server.
Producer and Consumer Administrative Portlets are the UI for the MBeans mentioned in the preceding subsection. Again, you can deploy them on any standard Portlet Container for execution.
The WSRP Administrative Interface demonstrates the flexibility of using public, exported MBeans in conjunction with the WSRP Project. For example, you can develop a command-line interface (CLI) for the same MBeans and integrate the WSRP Project with systems that require a unified CLI in the Administration Console.
Here is a synopsis of the default deployment architecture of the WSRP Project:
Figure 2 illustrates the deployment architecture.
The builds for the WSRP Project are now available for download. Use the WSRP version 1.0 FCS build if you intent to try the version 1.0 of the implementation, version 2.0 is still under development
Every version of OpenPortal WSRP binary works with particular version of OpenPortal PortletContainer binary the above download page from the WSRP project points to the correct version of the PortletCotainer binary.
Before deploying the WSRP, first deploy the specific OpenPortal PortletContainer binary and deploy few portlets and test your Portlet Container. If all looks good, do the following:
% java -jar wsrp-configurator.jar GlassFish-install-dir GlassFish-domain-dir
java -jar wsrp-configurator.jar c:\glassfish c:\glassfish\domains\domain1
% java -jar wsrp-configurator.jar /usr/local/glassfish /usr/local/glassfish/domains/domain1
/portletdriver/dt, for example,
If the WSRP installation is successful, the portal will show the following:
The WSRP Producer Admin portlet provides the necessary GUI for creating and managing WSRP Producers. There exists a default producer called "SampleProducer" which is disabled.
You can create a WSRP Consumer by using the WSRP Consumer Admin Portlet. To create a consumer you'd need to have a producer URL. You can choose to use the "SampleProducer" which we created in the above step. To create a consumer
The WSRP Consumer Admin portlets provides a "Create" link in each of the available Consumers
Click the WSRP tab on the portlet container driver to view the remote portlet that we just created.
This section describes how to build and the WSRP project from source. The procedures apply to the WSRP version 1.0 builds.
Subversion (SVN) is the version control tool for the WSRP Project, hence you can browse the source files in the SVN browser on
java.net. Just anonymously download the code from the WSRP Project's SVN repository:
% svn checkout https://wsrp.dev.java.net/svn/wsrp/branches/wsrp_v1_fcs_branch wsrp --username guest
Authentication realm: <https:/wsrp.dev.java.net:443> CollabNet SCM Repository Password for 'guest':
A wsrp/producer A wsrp/producer/src A wsrp/producer/src/java . . .
For details, see the WSRP Project's Subversion page.
Note: Write access to the SVN Repository requires that you have the developer role or have become a committer in the WSRP Project. For details, see the guidelines for contributors.
To build the WSRP:
wsrp-configurator.jarfile in the
% cd wsrp
% mvn clean package
% mvn verify