sca-policy message
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
| [List Home]
Subject: RE: [sca-policy] ISSUE 7: Required intents on interfaces [Implicit additionof intents based on a service or reference's @requires list]
- From: Mike Edwards <mike_edwards@uk.ibm.com>
- To: "OASIS Policy" <sca-policy@lists.oasis-open.org>
- Date: Tue, 30 Oct 2007 14:23:57 +0000
Michael,
Is there a terminology problem going
on here?
I've tried to tease out the issues inline.....
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
"Poulin, Michael"
<Michael.Poulin@uk.fid-intl.com>
30/10/2007 11:38
|
To
| Mike Edwards/UK/IBM@IBMGB, <sca-policy@lists.oasis-open.org>
|
cc
|
|
Subject
| RE: [sca-policy] ISSUE 7: Required intents
on interfaces [Implicit addition of intents based on a service or reference's
@requires list] |
|
Folks,
How these intents will work in
reuse - provider developers have no clue who will be using this interface?
<mje> By attaching
intents to an interface it implies that the characteristics required by
the intents must apply to *ALL* usages of the interface.
Sure, the provider developer
has no clue about who will use the interface, but the interface designer
is saying that WHOEVER the client is,
they must accept the characteristics
implied by the intent. An interface marked "conversational"
has relationships between one invocation
and the next - it is no
use the client trying to treat all invocations as stateless, since that
will likely produce the wrong results</mje>
How these intents will work in
SOA Service Contract document - provider agrees with individual consumer
on service features available to particular consumer only?
<mje> No, the intents
are going to affect the bindings that are used for invoking the service.
Some intents will force the use of bindings
in a particular way - eg
"confidential" implies the use of some form of encryption, so
eg HTTPS must be used, not HTTP, or Web Services
with some level of WS-Security
applied....</mje>
I think that words have to be
more accurate in "it
is appropriate to use them to specify characteristics of the service that
both the developers of provider and the client need to know":
SOA service may have characteristics useful to the consumer but not
visible through the interface ( SOA RM and RA draft), i.e. an interface
is not necessary the right place for the "characteristics
of the service ".
<mje> Here is the
terminology problem. What do you mean by "characteristics of
the service"? Does this mean a given instance of the service,
with a particular binding applied? I agree that the concrete service,
with binding resolved, may have more information about it than is specified
in the interface. The binding (and indeed the service implementation)
may choose to add arbitrary metadata that the client configuration must
be aware of (clearly, the binding type, endpoint address, plus features
implied by applied policies such as security). However, this does
not invalidate the idea that some characteristics are inherent in the interface
itself - and apply to ANY use of the interface, whether on a service or
on a reference. It is these characteristics that are validly attached
to the interface itself. In SCA, things are built up in stages and
it is not necessary that all metadata is lumped into one place (indeed,
it is intentionally added in a number of places to provide useful and needed
flexibility).
</mje>
I would say that these intents
are fine for description of the characteristics of the INTERFACE, not the
service per se.
<mje> Given that
the interface has no existence outside of its use to describe a service
or a reference, I argue that the intents on the interface contribute to
the eventual set of intents on the service / reference and contribute to
the selection of bindings and associated policies. Remember that
intents express restrictions, which can accumulate in layers. It
is acceptable for an interface to say that it requires confidentiality
for messages sent through the interface - and for a service that uses the
interface to then add a further restriction that a client must authenticate
itself in order to use the service. Both sets of intents apply to
that service's use of the interface.... Ultimately, all the intents
become a characteristic of the service (or reference).</mje>
- Michael Poulin
Important: Fidelity
Investments International (Reg. No.1448245), Fidelity Investment Services
Limited (Reg. No. 2016555), Fidelity Pensions Management (Reg. No. 2015142)
and Financial Administration Services Limited (Reg. No. 1629709, a Fidelity
Group company) are all registered in England and Wales, are authorised
and regulated in the UK by the Financial Services Authority and have their
registered offices at Oakhill House, 130 Tonbridge Road, Hildenborough,
Tonbridge, Kent TN11 9DZ. Tel 01732 361144. Fidelity only gives information
on products and does not give investment advice to private clients based
on individual circumstances. Any comments or statements made are not necessarily
those of Fidelity. The information transmitted is intended only for the
person or entity to which it is addressed and may contain confidential
and/or privileged material. If you received this in error, please contact
the sender and delete the material from any computer. All e-mails sent
from or to Fidelity may be subject to our monitoring procedures. Direct
link to Fidelity’s website - http://www.fidelity-international.com/world/index.html
From: Mike Edwards [mailto:mike_edwards@uk.ibm.com]
Sent: 30 October 2007 10:38
To: sca-policy@lists.oasis-open.org
Subject: RE: [sca-policy] ISSUE 7: Required intents on interfaces [Implicit
addition of intents based on a service or reference's @requires list]
Folks,
Some suggested wordsmithing.
Required Intents on Interfaces
Intents can optionally be applied to interfaces. For WSDL Port Type elements
(WSDL 1.1) and for WSDL Interface elements (WSDL 2.0), the @requires attribute
can be applied that holds a list of intent names that are required for
the interface. Other interface languages may define their own mechanism
for specifying a list of required intents. Any service or reference
that uses an interface with required intents implicitly adds those intents
to its own @requires list.
Because intents specified on interfaces can be seen by both the provider
and the client of a service, it is appropriate to use them to specify characteristics
of the service that both the developers of provider and the client need
to know. For example, the fact that an interface is conversational
is such a characteristic, since both the client and the service provider
need to know about the conversational semantics.
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
"Michael Rowley"
<mrowley@bea.com>
29/10/2007 17:59
|
To
| "Patil, Sanjay"
<sanjay.patil@sap.com>, <sca-policy@lists.oasis-open.org>
|
cc
|
|
Subject
| RE: [sca-policy] ISSUE 7: Required intents
on interfaces [Implicit addition of intents based on a service or reference's
@requires list] |
|
I took an action item to specify more specific text to add to the Policy
spec for resolution of issue 7.
It was a real pain to avoid the word “should” when I was trying to describe
how the construct should be used. I eventually succeeded, but as
I mentioned on the call, I’m not sure that it will be worth while to do
this throughout the spec. Take a look at the Java EE spec (71 uses)
or the JPA spec (67 uses) and try to imagine getting rid of all those shoulds
and using other language instead. Looking at WS-BPEL 2.0, you can
see that it uses both “SHOULD” and “should”, and has 24 uses of the
latter. The capitalized form is used when describing what compliant
systems SHOULD do, while the latter is used to describe what people should
do.
Now to the suggested new text...
I would propose that a new section be added somewhere that the editors
think is appropriate (probably somewhere inside the section titled “Attaching
Intents and PolicySets to SCA Constructs”).
Required Intents on Interfaces
The @requires attribute can be applied to WSDL Port Type elements (WSDL
1.1) and to WSDL Interface elements (WSDL 2.0) that holds a list of intent
names that are required for the interface. Other interface languages
may also define their own mechanism for specifying the list of required
intents. Any service or reference that uses an interface with required
intents implicitly adds those intents to its own @requires list.
Because intents specified on interfaces can be seen by both the provider
and the client of a service, it is appropriate to use them to specify characteristics
of the service that both the developers of provider and the client need
to know. For example, the fact that an interface is conversational
is such a characteristic, since both the client and the service provider
need to know about the conversational semantics.
Michael
From: Michael Rowley [mailto:mrowley@bea.com]
Sent: Thursday, October 25, 2007 10:54 AM
To: Patil, Sanjay; sca-policy@lists.oasis-open.org
Subject: RE: [sca-policy] ISSUE 7: Required intents on interfaces [Implicit
addition of intents based on a service or reference's @requires list]
We don’t currently have an operational distinction between implementation
intents and interaction intents. We define the terms, but none of
our mechanisms are tied to those terms.
With the current definition of intents on interfaces, references that use
an interface implicitly require all intents specified on that interface.
This certainly fits interface intents such as “conversational”
and “joinsTransaction” well. If we changed the semantics, I’m
not sure what we would change them to.
Michael
From: Patil, Sanjay [mailto:sanjay.patil@sap.com]
Sent: Thursday, October 25, 2007 10:37 AM
To: Michael Rowley; sca-policy@lists.oasis-open.org
Subject: RE: [sca-policy] ISSUE 7: Required intents on interfaces [Implicit
addition of intents based on a service or reference's @requires list]
Are we ruling out the possibility of annotating interfaces with intents
for any implementation policies? For example, an interface with operations
whose invocations should be audited may be annotated with @requires("auditing").
In this example, the client does no have to be aware of the intents
on the interface, I believe.
-- Sanjay
From: Michael Rowley [mailto:mrowley@bea.com]
Sent: Tuesday, Oct 23, 2007 8:04 AM
To: Patil, Sanjay; sca-policy@lists.oasis-open.org
Subject: RE: [sca-policy] ISSUE 7: Required intents on interfaces [Implicit
addition of intents based on a service or reference's @requires list]
I don’t think it is possible to have an intent on an interface and _not_
have the client see it, since the client sees the interface. E.g.:
@requires(“confidentiality”)
interface Foo {
...
}
Michael
From: Patil, Sanjay [mailto:sanjay.patil@sap.com]
Sent: Monday, October 22, 2007 6:51 PM
To: Michael Rowley; sca-policy@lists.oasis-open.org
Subject: RE: [sca-policy] ISSUE 7: Required intents on interfaces [Implicit
addition of intents based on a service or reference's @requires list]
Do we need to limit the use of intents on interfaces to cases where the
intents are part of the contract between the provider and the contract?
Why shouldn't we leave the door open for allowing interfaces to declare
requirements for implementation policies (that are not necessarily visible
to the clients)?
I think it may be enough description to say that - "Intents may also
be specified on an interface and when present, they apply to the Services
and Reference using that interface".
Rest of the proposal looks good to me.
-- Sanjay
From: Michael Rowley [mailto:mrowley@bea.com]
Sent: Monday, Oct 22, 2007 14:56 PM
To: sca-policy@lists.oasis-open.org
Subject: RE: [sca-policy] ISSUE 7: Required intents on interfaces [Implicit
addition of intents based on a service or reference's @requires list]
The policy spec should also describe why an intent should be placed on
an interface. I would propose something like the following:
“Intents should be specified on interfaces when they should be seen by
both the provider and the client of the service and should be treated as
part of the contract between provider and the client.”
I believe that the policy set selection algorithm also needs to be modified
to reflect these semantics. We could do this by adding a step between
step A2 and A3 which says:
A 2.5. If the target element is a binding, include all required intents
defined on the interface that provides the type for the service or reference
that the binding is on (i.e. follow this path: binding->service->interface->@required).
Michael
From: Joshi, Kaanu [mailto:Kaanu.Joshi@patni.com]
Sent: Wednesday, October 17, 2007 2:04 AM
To: sca-policy@lists.oasis-open.org
Subject: [sca-policy] ISSUE POLICY-7: Required intents on interfaces
[Implicit addition of intents based on a service or reference's @requires
list]
Hi,
Please find the link to the JIRA system: http://www.osoa.org/jira/browse/POLICY-7
The subject has been modified to: Implicit addition of intents based
on a service or reference's @requires list
Regards,
Kaanu Joshi
PS: In conformance with newly adopted issues process.
From: Michael Rowley [mailto:mrowley@bea.com]
Sent: Monday, October 08, 2007 9:12 PM
To: sca-policy@lists.oasis-open.org
Subject: [sca-policy] NEW ISSUE: Required intents on interfaces
TARGET: SCA Policy Framework Specification
DESCRIPTION:
The input specification to the SCA Assembly TC has the following paragraph
starting at line 900:
The @requires attribute can be applied to WSDL Port Type elements (WSDL
1.1) and to WSDL Interface elements (WSDL 2.0). The attribute contains
one or more intent names, as defined by the
Policy Framework specification [10].
Any service or reference that uses an interface with required intents implicitly
adds those intents to its own @requires list.
However, the policy framework specification has no description of what
it means for a policy intent to be required by an interface. I believe
this definition belongs in the policy framework specification.
PROPOSAL
Add this paragraph (or something similar) to the policy framework specification.
http://www.patni.com
World-Wide Partnerships. World-Class Solutions.
_____________________________________________________________________
This e-mail message may contain proprietary, confidential or legally privileged
information for the sole use of the person or entity to whom this message
was originally addressed. Any review, e-transmission dissemination or other
use of or taking of any action in reliance upon this information by persons
or entities other than the intended recipient is prohibited. If you have
received this e-mail in error kindly delete this e-mail from your records.
If it appears that this mail has been forwarded to you without proper authority,
please notify us immediately at netadmin@patni.com and delete this mail.
_____________________________________________________________________
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
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
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]