RE: NEW ISSUE: EPR comparison rule doesn't support Web services gateways/routers [i048]

To summarize my previous notes on this subject, here is a further
elaboration of my position on this issue.

I am against the idea of simply dropping sec. 2.3, not because I love
that section, but because by dropping it we would lose the following
important piece of definition:

"The following rule clarifies the relation between the behaviors of the
endpoints represented by two endpoint references with the same
[address]; 
The two endpoints accept the same sets of messages, and follow and
require the same set of policies. That is, the XML Schema, WSDL, and
policy and other metadata applicable to the two references are the same.
However, the metadata embedded in each of the EPRs MAY differ".

I believe this should be a fundamental property of EPRs, and it goes
hand in hand with the Note appearing in our Charter:

"Note: the Architecture of the World Wide Web, First Edition indicates
that distinct resources must be assigned to distinct URIs. This must be
considered when refining the mechanism for the service specific message
headers".

We could of course debate what exactly "resources" are in our case. My
take is that, when it comes to Web services, resources are the
individual Web services themselves.

Regarding the gateway/router example, I think the discussions we have
had so far have been mixing separate concepts that should instead be
kept separate. Let me try to make this separation.

First of all, we have to identify which resource(s) the EPR we are
talking about is referring to. Is it the gateway itself or is it one of
the Web services behind the gateway?

Case 1: the EPR we are talking about refers to the gateway

In this case, I don't see any problem with the statement from sec. 2.3
which I quoted before. There is only one Web services that we are
talking about here: the gateway itself. So there is only one URI, one
WSDL, one set of policies, one set of metadata, etc. Sure there might be
other services behind the gateway, but it is the business of the gateway
to identify them, to start conversations with them, etc. The EPR we are
talking about is exclusively the EPR of the gateway service and NOT the
EPR of any of those services behind the gateway. Do we want to put the
individual addresses of those services in the gateway EPR as part of the
ref params? Fine with me. There is still no contradiction with what the
2.3 statement says. We would have different copies of the gateway EPR
each having the same [address] but different values of the ref params.
The gateway will know how to use those ref params properly.

Case 2: the EPRs we are talking about refer to Web services behind the
gateway (actually, a proxy).

In this case the various EPRs should individually identify the various
services and each [address] URI should be different. It is not even
correct to talk of a gateway in this case, and we should probably talk
about a proxy.
So how do we deal with the address/URI of the proxy? We should
acknowledge that this is a completely different type of concern, and it
deals with routing through an intermediary. WS-A has ways to deal with
that. (If, for instance, we wanted to include the proxy address in those
target service EPRs by inserting it in the corresponding ref params
parts, I would have no problem with that. In that case we would have a
set of different EPRs having different [address]es but sharing the same
gateway address as a ref param. Again, no conflict with the 2.3
statement).


Ugo


> -----Original Message-----
> From: public-ws-addressing-request@w3.org
> [mailto:public-ws-addressing-request@w3.org] On Behalf Of 
> Mark Nottingham
> Sent: Friday, January 28, 2005 8:34 PM
> To: Francisco Curbera
> Cc: public-ws-addressing@w3.org
> Subject: Re: NEW ISSUE: EPR comparison rule doesn't support 
> Web services gateways/routers [i048]
> 
> 
> 
> This is now issue 048;
>    http://www.w3.org/2002/ws/addr/wd-issues/#i048
> 
> Cheers,
> 
> 
> On Jan 25, 2005, at 11:28 AM, Francisco Curbera wrote:
> 
> > The text now states that two EPRs with the same URL and
> different ref.
> > params. have the same metadata. This leaves out an
> important use case
> > of Web service gateways/routers which is one of the most
> pervasive Web
> > services products in the industry. In a gateway architecture we
> > encounter
> > situations where a single external address (http, smtp, 
> message queue o
> > whatever) front ends a variety of services deployed inside the
> > enterprise.
> > These have typically different metadata, including both 
> different WSLD
> > and
> > policies, etc. This not uncommon arrangement will not be
> supported by
> > the
> > resolution above, since the implication is that all services would
> > need to
> > be different copies of the same one - same WSDL etc. Note that this 
> > kind of
> > restriction is also completely absent from WSDL 2.0 for 
> example, where
> > two
> > endpoints are not restricted to have separate addresses.
> 
> --
> Mark Nottingham   Principal Technologist
> Office of the CTO   BEA Systems
> 
> 
> 

Received on Saturday, 29 January 2005 21:16:39 UTC