- 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
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
1-617-693-4036
--------------------------------------
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
WS-Addressing
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:22:02 UTC