RE: [wsrp][pfbm] -- Getting started

From
Jeff Broberg <>
Date
2002-04-03T19:46:17+00:00
ID
Thread
RE: [wsrp][pfbm] -- Getting started
Title: Message

My 
comments added to doco as well.

  
-----Original Message-----
From: Eilon Reshef 
  [mailto:]
Sent: Wednesday, April 03, 2002 
  12:12 PM
To: 'Cassidy, Mark'; 'Michael Freedman'; 
  
Cc: 'WSRP'
Subject: RE: 
  [wsrp][pfbm] -- Getting started

  
I think the main topics are covered. Added 
  a couple more thoughts and questions.

  
    

    
-----Original Message-----
From: Cassidy, Mark 
    [mailto:] 
Sent: Wednesday, April 03, 2002 
    12:32 AM
To: 'Michael Freedman'; WSRP; 
    ''
Subject: RE: [wsrp][pfbm] -- Getting 
    started

    
I think your approach is fine.  Let me throw out a 
    couple thoughts for 
starters: 

    
- From interactions with customers and others involved with 
    web services 
currently, I've found few that really 
    are pushing on the 'Find' part of 
PFBM.  Most 
    folks are dealing with services they explicitly know about.   
    So 
I would propose that WSRP really doesn't need to 
    invent anything new in the 
'Find' arena, unless of 
    course the requirements we converge on for 'PBM' 
have some implications on what can be supported with the current 
    UDDI 
specs(which I'm not a SME on). 

    
- On a similar note, I would argue that 'Publish' is simply 
    a formal method 
of making known Bind/Metadata 
    information about a WSRP service, and that we 
don't 
    need to invent anything new in this arena either.  Another 
    arguement 
deferring much of a focus on publish/find, 
    at least initially, is that it 
seems these could be 
    affected by what the bind/metadata part ends up looking 
like.  

    
So, I'd suggest we focus on bind/metadata for 
    starters. 

    
Some initial questions(should be answered in order): 
    
a) What actions should a portal application be able to take 
    based on the 
published metadata about a WSRP 
    service? 
Metadata requirements should directly fall 
    out of this. 
b) Which metadata is required?  
    Which is optional? 
c) Will we support an extension 
    mechanism to allow vendors to include custom 
metadata?  Example scenario? 

    
As far as work product, it seems that we need to document 
    requirements and 
then a spec for the metadata 
    schema(perhaps dtd & any companion semantic 
information?).  Not sure we need to do anything more... 
    

    
Note:  Tim Granshaw sent me a note following the F2F 
    expressing an interest 
in contributing to this 
    group.  We should include Tim in any 
correspondance(if we have any outside of the standard wsrp mail 
    alias). 

    
-----Original Message----- 
From: 
    Michael Freedman [mailto:] 
    
Sent: Tuesday, April 02, 2002 5:41 PM 
To: WSRP 
Subject: [wsrp][pfbm] -- Getting 
    started 

    
Note: [PFBM] is short for [Publish, Find, Bind, and 
    Meta-data] 

    
Folks,  in particular Mark Cassidy, Jeff Broberg, Petr 
    Palas, its time 
to get ourselves organized and 
    going.  At the face-to-face we decided 
not to 
    schedule regular conference calls -- but didn't really discuss 
    
how we would begin.  Any suggestions?  Did you 
    like the approach I took 
with [interfaces and 
    protocols]? Namely, attempt to categorize the 
problem space and pose the questions we need to begin 
    discussing?  If so 
would someone like to make a 
    stab at this to get us started?  Other 
ideas? 

    
I also am interested in what work product(s) you think we 
    should 
produce.  Is our first task (once we 
    understand what questions we are 
answering) to write 
    a requirements doc? If so do we stop there?  Do we 
also try and move from requirements to spec? 

    
  -Mike- 

    
---------------------------------------------------------------- 
    
To subscribe or unsubscribe from this elist use the 
    subscription 
manager: <http://lists.oasis-open.org/ob/adm.pl> 
    

    
---------------------------------------------------------------- 
    
To subscribe or unsubscribe from this elist use the 
    subscription 
manager: <http://lists.oasis-open.org/ob/adm.pl> 
    

Title: InterfacesProtocols

Comments by Eilon Reshef in red

Comments by Carsten Leue in blue

Comments by Jeff Broberg in
green.

Discussion Areas

 
SOAP encoding 

How do we return marked up content in a soap response?  efficiently? 

Should we support an escape hatch so the getContent request can be made via
HTTP post? 

Are there any performance numbers we would like the implementation team to
generate for us to better understand how to most efficiently use SOAP? 

Make
sure that the SOAP flavour used is compatible to implementations other that
J2EE (e.g. .NET)

The
2001 spec seems to be better for compatability between java & .net

  

 
WSIA 

I am assuming for the moment that
the areas where WSIA/WSRP overlap will NOT be discussed in this subcommittee --
the pupose of this ietm is to define explicitly what is exlcuded.  From my
notes taken at last week's meeting this would seem to be: 

 
  
activation/deactivation
      

  
version
      detection/expression 

  
look and feel customization? 

 
 
WSRP interfaces 

 
  
Instance lifecycle 

  
   
create -- What are
       the things we want a producer to be able to do when a portlet instance
       is created?  What information is needed from the consumer to do
       this?  Who controls/creates the instance handle (portlet id)? Is the handle persistent? Is the handle cloneable?
       Can one (server side) handle be used by multiple clients concurrently?
       

   
destroy -- What are
       the things we want a producer to be able to do when a portlet instance
       is deleted? Can a (persistent) handle
       expire? 

   
