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


Help: OASIS Mailing Lists Help | MarkMail Help

sca-assembly-comment message

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

Subject: NEW ISSUE: (1.2) Promotion of consumers and producers underminescomposability

Target: sca-assembly-1.2-spec-wd01.doc

Title: Promotion of SCA consumers and producers undermines composibility


In the assembly 1.2 WD 01, consumers and producers are identified as part of the "component type" of a component, whereas "channels" are limited in scope to the boundaries of a composite.  This is contrary to the rest of SCA, where the indication of the communication between components surfaces in the component type, currently as a service or reference.  When needed, services or references can establish concrete bindings, but otherwise communication needs are exposed at the boundary of a composite.  In the case of producers, consumers, and channels, not only can bindings be applied, but also "targets", which then either hide endpoints within a composite, or expose them globally as part of the "global domain."

This makes composition of applications using eventing more difficult.

Further, although producers and consumers can refer to the same target, this is an awkward way for these two constructs to establish that they intend to operate on the same "destination".  When building a composite the composite developer may wish for one component to produce for a channel, and a different component to publish on the same channel, and then promote the combination of producer and consumer.  If the developer only promotes the consumer, or only promotes the publisher, that would be misleading to the composites using that component.  Perhaps it is even an error.

Here, then, are two problems:
  • "target" channel references are a weak way to couple the use of the same destination.
  • target channel references can be to a domain channel, thus undermining composability - either by collisions in the naming of target channels, or by forcing special knowledge of which channels are used where.

Instead of promoting consumers and producers, promote channels.  Move the filter and eventType information on consumers and producers into the channel.


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