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: NEW ISSUE: Need an equivalent to "autowire" for the eventing world

Title: Need an equivalent to "autowire" for the eventing world

Target: Assembly 1.2 WD 01

With the references and services of SCA Assembly, the spec currently 
supports the notion of "autowire".  Whatever the merits in the service 
space, this concept fits even more naturally into the eventing world.

The use case: Forcing users to explicitly wire up all of the producers 
and consumers may be over-determined.  That, is, given the exact 
specification of which events a consumer is interested in, and the 
events that a producer sends out, that should be sufficient to wire 
them.  Making this situation worse, users might have to go through the 
error prone effort of specifying which channels are required to connect 
to which producers, and possibly missing out, or incorrectly wiring in a 
few cases.

One distinction to draw in the "autowire" of producers and consumers in 
the eventing world is that it may be very useful to have auto-wired 
consumers and producers cross composite boundaries.  Some notion of 
"scope" might be appropriate.  Two forms of scope probably make sense:

- one bounded by the presence of a parent composite
- the other tied to some notion of intent.  For example, I want scope 
"sales", or "sales, northamerica", or "manufacturing, europe"

Abstract proposal:

Add to a component producer, and a component consumer an attribute 
@autowire (true/false).  The presence of @autowire true prevents the use 
of the @target, and @source attributes.  Also add an @autowireIntent 
attribute, which includes a space separated list of tags/intents to pair up.

In conjunction with autowiring, a producer must declare the exact set of 
events it produces, and a consumer must declare the exact set it consumes.

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