OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

wsrp message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [wsrp] Scoping of Transient Properties - Mapping to JSR286


I would look at this differently, and disagree that the wire-level 
format is the absolute. The current wire-level format is not natural for 
run-time mappings on the producer. Isn't the wire-level format there to 
help solve problems that occur in the runtime on producers and consumers?

For this feature, I agree about the producer side optimizations, but the 
runtime and consumers still pay a price.

The more I think about this, the more I see this feature designed for 
producer applications and not producer containers. Today, the most 
common producer implementation is a container, and we have to help make 
it easy for containers.

Subbu


Rich Thompson wrote:
> 
> While I am sympathetic to the use case where several Portlets at a 
> single Producer tend to use session properties to share state with each 
> other and that this shared state could form a convenient means of 
> indicating interesting transient properties, I think it is stretching 
> too far to say such properties are shared across all Portlets hosted by 
> that Producer. The stateful items that are being shared really are 
> portlet-specific.
> 
> As to whether this causes a problem for a Producer who is mapping these 
> into shared state and potentially receiving two inputs declaring the 
> same value with a potential negative side effect of firing listeners 
> multiple times for what is really a single state change, I would 
> encourage Producers with such an issue to look at their copy of the 
> stateful item (i.e. keep a copy locally and manage the missing => null 
> semantics within the handler for transient properties) and do a value 
> comparison before setting the value. This avoids the 'local' issue 
> related to how the Producer is mapping transient properties without 
> percolating that issue outside of the Producer.
> 
> BTW: I think you provide good reasons why JSR286 should choose to map 
> transient properties to shared session attributes, I just don't see why 
> that local architectural decision needs to impact the external WSRP 
> protocol.
> 
> Rich
> 
> 
> *Subbu Allamaraju <subbu@bea.com>*
> 
> 03/30/06 12:58 PM
> 
> 	
> To
> 	OASIS WSRP TC <wsrp@lists.oasis-open.org>
> cc
> 	
> Subject
> 	[wsrp] Scoping of Transient Properties - Mapping to JSR286
> 
> 
> 	
> 
> 
> 
> 
> 
> Based on the discussions we had in the JSR286 EG, I was asked to raise
> this topic. Stefan - please step in if you find any items I missed. Mike
> 
> The basic question is what is the natural scoping for specifying these
> properties - in the PortletDescription or the ServiceDescription?
> 
> Since most web development platforms provide some notion of sessions, we
> (the EG) find it natural to manage session-scoped transient properties
> via a native session that is already available to web apps. For example,
>  in a J2EE web app, a session-scoped transient property can be mapped
> to an attribute in the HttpSession (or the PortletSession). There are
> two advantages to such a mapping:
> 
> - Portlet developers are used to using session attributes. To make a
> change to an attribute shared across portlets, the developer/deployer
> could simply mark that a given session attribute should be made
> available to other portlets via a remote protocol such as WSRP.
> 
> - Secondly, this also allows legacy apps or apps built using other web
> programming models to rely on session attributes transparently. Those
> apps don't have to use special new APIs to take advantage of transient
> properties.
> 
> However, such a mapping of session-scoped transient properties to native
> session attributes on web containers would bring in one potential problem.
> 
> In WSRP, session scoped transient properties are defined on each
> portlet, where as sessions are globally accessible to all components in
> a web app. That is multiple portlets deployed on a given producer can
> share the same session, and hence a portlet-level specification of these
> properties does not make sense for web developers.
> 
> To take an example, portlets deployed on a producer may be interested in
> sharing two session attributes TP1 and TP2 with other portlets deployed
> on other producers. Accordingly, the producer will expose TP1 and TP2 as
> transient properties required for *each* portlet deployed on that producer.
> 
> When a consumer has a value for one of these properties, it will then
> send the same property to each portlet on the producer. In most cases,
> this is duplication of traffic, and takes extra effort for both the
> consumer and producer. Producers running on J2EE web containers will
> also have to worry about session attribute listeners, clustering etc,
> since changes to attributes will typically involving invoking these
> listeners, and replicating the attribute to other nodes in a cluster.
> 
> (I'm speaking here from J2EE's point of view, and it would be
> interesting to see what is natural from .NET side. Mike - any comments?)
> 
> Given this, my question is whether specifying transient properties makes
> sense at the portlet level? It seems more natural to specify these in
> the ServiceDescription instead, and treat those like other data stored
> in the session (e.g. URL templates, or user profiles).
> 
> Regards,
> 
> Subbu
> 
> ---------------------------------------------------------------------
> To unsubscribe from this mail list, you must leave the OASIS TC that
> generates this mail.  You may a link to this group and all your TCs in OASIS
> at:
> https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php
> 
> 
> --------------------------------------------------------------------- To 
> unsubscribe from this mail list, you must leave the OASIS TC that 
> generates this mail. You may a link to this group and all your TCs in 
> OASIS at: 
> https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]