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: ISSUE-227 - Promotion of consumers and producers undermines composability


Hi Eric,

I'm not quite following the argument so maybe we can clarify in email
before the telecon. I'm not seeing the distinction that you're trying to
draw.  I can't tell if you're pushing on a problem in the vertical
composition case (promotion) or horizontal composition (within a
composite).

>> communication needs are exposed at the boundary of a composite

Not quite.  Components in the Domain are wired together (services and
references), across composite boundaries, without the use of promotion.
Promotion (services and references) is really about exposing the
configurable aspects of a composite that you wish to use as a component
implementation.  If your composite is not a component implementation then
there's not much use for service/reference promotion.  I think the same is
true for consumers and producers.

>> 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."

The same thing happens inside a composite with services and references. A
component service that is wired-to (by a reference) and not promoted is an
endpoint that is hidden within the composite.  Likewise, in the Domain
(which is a composite) a component service is globally visible even if it
is already wired-to by another component in the Domain.  In this case it is
not hidden...but that's because the Domain is treated as a composite.  It
is true however that a component reference cannot target a Domain level
service unless that component reference is also in the Domain.  Perhaps
it's this last bit that you want to make consistent in the event model?

>> target channel references can be to a domain channel, thus undermining
composability

This point I'm clear on, so I'll just make a comment.  I prefer to think of
it as breaking encapsulation, but the net effect is the same given the
comparison to service and references.  The Domain channel is an interesting
beast because you can imagine configuring your system (or defaulting your
authoring tools) such that ALL events flow through it, which makes it easy
to add new consumers who can pick up any event they want from anywhere in
the vertical composition without needing to promote producers just to
enable visibility of the events.  It really raises the question of whether
or not we should have something similar for the ref->service model.  This
was a hotly debated topic in the past, one in which I was only an observer
so there are others who will probably jump in here.

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

What does it mean to promote a channel? Does it mean that the consumer and
producer aspect of the channel are promoted either together or somehow
jointly?  Is it different from allowing a composite consumer (and provider
on the other end) to point to a channel as promoting the consumer aspect of
the channel?  My mental model of a channel is that it's a builtin
implementation type, which is probably getting in my way of understanding
what you're pushing on.

thanks

Dave Booz
STSM, BPM and SCA Architecture
Co-Chair OASIS SCA-Policy TC and SCA-J TC
"Distributed objects first, then world hunger"
Poughkeepsie, NY (845)-435-6093  or  8-295-6093
e-mail:booz@us.ibm.com


|------------>
| From:      |
|------------>
  >--------------------------------------------------------------------------------------------------------------------------------------------------|
  |Mike Edwards <mike_edwards@uk.ibm.com>                                                                                                            |
  >--------------------------------------------------------------------------------------------------------------------------------------------------|
|------------>
| To:        |
|------------>
  >--------------------------------------------------------------------------------------------------------------------------------------------------|
  |"OASIS Assembly" <sca-assembly@lists.oasis-open.org>                                                                                              |
  >--------------------------------------------------------------------------------------------------------------------------------------------------|
|------------>
| Date:      |
|------------>
  >--------------------------------------------------------------------------------------------------------------------------------------------------|
  |04/09/2010 04:19 AM                                                                                                                               |
  >--------------------------------------------------------------------------------------------------------------------------------------------------|
|------------>
| Subject:   |
|------------>
  >--------------------------------------------------------------------------------------------------------------------------------------------------|
  |[sca-assembly] Fw: [sca-assembly-comment] NEW ISSUE: (1.2) Promotion of consumers and producers undermines composability                          |
  >--------------------------------------------------------------------------------------------------------------------------------------------------|






Folks,

Forwarding to the main sca-assembly TC list....

Yours,  Mike.

Strategist - Emerging Technologies, SCA & SDO.
Co Chair OASIS SCA Assembly TC.
IBM Hursley Park, Mail Point 146, Winchester, SO21 2JN, Great Britain.
Phone & FAX: +44-1962-818014    Mobile: +44-7802-467431
Email:  mike_edwards@uk.ibm.com
----- Forwarded by Mike Edwards/UK/IBM on 09/04/2010 09:18 -----
                                                                           
 From: Eric Johnson <eric@tibco.com>                                       
                                                                           
                                                                           
 To:   sca-assembly-comment@lists.oasis-open.org                           
                                                                           
 Date: 08/04/2010 18:18                                                    
                                                                           
                                                                           
 Subje [sca-assembly-comment] NEW ISSUE: (1.2) Promotion of consumers and  
 ct:   producers undermines composability                                  
                                                                           





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

Title: Promotion of SCA consumers and producers undermines composibility

Description:

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.
Proposal:

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

-Eric










Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number
741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU















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