WSRP Quick Reference

Web Services for Remote Portlets (WSRP), Web Services for Interactive Applications (WSIA)

Web service interface(s) for accessing and interacting with presentation-oriented web services.
Producers = Web services conforming to WSRP spec
Consumers = Applications consuming Producers in manner conforming to WSRP spec

Producer
Self description, Markup
Registration, Portlet management
portletHandle = Identifies a particular Portlet, passed between Consumer and Producer
"Producer Offered Portlets" = Fixed set of Portlets available to Consumers

Consumer = AggEngine/Portal
Intermediary system (proxy?) that communicates with Producer on behalf of End-User

Lifecycle = How items become available, are interacted with, and are destroyed
  • Persistent lifecycle = Create item explicitly, use it, and destroy it explicitly
  • Transient lifecycle = Create item implicitly as side effect of some operation, gets used, and destroyed implicitly
Scope = When something is valid
  • Registration scope = Starts when Consumer registers with a Producer and ends when registrationHandle is released, i.e. Consumer-Producer relationship ends
  • Portlet scope = Starts when a Portlet becomes Producer Offered Portlet and ends when the Portlet is removed from Producer Offered Portlets set. Starts when a (Producer Offered) Portlet is cloned to become Consumer Offered Portlet.
  • Session scope = Starts when a Portlet needs to store transient state on Producer and ends when the session holding such state is released
Stateful information = Producer sends (state) information to Consumer with assumption that Consumer will be sending it back. [Equivalent to browser-cookie-server scenario]
  • Navigational state = State that allows current page fragment to be correctly generated multiple times
  • Transient state
    • Interaction state = State supplied to the processing of an interaction with Portlet's markup, e.g. input parameters to such processing
    • Session state = sessionID
  • Persistent state = State that is persisted until Consumer or Producer discards it
    • Consumer registration = registrationHandle
    • Portlet = portletHandle
Producer mediated sharing = Session stickiness. Portlets using shared area in session need to be served by same Producer (instance) in clustered environment.

Interface Summary

Interface between Consumer and Producer; Consumer invoking operations on Producer. [Pull, no Push]
Good way to specify high level interfaces. Return values for such interface seem odd at such high level, e.g. returning PortletContext after setPortletProperties.
Service Description
To get Producer's meta-data...
ServiceDescription = getServiceDescription(RegistrationContext, desiredLocales);
Markup
To get markup...
MarkupResponse = getMarkup(RegistrationContext, PortletContext, RuntimeContext, UserContext, MarkupParams);

To process user interactions with the Portlet markup...
BlockingInteractionResponse = performBlockingInteraction(RegistrationContext, PortletContext, RuntimeContext, UserContext, MarkupParams, InteractionParams);

To assist Producer in pre-initializing HTTP cookies...for managing End-User session...
ReturnAny = initCookie(RegistrationContext);

To let Producer know that End-User session(s) are done with...
ReturnAny = releaseSessions(RegistrationContext, sessionIDs);
Registration
To establish a relationship with Producer...
RegistrationContext = register(RegistrationData);

To update such relationship...
RegistrationState = modifyRegistration(RegistrationContext, RegistrationData);

To break up with the Producer...
ReturnAny = deregister(RegistrationContext);
Potlet Management
To get Portlet meta-data...
PortletDescriptionResponse = getPortletDescription(RegistrationContext, PortletContext, UserContext, desiredLocales);

To ask Producer to clone Portlet to customize it...to create Consumer Configured Portlet...
PortletContext = clonePortlet(RegistrationContext, PortletContext, UserContext);

To destroy Consumer Configured Portlet...
DestroyPortletsResponse = destroyPortlets(RegistrationContext, portletHandles);

To customize Consumer Configured Portlet...
PortletContext = setPortletProperties(RegistrationContext, PortletContext, UserContext, PropertyList);

To get Portlet properties...
PropertyList = getPortletProperties(RegistrationContext, PortletContext, UserContext, names);

Just to get Portlet property description?
PortletPropertiesDescriptionResponse = getPortletPropertyDecription(RegistrationContext, PortletContext, UserContext, desiredLocales);

<script type="text/javascript" language="javascript"> var sc_project=1731913; var sc_invisible=0; var sc_partition=16; var sc_security="2f7c65d8"; </script> <script type="text/javascript" language="javascript" src="http://www.statcounter.com/counter/counter.js"></script>
Comments:

鲜花礼品 搜索排名 鲜花礼品

Posted by 园林绿化 on July 04, 2007 at 12:13 PM IST #

股票 花木租摆 礼仪公司 交通

Posted by 绿植租摆 on July 04, 2007 at 12:14 PM IST #

I recently came across your blog and have been reading along. I thought I would

leave my first comment. I don't know what to say except that I have enjoyed

reading. Nice blog. I will keep visiting this blog very often.

Miriam

http://www.craigslistguide.info

Posted by Miriam on February 21, 2009 at 11:44 AM IST #

How to pass value from container to jsr168 portlet?
Code snippet will be very helpfull.

Posted by Prashanth on July 13, 2009 at 07:48 AM IST #

Post a Comment:
  • HTML Syntax: NOT allowed
About

ajitsabnis

Search

Archives
« July 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
  
       
Today