The following FSD (Functional Specification Document) addresses the details pertaining to the implementation of the OASIS WebServices? for Remote Portlet (WSRP) version 2 of the specification. The OASIS Web Services for Remote Portlets TC has recently approved Web Services for Remote Portlets Specification v2.0 as a Committee Draft 4 , Here are the links to this committee draft 4 documents and schema's .
The WSRP v2 specification defines the following major features are defined optional.
Eventing/Coordination
Portlet Management
Leasing
get/serv Resource
Extensions
CC/PP
Further to add to this the WSRP v2 specification achieves backward compatibility by exporting a v1 and v2 service. The v2 service is not over the wire backward compatible with v1 service. There are different ways a producer can export these services
Option 1 : A producer can export 2 WSDL's one for WSRP v1 and one for WSRP v2
Option 2 : A producer can export a single WSDL with v1 and v2 are 2 different services under the same WSDL
Option 3 : A producer can ignore v1 and just export just v2 service ( need to check if v1 service is mandatory by spec?)
B. Constraints
Initial development will happen with latest public WSRP specification available ( current version is pr-04 - Public review 04), As a newer version is available the feature set will follow the latest stable draft.
The file based implementation will be used to demonstrate the feature in WSRP OSS project, database integration will happen for new features later when integrated back to PS 7.x
C. Assumptions and Dependencies
The FSD addresses only the issues associated with developing and delivering a the WSRP v2 specification as an OpenPortal?WSRP standalone bundle, It does not address the issues that are associated with integration of the WSRP v2 implementation back into OpenPortal? (for Sun Java System Portal Server bundle) or into the Java App platform SDK release. The tasks associted with these integration will be tracked by a different project plan.
The WSRP v2 specification features are developed over the JSR-286 implementation provided by OpenPortal?PortletContainer Project as a Container API implementation. The WSRP v2 features will work only over the JSR286 container and a portlet that implements the above specification.
D. Requirements
D.1. Product Level Requirements
(D.1.1) It should work with all the below following releases,
(D.2.2.1) Would provide a consumer implementation to support a WSRP v1 Producer.
(D.2.2.2) Would provide a consumer implementation to support a WSRP v2 Producer.
(D.2.2.3) Incase the WSRP producer implementation provides both v1 and v2 service, in a single WSDL, The consumer will provide a option to use either of the service to the user/administrator.
(D.2.2.4) The WSRP consumer MAY provide a option to switch a v1 consumer to a v2 consumer provided if the producer exports both v1 and v2 services in a single WSDL. However this would require a service description update or other manual changes/instructions.
Common Features:
Will provide support for the following optional features defined in the v2 specification (in both Consumer and Producer)
Eventing
(D.2.3.1) A local portlet should be able to throw a event to a remote portlet
(D.2.3.2) A remote portlet should be able to throw a event to local portlet
(D.2.3.3) A remote portlet should be able to throw a event to another remote portlet (from a different Producer)
Shared Render Parameters
(D.2.4.4) A local portlet should be able to share a public render parameter to a remote portlet
(D.2.4.5) A remote portlet should be able to share a public render parameter to local portlet
(D.2.4.6) A remote portlet should be able to share a public render parameter to another remote portlet (from a different Producer)
Resource Sharing
TBD
Caching
TBD
May provide support for the following optional features defined in the specification
(D.2.5.1) Support import and export of portlets implementation
(D.2.5.2) Support for CC/PP headers
D.3. User Interface Requirements
(D.3.1.1) The Consumer admin portlet would discover and provide option to the user to choose the between v1 and v2 service provided if both the services are present in the single WSDL.
(D.3.1.2) The Consumer admin portlet may provide a UI option to discover and alias the events that are published by a portlet.
D.4. External Interface Requirements
TBD
D.5. Performance Requirements
(D.5.1) This feature must not cause regression from PS 7.2 performance tests.
D.6.Other Requirements
D.7. Backward Compatibility Requirements
(D.7.1.1) The WSRP producer must provide and support both v1 and v2 consumers.
(D.7.1.2) The WSRP Consumer must work with both v1 and v2 WSRP producer implementations.
(D.7.1.3) Both JSR 286 and 168 portlet must work via both WSRP v1 and v2 service.
E. Design
This section has links to design documents of various features sets