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

Re: TAG requests help with examples of WS-Addressing

From: David Hull <dmh@tibco.com>
Date: Tue, 06 Dec 2005 17:14:14 -0500
To: noah_mendelsohn@us.ibm.com
Cc: public-ws-addressing@w3.org, www-tag@w3.org
Message-id: <43960D36.3090701@tibco.com>
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
>
>[1] 
>http://lists.w3.org/Archives/Public/www-tag/2005Nov/att-0008/eprExample.html
>[2] http://lists.w3.org/Archives/Public/www-tag/2005Nov/0008.html
>[3] http://ws.apache.org/wsrf/
>[4] 
>http://docs.oasis-open.org/wsrf/2004/11/wsrf-WS-ResourceProperties-1.2-draft-05.pdf
>
>--------------------------------------
>Noah Mendelsohn 
>IBM Corporation
>One Rogers Street
>Cambridge, MA 02142
>1-617-693-4036
>--------------------------------------
>
>
>
>
>
>
>  
>
Received on Tuesday, 6 December 2005 22:15:07 GMT

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