W3C home > Mailing lists > Public > www-tag@w3.org > December 2005

Re: TAG requests help with examples of WS-Addressing

From: <noah_mendelsohn@us.ibm.com>
Date: Tue, 6 Dec 2005 17:21:50 -0500
To: David Hull <dmh@tibco.com>
Cc: public-ws-addressing@w3.org, www-tag@w3.org
Message-ID: <OF4693EB5C.E8D7C2C9-ON852570CF.007AC71F-852570CF.007AD987@lotus.com>

Thank you.  We've just completed our F2F discussion and I think that 
exactly the point you make below was well covered.  Thank you, and thanks 
to everyone else who's contributed useful feedback on this.  It's been a 
big help to us.

Noah Mendelsohn 
IBM Corporation
One Rogers Street
Cambridge, MA 02142

David Hull <dmh@tibco.com>
12/06/2005 05:14 PM
        To:     noah_mendelsohn@us.ibm.com
        cc:     public-ws-addressing@w3.org, www-tag@w3.org
        Subject:        Re: TAG requests help with examples of 

What jumps out here is
Note that the one thing that's missing from the above is any indication 
that there's a Reference Parameters that's required for the service to 
work. This seems bizarre to me, but maybe I'm missing something.
I think the question to keep in mind here is "Who is advertising what to 
whom?"  In WSN, which draws heavily on WSRF and so should be a good 
example of this pattern, we define a set of operations on subscriptions 
(called "SubscriptionManagers" in WSN), for example Pause, Resume, 
Destroy, GetProperties, etc.  We define a WSDL for what the elements in 
the body look like, but we specifically don't say anything in WSDL about 
what reference parameters (or other headers) need to be present in order 
to send a successful Pause, Resume etc. request.

Instead, that information is determined by the service that mints the EPR, 
in this case the subscription factory (called the "NotificationProducer" 
in WSN).  More concretely, the response to the Subscribe request message 
contains an EPR, which the subscribing party may use to further manipulate 
the subscription.

The [reference parameters] are meant to be opaque.  In general, you don't 
mint an EPR in order to access a service.  Someone else hands you an EPR 
that you can use to access a service.  You need to know what sort of 
messages you can send to that EPR, but you don't need to know precisely 
what the EPR is going to look like before you get it.

In the WSN case, the factory may choose to include all identifying 
information in the [address] IRI of the EPR it hands out, or it may 
include some sort of SubscriptionId parameter, or anything else it deems 
necessary.  The behavior of the subscribing party is exactly the same in 
all cases.  It chooses what operation it wants to perform, and (if it has 
multiple subscriptions open) which EPR to use to send the request, but it 
does not choose what headers to include (if any) to further identify the 
subscription.  It gets those from the EPR.

By contrast, if the Pause, Resume etc. operations were defined with 
reference to a SubscriptionId to be passed as a parameter in the body of a 
request message, then the WSDL would have to advertise that parameter just 
like anything else.

Hope this helps.

noah_mendelsohn@us.ibm.com wrote: 
The TAG is trying to learn more about Web Services Addressing and its 
likely uses.  To further our investigations, TAG member Henry Thompson set 

out to create a representative example of Endpoint Reference use, based 
primarily on what he could learn from publicly available sources.  Note 
that Henry claims no deep expertise in WSA, and indeed is trying to learn 
by doing.  Henry's first pass at an example is at [1] (advertised in email 

at [2]).  In part because it contained both samples and a toolkit, Henry 
chose to use the Apache WSRF toolkit [3] as the basis for his work. 

The TAG would very much appreciate guidance as to whether this is an 
appropriate first example from which to learn, and if not, where we might 
look to find something more representative.  Among the specific questions 
and concerns that have arisen are:

* If we want to understand typical uses of EPRs, are we doing the right 
thing to start with WSRF-based examples or are there others we should 
consider first?

* Given that the example is WSRF-based, there is some confusion as to 
where the EPR would have come from, and the degree to which the EPR would 
in practice be opaque to the client.  In other discussions it has been 
suggested that EPRs are typically returned from a service provider and 
are, except insofar as the SOAP binding requires them to be re-expressed 
as headers for transmission, opaque to the client.

* Is it typical to have an operation such as sq:TradePriceRequest, as in 
Henry's example, or would it be more common to have a more generic 
GET-like operation such as GetResourceProperty [4]?

* The likely use of WSDL with EPRs is still somewhat unclear to us. 
Henry's example does provide some WSDL, but it's not entirely clear how 
its use relates to Web Services addressing.

The TAG is holding a F2F meeting on Monday and Tuesday Dec. 5 and 6.  For 
the moment, it will be more useful to have early informal input than to 
have a later formal response from the Web Services Addressing Workgroup. 
Any guidance that you can provide us would be much appreciated.

Thank you.

Noah Mendelsohn
- for the W3C Technical Architecture Group


[2] http://lists.w3.org/Archives/Public/www-tag/2005Nov/0008.html
[3] http://ws.apache.org/wsrf/

Noah Mendelsohn 
IBM Corporation
One Rogers Street
Cambridge, MA 02142

Received on Tuesday, 6 December 2005 22:22:02 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 22:56:10 UTC