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

RE: WS-Addr issues

From: Harm Smit <hsmit@easyconnect.fr>
Date: Thu, 4 Nov 2004 17:26:23 +0100
To: "'Mark Little'" <mark.little@arjuna.com>, "'Savas Parastatidis'" <Savas.Parastatidis@newcastle.ac.uk>, "'Francisco Curbera'" <curbera@us.ibm.com>
Cc: <public-ws-addressing@w3.org>
Message-ID: <008c01c4c28b$06a69680$6700a8c0@WXP>


> -----Original Message-----
> From: Mark Little [mailto:mark.little@arjuna.com] 
> Sent: jeudi 4 novembre 2004 16:40
> To: Harm Smit; 'Savas Parastatidis'; 'Francisco Curbera'
> Cc: public-ws-addressing@w3.org
> Subject: Re: WS-Addr issues
> 
> 
> 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).

Mark, Let me add to this perspective that IMHO one of the objectives of
WS-Addressing is to enable completely asynchronous messaging and to
break away from RPC (or consider it as a special case, if you prefer).
So yes, the scope is somewhat wider than just addressing.
 
> 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 16:30:32 GMT

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