W3C home > Mailing lists > Public > public-ws-addressing@w3.org > November 2004

Re: WS-Addr issues

From: Mark Little <mark.little@arjuna.com>
Date: Thu, 4 Nov 2004 15:39:59 -0000
Message-ID: <054801c4c284$8b3bf310$850a090a@exhp>
To: "Harm Smit" <hsmit@easyconnect.fr>, "'Savas Parastatidis'" <Savas.Parastatidis@newcastle.ac.uk>, "'Francisco Curbera'" <curbera@us.ibm.com>
Cc: <public-ws-addressing@w3.org>

OK, let's try to put this into some kind of perspective. Is WS-Addressing
about "addressing" or "dispatching"? I'd assume from the name that it's the
former. In which case, why embed an opcode into an address? I've had
experience with a wide range of RPC mechanisms over the past 20+ years and
they always make the distinction between an address (e.g., host/port pair,
URI) and the ultimate dispatching mechanism (e.g., opcode or string).

What we seem to have with wsa:Action is some strange merging of dispatch and
addressing into a single entity. I (and I think Savas) aren't saying that we
can't see the requirement for wsa:Action; only that it doesn't belong in a
specification that is about addressing. Why not WS-Dispatch, or WS-RPC
instead.

Mark.

----
Mark Little,
Chief Architect,
Arjuna Technologies Ltd.

www.arjuna.com

----- Original Message -----
From: "Harm Smit" <hsmit@easyconnect.fr>
To: "'Savas Parastatidis'" <Savas.Parastatidis@newcastle.ac.uk>; "'Francisco
Curbera'" <curbera@us.ibm.com>; "'Mark Little'" <mark.little@arjuna.com>
Cc: <public-ws-addressing@w3.org>
Sent: Thursday, November 04, 2004 3:29 PM
Subject: RE: WS-Addr issues


> Savas,
>
> Why are you complicating the issue?
> What is being demonstrated here is that in document mode, you can't
> unambiguously infer the opcode from the soap:Body.
> So, in fact, the SOAP message can be viewed as a command of which
> wsa:action is the opcode and the  soap:Body the operand.
> What's wrong with this and why would you try to find some convoluted
> solution to make the wsa:action optional?
>
> Harm Smit.
>
>
> > -----Original Message-----
> > From: public-ws-addressing-request@w3.org
> > [mailto:public-ws-addressing-request@w3.org] On Behalf Of
> > Savas Parastatidis
> > Sent: jeudi 4 novembre 2004 16:02
> > To: Francisco Curbera; Mark Little
> > Cc: public-ws-addressing@w3.org
> > Subject: RE: WS-Addr issues
> >
> >
> >
> > Dear Paco,
> >
> > >
> > > The idea that the intent of the message is *always* embedded in the
> > body
> > > of
> > > the message smells like SOAP-RPC in sheep clothes to me. I am not
> > saying
> > > that will never be the case, but you need to allow for the case in
> > which
> > > the same document type is used in different interactions - for
> > example, a
> > > customerInfo document could be sent as input to both an
> > "update" and a
> > > "create" operations.This "document centric" model is actually very
> > > frequent (it is no uncommon in CICS applications for example). To
> > > support this model
> > > you need either an Action header or something functionally
> > equivalent.
> > >
> >
> > I can see this argument. However, if one has designed a
> > service to expose an RPC-like interface, it won't matter
> > whether the RPC information is split between the header and
> > the body; it'll still be RPC. It's just that wsa:action would
> > expose the RPC dispatching mechanism in the header instead of
> > the body.
> >
> > An exchange that uses messages like the one bellow is still
> > document-centric but leaves all the dispatching and
> > processing decisions to the end-recipient (the service logic)
> > and it doesn't require the inspection of headers.
> >
> > <soap:Envelope>
> >   <soap:Header>
> >     ...
> >   </soap:Header>
> >   <soap:Body>
> >     <CustomerInfo>
> >       <CustomerId>1234</CustomerId>
> >       <CustomerName>Paco</CustomerName>
> >     </CustomerInfo>
> >   </soap:Body>
> > </soapEnvelope>
> >
> > In this example, the service logic could infer that since a
> > customer id is provided, this is a request to update the
> > information and not to create a new one. However, I see your
> > point that there may be situations where you would need that
> > additional information. I see two possible alternative ways
> > to record that information while staying within a
> > document-centric view of the world...
> >
> > Since WS-I imposes (I think) a single child element per
> > soap:Body, then one could have different child elements of
> > the same document type.
> >
> > <xsd:element name="CustomerInfoUpdateRequest"
> > type="customer:CustomerInfo" /> <xsd:element
> > name="CustomerInfoCreateRequest" type="customer:CustomerInfo" />
> >
> > Alternatively the information is encoded in the document
> > itself. I think this simulates the way business forms work in
> > real life.
> >
> > <CustomerInformationDocument>
> >   <CustomerNew>true</CustomerNew>
> >   <CustomerName>Savas</CustomerName>
> > </CustomerInformationDocument>
> >
> >
> > So, why not make wsa:action optional to allow for all
> > possible scenarios? But then the problems with having
> > wsa:action optional would be interoperability and complexity
> > of the specification. What would the lack of a wsa:action
> > header mean for a service that expects it?
> >
> > Just few more thoughts
> >
> > Best regards,
> > .savas.
> >
> >
> >
>
>
Received on Thursday, 4 November 2004 15:39:50 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 2 June 2009 18:34:59 GMT