RE: [wsrp][interfaces]: Actions vs. Events

From
Keff Croberg
Date
2002-04-25T01:37:16+00:00
ID
Thread
RE: [wsrp][interfaces]: Actions vs. Events
i have 
updated the glossary for these modified terms and will be sending the latest 
version out to the group either wed or thu of this week.

 

jeff

  
-----Original Message-----
From: Michael Freedman 
  [mailto:]
Sent: Wednesday, April 24, 2002 
  6:03 PM
To: Rich Thompson; WSRP
Subject: Re: 
  [wsrp][interfaces]: Actions vs. Events

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鐽lingen , 
    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鐽lingen , 
    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>