other operations --
       Are there other operations we should consider?  Do we need to
       define a copy method?  How about a publish method (when a portal is
       being moved from a dev to a stage to a production environment)? 
       Others? 

  
 

A
couple of quick thoughts:

- There
seem to be different notions of lifecycle and state: one is design-time (when
setting up new portals or portal pages) and one is run-time (when new users
come to a portal page and create specific instances of porlets). It could be
nice to form a terminology around that (e.g., design-time versus run-time and
portlet template versus portlet instance??) . 

- We need to get these terms into the
glossary.  Has anyone seen the doc
from the f2f that had the proposed items ??

-        
A couple of additional
questions related to the design-time model. What workflow is supported for
creating a portlet template? Does the portal need to be “registered” with the
portlet? Any extensibility around the process for creating and approving
creation of a design-time portlet? (E.g., if the portlet owner needs to know about
it or approve it?) Any design-time information the portlet needs to get? Is the
persistent data always stored at the portlet? Also on the portal?

-        
I don’t think we should be
talking about workflow and portlets, in my opinion they are separate, expcept
that we may want to describe the potential ( not mandatory ) interaction that a
portal administrator may have in regards to the discovery of available
portlets, and the inclusion of them into their environment.  But how this is done, I believe is
probably where the portal vendors can have their value add.

-        
Are we all under the
assumption that the portlet producer will provide an opaque handle to a portlet
template, which can be instantiated in run-time?

 
  
Content generation 

 

What information does the producer
need to generate content?  How does the producer know what content to
produce?  How does the producer return content?  How does it indicate
content type and encoding?  Should we start with an assumption that most
renderers adhere to the HTTP get/post response model and try and map from that
to SOAP? 

 
  
Actions 

 

What are actions?  How are
they different from events? Why are they needed?  Do actions produce
content?  Can action handlers cause other actions or events to be
triggered? If so how does a portlet instance discover and identify targets? How
can actions be efficiently implemented? How are
actions encoded in the markup?

I have heard others refer to the notion of an “action”
as an “option”.

 
  
Events/messaging 

 

What are events?  How are
they different from actions?  Why are they needed?  Do events produce
content? Can event handlers cause other actions or events to be
triggered?  If so how does a portlet instance discover and identify
targets?  Are events a general purpose concept that should utilize a
general purpose messaging system or is the messaging system defined and managed
by the consumer/Portal? How can events be efficiently implemented? Do we need events in WSRP or can we live with actions for
the sake of ease-of-use and ease-of-implementation?

I think we need both to truly handle both the
embedded and customized use cases.

 
  
Session
      Management/Portlet Grouping 

 

What are session for; maintaining
state within a single portlet and/or maintaining between a set of (cooperating)
portlets?  If the later, do we need a notion of a Portal application/group/provider
int he API?  If we do, what is its role (from an API/abstraction
perspective)?  How are sessions established?  By the consumer? By the
consumer requesting a session? Or willy-nilly in responses by the producer
(this is the http/servlet model)?  Is the
portlet always stateful? (probably not) Who can invalidate a
session?  How does each side get notified? How does a consumer react when
told a session has become invalid?  How does the portlet/producer? Can user-specific run-time data be persistent as well?
(e.g., a “Remember Me” box in a login page) If so, is this part of this topic
or the lifecycle topic? (Might be a good idea to combine the two under “State
Management”)

How should the portlet react when running in a
cluster, what effect does this have on the session information ?

 
  
Request data 

 

What information should the portal
pass to the portlets when requesting markup? Will
all data need to be published with each request or will it be possible to
initialize the service once and send only differential data in the subsequent
calls? 

I think that this type of information could
potentially be passed in the first bind operation, and removed from the
subsequent traffic.

 
Order of method invocation,
     client, & server contracts 

I don't have any specific questions
to throw out here -- to a certain extent this probably falls out of answering
the questions in the other topic areas.  Anyone have any ideas? 

 
URL Rewriting 

Does the consumer or a producer do
URL rewriting?  (Note: If the producer then URL rewriting is used loosely
here as no rewriting might take place if URLs are written correctly in the
first place)  What are the factors we need to consider to make a
decision?  Performance? Ease of use?  Correctness?  Decoupling between producer and consumer?  Robustness?
Is there a way to support both styles transparently to the producer? How
do we support hardcoded/(absolute?) URLs? URLs
created dynamically with scripting (i.e., JavaScript)? URLs encapsulated in
some binary content (e.g., links from a Flash file or an applet)? Is there an
explicit/implicit notion of URLs that shouldn’t be rewritten?

I think that we should scope the url rewriting into
the two categories, stream based and property based rewriting.

 
namespace encoding 

How does the portal/portlets
distinguish portlet instance form/request parameters such that each instance
can (safely) locate its parameters in the request?  If namespace/prefixing
is used, what is a name composed of? Does the portal expose only a portlet
instance's parameters to the instance or does the instance "see"
other request parameters?  If parameters are isolated how is this
implemented? Can the URL rewriting principle be
used to rewrite namespace prefixes? Performance and ease of use need to be
considered. It would be nice if WSRP would allow for services with static
content (so namespace rewriting would be done on the client). Are there any namespace restrictions around content
elements (HTML IDs, JavaScript function names, etc.)? Across different
portlets? Across different instances of the same portlet?

There are probably situations where the parameters
can either be considered private to the originating portlet, or public for
inspection by others.

 
Remote portlet vs remote
     portlet container

     Does the API we are designing generally require a producer side runtime
     (portlet container) to make it convenient for content developers?  If
     so, should WSRP define a least one more API, a simple API, that
     removes/hides the extra complexity of the full version? 

 
  
I don’t think we
      should go here, once again, the value-add for the portal vendors.