Title: Message
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
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)
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??) .
- 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?
- 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?
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?
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”)
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?
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?
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?
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?