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

 


Help: OASIS Mailing Lists Help | MarkMail Help

sca-assembly message

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


Subject: RE: [sca-assembly] Pointer to SCA event processing presentation


> 
> So far it seems to me that this can be handled by services,
> references, and bindings. I may be wrong in the end, but it seems
> worthwhile to start from that premise given the additional complexity
> the eventing proposal introduces.
> 
> Jim
> 

[[TMG]] 
Eventing and invocation differ in a couple of important aspects:

1) For the publisher, events are "fire and forget".  Once the event is
fired, the publisher is not affected in any way by downstream processing.
For example, if a subscriber throws an exception, the publisher never knows.
The two are isolated from a runtime level and a transaction level.

2) Events are one-to-many.  A single event can have from zero to infinite
subscribers.  

3) Events have different QOS guarantees.  Since events are "stored and
forwarded", they have different levels of QOS -- those that are typical for
eventing: at-least-once, at-most-once, exactly-once.  The implementation of
this style of messaging is significantly different than invocations.

4) Philosophically, events should promote "loose coupling" of applications.
To me, events are to scripting as invocations are to strongly typed
languages.  

On a very "surface" level, events look similar to invocations.  But
philosophically and semantically, they are quite different.  Once could
argue that if two things "look" similar that they should share an
implementation.  In my opinion, when you try to share the implementation of
two things that "look" the same, you end up boxing yourself into a corner.
As the two things evolve, they may naturally move in different directions.
By keeping the implementations separate, they are allowed to naturally grow
in their own direction.

Thanks,
tim






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