Rich,
I like your idea that given we have many descriptions
on the table we should see if we can solidify the discussion by first defining
terms. Once we have a good definition of terms we can then more effectively
discuss requirements. I think your definitions are a good start but might
be improved if made more concise. What do you think of the following
definitions:
Action: a notification that your state has changed.
There is only one recipient of an action. This recipient
is identified in the action request. For example, a portlet encodes
an action in the URI of its form's "Submit" button. This URI (the
action request) explicitly targets the receiver (this portlet instance).
Event: a notification that some state in the system (that you are
interested in) has changed.
There may be 0 to many recipients of an event. The recipient
of an event is not identified in the event request. Rather, event
recipients are managed (by an event manager). An event request is
sent to/via the event manager which then dispatches the event notification
to interested parties. I.e. the major differences between an action
an event is that event recipients are anonymous and a single event may
be dispatched to many portlets.
I believe the above clearly defines the differences between actions and
events from the point of view of the invoker. However it doesn't
address whether the recipient needs to see actions differently from events
-- as "your state has changed" is just a subtype of "state has changed".
I believe we answer this by articulating the requirements/constraints on
action handlers vs. requirements/constraints on event handlers.
As this message is about terminology I will leave this discussion to another
message.
-Mike-
Rich Thompson wrote:
I'm not sure limiting event types to those published
in meta-data would
suffice. Consider the case of a Producer that provides a redirection
to
other services that it has been instructed to instantiate (or maybe
just
"contain"). The events such a Producer would publish are dependent
on the
indirect providers and therefore can not be published statically. An
example of such a Producer could be a portal publishing a set of portlets
as a WSRP service for other portals to consume.
While I consider events to a important to both the WSIA and WSRP standards,
I would suggest not pushing them into the first versions of the standards
as the WSDL layer of the web services stack has these poorly defined
now
and there are efforts to clean up that portion of the WSDL spec.
Also, unless I missed it, I don't think I saw the terms action and event
being crisply defined. My suggestion:
Action - A request to a Producer to
execute some functionality.
Event - A notice from a Producer that
some logical transition has
occurred.
Jeff Broberg
<jbroberg@silvers To:
"Tamari, Yossi" <>,
tream.com>
cc:
04/22/2002 11:40 Subject:
RE: [wsrp][interfaces]: Actions vs. Events
AM
Please respond to
jbroberg
my mistake, i meant it in the context of actions not events.
-----Original Message-----
From: Tamari, Yossi [mailto:]
Sent: Monday, April 22, 2002 11:27 AM
To: ''
Subject: RE: [wsrp][interfaces]: Actions vs. Events
I do not know if I agree on this, since events are not generated by
the
user, but by other providers (in the context of the user).
Anyway, if a provider does not wish to process a certain event in a
certain
context, it can ignore the event in runtime.
I think that the overhead of implementing dynamic events may be bigger
than
the overhead of having ignored events.
Yossi.
-----Original Message-----
From: Jeff Broberg [mailto:]
Sent: Monday, April 22, 2002 6:22 PM
To: Tamari, Yossi;
Subject: RE: [wsrp][interfaces]: Actions vs. Events
I can imagine a scenario where the events that a provider allows for
a
particular user is context based, so that one individual may be able
to
perform some type of action while another can't. So we could
define the
availalbe events in the metadata, but we may have to also allow this
info
to
be dynamically generated and discovered.
jeff
-----Original Message-----
From: Tamari, Yossi [mailto:]
Sent: Monday, April 22, 2002 11:01 AM
To:
Subject: RE: [wsrp][interfaces]: Actions vs. Events
My take on the registration issue is that the provider should include
the
list of events/properties that it wants to subscribe to in its metadata.
It seems to me like this list does not need to be dynamic since in
order to
process more events, more code needs to be written in the provider.
The place were loops may actually happen is when provider A raises event
X,
which causes provider B to raise event Y, which causes provider A to
raise
event X again (for example). There are different algorithms that can
prevent
this, and maybe we should leave this to the implementing portal. We
could
define that the same event can not be fired by the same provider more
then
once per request, and that the consumer is not required to continue
processing events if the chain is deeper than some constant number.
I would
like to hear other suggestions to solving this problem.
Yossi.
-----Original Message-----
From: Carsten Leue [mailto:]
Sent: Monday, April 22, 2002 5:43 PM
To: Tamari, Yossi
Cc:
Subject: RE: [wsrp][interfaces]: Actions vs. Events
I think that this would be a good solution for events to decouple the
portlets and solve the problems that the portlets might not "see" each
other through the firewalls. Furthermore it take the complexity of
managing
listeners away from the services to the portal. I still see a semantic
difference between actions and events but maybe we can unify that.
Some
open issues are from my point of view:
- visibility: per definition the portal has access to the service (e.g.
though a firewall). The same is not necessary true for the service
that may
be shielded from directly accessing the portal. If we unify actions
and
event we need
- a way for the services to register/unregister
themselves as
listeners passively without initiating a communication to the portal
(e.g.
in the return values for the markup call)
- is it also possible to trigger events
passively?
- chaining: a portlet that has been integrated in a portal might be
republished and reintegrated by another portal
- register/unregister requests for listeneres
need to be delegated to
both portals
- how can loops be avoided in such cases?
Best regards
Carsten Leue
-------
Dr. Carsten Leue
Dept.8288, IBM Laboratory Böblingen , Germany
Tel.: +49-7031-16-4603, Fax: +49-7031-16-4401
|---------+----------------------------->
| |
"Tamari, Yossi" |
| |
<yossi.tamari@sapp|
| |
ortals.com> |
| |
|
| |
04/22/2002 03:31 |
| |
PM
|
| |
Please respond to |
| |
"Tamari, Yossi" |
| |
|
|---------+----------------------------->
>
---------------------------------------------------------------------------
------------------------------------------------------------------|
|
|
| To:
|
| cc:
|
| Subject: RE: [wsrp][interfaces]:
Actions vs. Events
|
|
|
|
|
>
---------------------------------------------------------------------------
------------------------------------------------------------------|
This is what I had in mind as well. If different producer want to
communicate directly, they can do this regardless of WSRP.
What is needed is some variation of a publish/subscribe (with data)
mechanism managed by the consumer.
Yossi.
-----Original Message-----
From: PAVLIK,GREGORY (HP-NewJersey,ex2) [mailto:]
Sent: Monday, April 15, 2002 10:20 PM
To: 'Alan Kropp'; 'Carsten Leue';
Subject: RE: [wsrp][interfaces]: Actions vs. Events
that would be preferrable.
-----Original Message-----
From: Alan Kropp [mailto:]
Sent: Monday, April 15, 2002 3:16 PM
To: 'Carsten Leue';
Subject: RE: [wsrp][interfaces]: Actions vs. Events
Hi Carsten,
On the subject of event handling, could we simplify the scenario a bit
by
allowing the portal to act as the intermediary in event propagation?
I'm
thinking of a publish/subscribe model (somewhat like JMS), in portlets
which
support events "publish" those events to the portal, and portlets which
consume events inform the portal by subscribing for those event types.
The
portal acts as the intermediary, and neither event producers or consumers
need know specifically about each other.
Alan
-----Original Message-----
From: Carsten Leue [mailto:]
Sent: Monday, April 15, 2002 3:49 AM
To:
Subject: [wsrp][interfaces]: Actions vs. Events
Hi - as promised in the interface call here is a definition of what
I would
define as "actions" and "events". We might use this as a starting point
for
the further discussion.
Both actions and events are notifications for a WSRP service.
1. Action:
Actions are notifications that are triggered by the user. During the
creation of markup the service encodes special URLs in the markup and
associates data to them.
The aggregator may need to rewrite the URLs to make them appear as
links
and redirect them to the aggregator. The end user can click on the
links to
trigger such an action. The aggregator then intercepts this and issues
a
call to the action handler defined in the WSRP interface together with
the
data the service encoded in the markup. As a reaction to this action
the
service may modify its state an regenerate its markup.
The following points are important in this scenario:
- the set of possible actions is defined by the server by embedding
them in
the markup
- the end user triggers the actions
- there is only one consumer of an action: the service that embedded
the
action into the markup
2. Event:
Events are launched programatically by components (the aggregator or
one of
the services). Events are not directly represented in the markup but
issued
by the components depending on their state (could be a timer, a system
event or as a reaction to an action). Events can either be broadcast
to all
services or to a set of registered services.
The following points are important in this scenario:
- the set of receivers of events (listeners) is dynamic
- if a service fires an event it needs to connect to the listeners.
This
might not always be possible due to firewall restrictions
- i becomes possible to halt the system by (accidentally) introducing
cycles in the event propagation
Following this definition event handling is much more complex and error
prone than action handling and the two serve different purposes: user
interaction and notification.
3. Relationship to WSRP
From my point of view we should clearly distinguish between action
handling
and event handling in WSRP. Event handling easily becomes very complex
and
is not always required to support portal/portlet interaction. Maybe
we
should separate event handling out into an optional interface. My
proposition would be to reuse the WSIA event handling interfaces for
this
but leave it up to the service to support this feature.
Action handling however is abosultely essential for user interaction.
For
this reason it makes sense for me to include this functionality into
the
base WSRP interface.
I added a PDF document to further clarify the distinction graphically.
(See attached file: Action vs Event.zip)
Best regards
Carsten Leue
-------
Dr. Carsten Leue
Dept.8288, IBM Laboratory Böblingen , Germany
Tel.: +49-7031-16-4603, Fax: +49-7031-16-4401
----------------------------------------------------------------
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>
----------------------------------------------------------------
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>
----------------------------------------------------------------
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>
----------------------------------------------------------------
To subscribe or unsubscribe from this elist use the subscription
manager: <http://lists.oasis-open.org/ob/adm.pl>