Re: [sca-bindings] ISSUE-48: How are mayProvide intents on bindingssatisfied

From
Mike Edwards <>
Date
2008-10-09T17:01:08+00:00
ID
Thread
Re: [sca-bindings] ISSUE-48: How are mayProvide intents on bindingssatisfied
Eric,

Let me try to give my perspective on
this issue.

The core of this issue is that:

IF a bindings specification says that a given binding has a non-null @mayProvide
attribute

THEN that bindings specification MUST
define how the intents identified in the @mayProvide attribute

are provided by that binding.

- and the binding.jms binding seems
to fall into this category (I think you agree on that)

- but that specification does not say
anything about how those intents are provided

OK, to open the discussion a bit more.
 I would expect that if some binding said @mayProvide="xx yy",

where "xx" and "yy"
are some intents, then some configuration of the binding is required in
order to

have those intents satisfied - if no
configuration was required, then I'd expect those intents to be in

the @alwaysProvides list....

Typically, I'd expect such configuration
to be part of the parameters defined by the binding spec.

eg.  Intent "xx" is provided
by this binding if parameter "foo" is given the value "bar"

The whole question of whether a binding
should declare @mayProvide intents at all is a different

question.  There seem to be two
potential approaches to this.  One is to say that the provision of

specific intents is (surprise surprise)
a question of Policy - and should be handled through the use

of concrete policySets that can be applied
to the binding.  The other is to use binding parameters,

as defined by the specification.  There
are no hard and fast rules here - either is acceptable.

I argue that where a well defined body
of Policy exist already, it would be wise to use it.  So in the case

of binding.ws, there is the WS-Policy
specification and policies that relate to it.  However, for other
kinds

of binding, policy of this type is not
well established in the marketplace and so it may be preferable to

use configuration parameters - this
may well be the case with JMS, for example.

So - how to resolve this issue?

At the very least the binding.jms spec
needs fixing - possible resolutions:

1) remove the statements about @mayProvide

2) define how the intents mentioned
in @mayProvide are actually provided - ie what configuration is

needed in order for the user to get
those intents when using the binding.

I think it is also worth the TC thinking
about the other binding specs - as to whether they should have any

@mayProvides intents.  The answer
may be "no" - but it should be a considered "no".

Hope this helps....

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:  

From:
Eric Johnson <>

To:
OASIS Bindings <>

Date:
08/10/2008 18:41

Subject:
Re: [sca-bindings] ISSUE-48:  How
are mayProvide intents on bindings satisfied

OK, now that I've logged the issue, I'm going to argue
for why we

shouldn't open it.

Eric Johnson wrote:

> Logged as: http://www.osoa.org/jira/browse/BINDINGS-48

>

> -Eric.

>

> ashok malhotra wrote:

>   

>> The SCA Policy spec says that in addition to the intents that
a

>> bindingType alwaysProvides

>>     

Point #1.1 - The first item in the description flags that other work

might be appropriate for other TCs first.

>> "... The binding type also declares the intents that it may
provide by

>> using the optional @mayProvide attribute. Intents listed as the
value

>> of this attribute can be provided by a binding instance configured

>> from this binding type."

>>     

Point #1.2 - Still seems to be relevant only to the policy specification.

>>

>> My assumption was that, to use some of the mayProvide intents,
a

>> binding instance had to be configured outside of SCA and then
that

>> instance used for some service/reference. At last week's Policy
f2f,

>> it became clear that this assumption was not universally shared.
Some

>> thought that the SCA runtime would configure the binding instance

>> during the deployment phase.

>>     

Point #2.1 - Looking through the existing specifications, the notion of

a binding "instance" is discussed only in passing for the binding.ws

spec, and not at all in binding.jms or binding.jca.  The concerns
raised

in the above paragraph don't seem to have much bearing on the binding

specifications that I see.

>>

>> I looked at the binding.ws, the binding.jca and the binding.jms
specs

>> and found that, as expected, binding.ws says nothing about mayProvide.

>> Binding.jca does not say anything about mayProvides either.

>> Binding.jms says

>>

>>

>> <bindingType type=”binding.jms”

>> alwaysProvides=”jms” mayProvide=”atLeastOnce atMostOnce ordered

>> conversational”/>

>>     

Aha! Finally, something specific to one of the binding specifications.

Perhaps a glimmer of an issue?  Except:

Point #3 - As stated the above doesn't actually raise an issue.  JMS

spec is clearly different from the other two, but is this one right, and

the others wrong?  I'm lacking in specifics to understand.  Further,
as

issues editor, in I need to know whether this should be raised as one,

two, or three issues, and I still cannot tell.

>>

>> but it does not say how the mayProvides intents are satisfied.
That

>> is, it does not say what configuration parameters can used to
provide

>> these intents.

>>

>>

>> Thus, two requests

>>

>>

>> - Clarify whether the binding instances configured to provide
the

>> capabilities indicated in mayProvides are generated separately,

>> earlier and outside of SCA and then used in the SCDL or whether
they

>> are generated by the SCA runtime.

>>     

Point #2.2 - Again, the notion of binding "instances" seems to
lie

outside of the binding specifications.  Bindings specifications at
this

point do not talk about "generating" anything for runtime, except
the

binding.ws spec, which talks about WSDL.

>>

>> - As far as possible, indicate in the bindings specs which

>> configuration parameters need to be tweaked and how to satisfy
the

>> mayProvide intents.

>>     

Point #4 - the term "configuration parameters" leaves me completely

muddled - Is this something specified via policy? Does it appear in the

composite file?  Is it data that is part of the binding elements?

Further the notion of "tweaking" those "configuration parameters"
sounds

interesting, but leaves me completely in the dark as to what you think

might be appropriate.

This issue certainly has piqued my curiosity, and I suspect there is a

very important issue to raise here related to one or more of the binding

specifications, but I still flailing in a fog as to what that specific

consideration might be.  I would much prefer to see a new issue filed

that identifies precisely which text in which specification(s) is

problematic, why it is problematic with respect to issues already

resolved in other TCs or the text of the other specifications, and

hopefully even a suggested resolution.

I'm also certainly happy with the notion that this is a topic of

discussion as an agenda item, but that simply isn't the same as an issue

to be raised.

-Eric.

---------------------------------------------------------------------

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