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] Fwd: Slides for issue 233


Hi Ashok

Rather than attempting to interleave responses, here are my comments on some of the questions raised by your slides.

3. Yes we do need local channels.  Event orientation is about more than global publish/subscribe, it's about designing and using components that interface by producing or consuming events.  There are some situations where the assembler wants to explicitly control who consumes the events emitted by a given producer (even though the designer of the producer has no idea where that might be, or what the consumer is going to do with them). For example I might have a producer which emits events every time I type in a password  - I would want to control very carefully where those events go. It's a cleaner design if I can draw an assembly diagram that shows the events going from my producer to my permitted consumer(s), than using a domain level channel and relying on access permissions on that channel being set up correctly. Also suppose I have a very chatty or error-prone producer, and I wish to inset some kind of active filter step in to filter/clean the events that it emits before they go out for general consumption. The natural thing to do is to put a component in line between the producer and the domain channel that distributes the events.

To me these two examples also motivate a requirement for direct wiring of producers to consumers (something I bring up quite frequently). However the advantage that local channels have here is that they provide an additional place where you can specify policies.

Do we need channel bindings?  I see a channel as like a producer/consumer pair, so the answer is yes

4. My starting assumption here is that a producer/consumer wire acts like a one-way reference/service wire, allowing us to reuse the same policy mechanisms that exist for references/services.  Because we don't at the moment permit direct producer->consumer wiring, I have to go through a channel but that channel behaves like a consumer and a producer.  Is there something wrong with this assumption?

There is a question here (related to the issue that Anish has raised), which is whether there could be separate policies for the consumer part of the channel from the producer part.

5..7 It would be useful to go through all the policies defined at present (reliability, security, transactions) to see if they make sense in event scenarios.. also whether there are any additional ones we need in this (and other areas).  We have a list of things that Anish may remember from WS-N days - for example the ability to specify the number of events per second that you can accept.

8. Am I right in thinking this is giving a producer or consumer the option of saying "don't care" in a particular policy domain?

Regards

Peter Niblett
IBM Senior Technical Staff Member
Member of the IBM Academy of Technology
+44 1962 815055
+44 7825 657662 (mobile)




From:        ashok malhotra <ashok.malhotra@oracle.com>
To:        Eric Johnson <eric@tibco.com>
Cc:        OASIS SCA Assembly <sca-assembly@lists.oasis-open.org>
Date:        18/09/2010 00:42
Subject:        Re: [sca-assembly] Fwd: Slides for issue 233




Hi Eric:
Good questions!  The purpose of the slides was to seed discussion and they seem to have
succeeded in that :-)  Some responses inline, most will need more discussion next week.

All the best, Ashok

On 9/17/2010 2:01 PM, Eric Johnson wrote:

Hi Ashok,

Thanks for preparing the slides.

To move the conversation along somewhat I thought I should raise a few points, and point out a few areas that I found potentially confusing, so that we could spend more time at the face to face dealing with substance, rather than confusion.

[AM] Yes, we need a set of framing slides.  

To frame the discussion somewhat, I think it might be useful to lay out some of the known capabilities of "eventing" systems.  To wit:
[AM] The policy framework attempts to cover both cases by either allowing the binding to provide the capability or providing the capability via explicit message policies. Now, to specific slides:

Slide 3:  [AM]  This slide raises some questions about the eventing model.  It does not belong in the Policy slides.  It's just an aide memoire for me.
Slide 4: [AM] Do we want to do Policy matching or does the channel just inherit the policies of the producer/consumer.  It can be argued that the producer just produces events and sets policies and if you want the events you follow the producers policies.  No negotiation, no matching. [AM] If we do Policy matching, do the matched policies between the producers+channel have to be the same as the matched policies between the channel and the consumer.  You may think this is a rhetorical question but I think it needs to be asked. [AM] We need to figure out which intents apply and which don't.  For example, you could argue that the transaction intents don't make sense for events but I think we need to discuss this.  The usescases in the following slides are meant to help us answer this question. [AM] Good question!
Slide 5: Slide 6: Slide 7: Slide 8: [AM] The Policy framework assumes that both services and references have policies and there is policy matching between them. But there is another scenario.  The reference says I have no preferences, I will just follow the policy of the service.  This happens quite a lot when you a writing a web client to work with a Web service.  The counterpoint is -- Surely not ANY policy -- The reference needs to set some limits, however broad, on what it can do.  So some policy negotiation is needed, however rudimentary.

For eventing, the consumer and producer are disconnected and it does not seem reasonable that the producer would change it's policies to match what the consumer wants, so an option should be that the producer dictates policy and the channel and consumer follow along.


I just had a wacky idea.  Suppose my notion is to "broadcast" an event.  What if the way I broadcast it is to shove it into an Atom feed, and let clients poll for it at their leisure?  Obviously, that doesn't scale to extremely large numbers of messages, but it certainly could work for a certain level of broadcast.  Is this a use-case we want to support?  Does it have any implications?

This is not a wacky idea.  This kind of broadcast protocol is quite common.  You can get RSS feeds for all kinds of news events, for example.  I can't say if this is in play for SCA but if it is, I don't see how you can do any policy matching.  You just do what the producer tells you to.

-Eric.


On 09/16/2010 05:30 AM, ashok malhotra wrote:

 I prepared some slides to frame a discussion re. Assembly-233.
See attached. As you will see, this is more about asking the questions rather than suggesting solutions.


---------------------------------------------------------------------
To unsubscribe from this mail list, you must leave the OASIS TC that
generates this mail.  Follow this link to all your TCs in OASIS at:
https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php
--------------------------------------------------------------------- To unsubscribe from this mail list, you must leave the OASIS TC that generates this mail. Follow this link to all your TCs in OASIS at: https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php






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]