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

RE: Another way of thinking about EPRs

From: Savas Parastatidis <Savas.Parastatidis@newcastle.ac.uk>
Date: Fri, 10 Dec 2004 12:17:34 -0000
Message-ID: <37E80E80B681A24B8F768D607373CA800197A796@largo.campus.ncl.ac.uk>
To: "Martin Gudgin" <mgudgin@microsoft.com>, <public-ws-addressing@w3.org>

Hey Gudge,

Yes, your examples make sense but here are three counterarguments to
them:

1. Message structure (and perhaps contents of some elements) can be
described in a message description language. From WSDL and WS-Policy we
can infer the structure and contents of the messages we want to
exchange. Are you suggesting that WS-Addressing should be yet another
way of describing message format?

According to your examples bellow, it was a requirement of the receiving
service to see those particular headers in a message. But the receiving
service may need to see more headers there as well (e.g. WS-Security,
WS-Context, etc.). Should those be included in the EPR too?

2. Yes, I understand the arguments of not having to decrypt the message
body to get access to this information and to take advantage of
infrastructure etc. However, the "GOLD/SILVER/PLATINUM" example has been
presented before and I don't understand its motivation. Is there a
suggestion that just because someone included the
<m:ServiceLevel>GOLD</m:ServiceLevel> header they will automatically
receive that kind of service? Obviously some authentication will have to
take place (e.g. the message carries an appropriate security token). An
architect will design a system to determine whether GOLD service will be
provided to the requestor only after authentication. In such a case, we
don't really need the extra header. 

The only related use case I can think of is to have an EPR from which
one could get access (using WS-MetadataExchange) to the metadata of the
PLATINUM service even though they are not allowed to use it (e.g. look
what you can have if you subscribe to our PLATINUM service).

3. Finally, is it the case that you couple the TxId to a particular
endpoint and you hide the transaction from the services that use that
EPR (opaqueness of the EPR)? What if the transaction spanned multiple
endpoints? Would you have to issue multiple EPRs with different TxIDs?

Best regards,
--
Savas Parastatidis
http://savas.parastatidis.name
 

> -----Original Message-----
> From: public-ws-addressing-request@w3.org
[mailto:public-ws-addressing-
> request@w3.org] On Behalf Of Martin Gudgin
> Sent: 09 December 2004 23:47
> To: public-ws-addressing@w3.org
> Subject: Another way of thinking about EPRs
> 
> 
> I've noticed that whenever we talk about issues i001 and i008, that
> there is an implicit assumption that we start with an EPR and go from
> that to the message. I think that in many cases, the reverse is
actually
> true, that is, people start with SOAP messages with headers in and
then
> decide how to communicate to a potential sender what those messages
> should look like ( WRT the headers ).
> 
> For example, I want to have people send me messages that look like the
> three below.
> 
> <soap:Envelope>
>  <soap:Header>
>    <wsa:To>http://example.org/weather</wsa:To>
>    <m:ServiceLevel>Gold</m:ServiceLevel>
>    <m:TxId>1234</m:TxId>
>  </soap:Header>
>  <soap:Body>
>  . . .
>  </soap:Body>
> </soap:Envelope>
> 
> <soap:Envelope>
>  <soap:Header>
>    <wsa:To>http://example.org/weather</wsa:To>
>    <m:ServiceLevel>Silver</m:ServiceLevel>
>    <m:TxId>1234</m:TxId>
>  </soap:Header>
>  <soap:Body>
>  . . .
>  </soap:Body>
> </soap:Envelope>
> 
> <soap:Envelope>
>  <soap:Header>
>    <wsa:To>http://example.org/weather</wsa:To>
>    <m:ServiceLevel>Gold</m:ServiceLevel>
>    <m:TxId>4567</m:TxId>
>  </soap:Header>
>  <soap:Body>
>  . . .
>  </soap:Body>
> </soap:Envelope>
> 
> How can I communicate to my users that I want the messages to look
like
> this? Ah, I know, I'll send them an EPR. Here are the three EPRs for
the
> messages above ( my seperation between Props/Params is arbitrary ).
> 
> <wsa:EndpointReference>
>  <wsa:Address>http://example.org/weather</wsa:Address>
>  <wsa:ReferenceProperties>
>   <m:ServiceLevel>Gold</m:ServiceLevel>
>  </wsa:ReferenceProperties>
>  <wsa:ReferenceParameters>
>   <m:ServiceLevel>1234</m:ServiceLevel>
>  </wsa:ReferenceParameters>
> </wsa:EndpointReference>
> 
> <wsa:EndpointReference>
>  <wsa:Address>http://example.org/weather</wsa:Address>
>  <wsa:ReferenceProperties>
>   <m:ServiceLevel>Silver</m:ServiceLevel>
>  </wsa:ReferenceProperties>
>  <wsa:ReferenceParameters>
>   <m:ServiceLevel>1234</m:ServiceLevel>
>  </wsa:ReferenceParameters>
> </wsa:EndpointReference>
> 
> <wsa:EndpointReference>
>  <wsa:Address>http://example.org/weather</wsa:Address>
>  <wsa:ReferenceProperties>
>   <m:ServiceLevel>Gold</m:ServiceLevel>
>  </wsa:ReferenceProperties>
>  <wsa:ReferenceParameters>
>   <m:ServiceLevel>4567</m:ServiceLevel>
>  </wsa:ReferenceParameters>
> </wsa:EndpointReference>
> 
> Does this make any sense?
> 
> Gudge
> 
Received on Friday, 10 December 2004 12:18:13 GMT

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