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

 


Help: OASIS Mailing Lists Help | MarkMail Help

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]



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]