Re: WSDL-S's action and related WS-Addressing and WSDL discussions and concepts

* KUNAL VERMA <verma@cs.uga.edu> [2005-06-29 17:37-0400]
> >>The main difference is that WSDL-S has it at the operation level,
> >>whereas discussions in the Web services worlds have let to the
> >>conclusion that it should be a message level property.
> 
> Based on your above statement, I have a couple of questions, which will
> help me in understanding the intent of adding "action" as a message level
> property instead of an operation level property.
> 
> 1. Is there a particular scenario, in which a message can be sent to a Web
>    service, without being associated with a particular operation? In
>    other words, can a SOAP message be sent to a Web service, without
>    having an operation name in it?

As Carine pointed out, messages do not necessarily contain metadata.
In particular, if WSDL wasn't used to describe the service, e.g.
because another description language is being used which doesn't have
the concept of operation, then this information will definitely not be
present.

However, you may still want to include a concept of meaning/intent of
the message, independently of how it's described. The idea is to be
able to look at a message and know what it's about.

> 2. In WSDL 2.0, where there is no explicit message construct (unless I am
>    totally wrong about this), how can we make it a message level property.

WSDL 2.0 has a concept of interface message references[3], which are
composed into operations.

> >From our perspective, We chose to add "action" as an operation level
> property (annotation in WSDL-S terms), as we perceive operations as atomic
> units of functionality of Web services. Annotation of operations
> with the "action" concept (along with pre and post conditions), helps us
> in describing the functional semantics of a particular operation. That is
> consistent with the METEOR-S [1] philosophy of using 4 types of semantics
> (functional, data, behavorial and non-functional) to describe the semantics
> of Web services and processes. Details of where the semantics are used
> in the Web service and process lifecyle are given in [2,3].

The problem with identifying things at the operation level is that,
supposing that you have an operation with an input-output-input-output
pattern, you can't include information in the message to distinguish
which input and which output is being seen on the wire.

* KUNAL VERMA <verma@cs.uga.edu> [2005-07-01 11:42-0400]
> On Thu, 30 Jun 2005, Carine Bournez wrote:
> 
> > > 2. In WSDL 2.0, where there is no explicit message construct (unless I am
> > >    totally wrong about this), how can we make it a message level property.
> >
> > What about input and output?
> 
> According to the schema of operation in WSDL 2.0 available at [1]:
>     An operation can have 0 or more inputs and outputs, thus implying that
>     there is not a 1 to 1 correspondence between an input and a message.
> 
> While, at a SOAP level, it makes perfect sense to add action as a message
> level property, doing so at WSDL level might lead to some tricky issues.
> (e.g. do we add "action" to all inputs and outputs of an operation)
> 
> [1] http://www.w3.org/TR/2005/WD-wsdl20-20050510/#InterfaceMessageReference_XMLRep

As I mentioned above, I believe that every message should have an action
(noting that 2 messages could have identical ones if their semantics is exactly
the same). To alleviate the pain of assigning them to each individual message
when sometimes you may just want to say "it's the confirm purchase operation",
"this is the confirm purchase message" and "it's the response to the confirm
purchase message", defaulting mechanisms may be used, in the spirit of what
Addressing has done[2].

Regards,

Hugo

  2. http://www.w3.org/TR/2005/WD-ws-addr-wsdl-20050413/#defactionwsdl20
  3. http://www.w3.org/TR/2005/WD-wsdl20-20050510/#InterfaceMessageReference
-- 
Hugo Haas - W3C
mailto:hugo@w3.org - http://www.w3.org/People/Hugo/

Received on Monday, 4 July 2005 09:26:52 UTC