Re: Draft wording for targetResource attribute

David, 

sorry about taking so long to reply.

Anyway, I don't believe the names of services should affect the
relationship expressed using the targetResource attribute. I take the
namespace name as a part of the name, and I see XML namespaces as means
of avoiding conflicts in decentralized environments. The namespace URI
does identify something, but I don't think it necessarily identifies the
Web Services-related semantics.

Consider a simple situation where we have the Amazon.com web services
and say Joe R. Librarian and Jane Q. Bookseller, both of whom provide to
their local customers a simplified version of the Amazon.com web
services (both provide the same interface). They may want to indicate in
their WSDL files that their services are in fact just a facade for
Amazon.com web services, by for example adding
targetResource="http://www.amazon.com/webservices". Of course, their
services are in different namespaces because Jane and Joe have the
domains jqbookstore.com and jrlibrary.edu and rightly use these names in
their namespaces, but for me, they should be interchangeable.

Hope it makes sense,

                   Jacek Kopecky

                   Senior Architect
                   Systinet Corporation
                   http://www.systinet.com/






On Wed, 2003-06-11 at 01:33, David Booth wrote:
> Jacek,
> 
> Sorry I neglected to specifically address this in my previous message.
> 
> I am assuming in your example that you meant the services to use the same 
> targetNamespace.  If so, it seems to me that (normally) you would already 
> have that kind of semantic equivalence, since the targetNamespace 
> indentifies the intended semantics[3].  However, in the end, it will always 
> depend on how the semantics of that particular service are defined, which 
> is outside of our scope to define.
> 
> For example:
> 
> <definitions targetNamespace="n" ...>
>    . . .
>    <service name="a" interface="i" targetResource="foo">
>     <port name="x">...</port>
>    </service>
> </definitions>
> 
> <definitions targetNamespace="n" ...>
>    . . .
>    <service name="b" interface="i" targetResource="foo">
>     <port name="y">...</port>
>    </service>
> </definitions>
> 
> Both services indicate the same targetNamespace ("n"), which is supposed to 
> unambiguously identify the semantics of the terms used in that 
> namespace[3].  Since service "a" and service "b" also indicate the same 
> WSDL interface ("i"), then it would be natural to make them semantically 
> equivalent, and doing so might be recommended "best practice".  But since 
> the semantics of the service are beyond the scope of the WSDL 
> specification, they COULD be defined differently.
> 
> In other words, it may be a good idea to make them equivalent in most 
> cases, and that may be a good thing to recommend as a "best practice", but 
> since the semantics of a service are not defined by the WSDL specification, 
> I don't think it's something that the WSDL specification can meaningfully 
> require.
> 
> 1. WSDL 1.2 draft: 
> http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/wsdl12/wsdl12.html#Service_resource_attribute
> 
> 2. TAG Web Arch: http://www.w3.org/TR/webarch/#representations
> 
> 3. targetNamespace: 
> http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/wsdl12/wsdl12.html#Definitions_XMLRep
> 
> 4. Resource definition: http://www.ietf.org/rfc/rfc2396.txt
> 
> 
> At 02:02 PM 6/10/2003 +0200, Jacek Kopecky wrote:
> >David,
> >
> >I've fought on one telcon for the wording, whatever it ends up being, to
> >include the following explanation (not necessarily in the same words):
> >
> >Different ports in two services with the same interface and the same
> >targetResource are interchangeable in the same sense as different ports
> >within one service with that interface and targetResource. I.e. from the
> >point of view of the ports, it doesn't really matter if I write
> >
> ><service name="a" interface="i" targetResource="foo">
> >    <port name="x">...</port>
> ></service>
> ><service name="b" interface="i" targetResource="foo">
> >    <port name="y">...</port>
> ></service>
> >
> >or
> >
> ><service name="c" interface="i" targetResource="foo">
> >    <port name="x">...</port>
> >    <port name="y">...</port>
> ></service>
> >
> >It seemed to me that there was general agreement to this.
> >
> >Best regards,
> >
> >                    Jacek Kopecky
> >
> >                    Senior Architect
> >                    Systinet Corporation
> >                    http://www.systinet.com/

Received on Monday, 23 June 2003 11:11:51 UTC