Terminology

I apologize for the lateness of this.  I tried to send it last week, but 
evidently it was lost when W2K crashed.

                      ----

At today's call, I took an action to propose definitions for terms related 
to the diagram[1].  My main concern is:

         There should be an obvious naming correspondence between WSDL syntax
         and the real world or conceptual things that WSDL documents describe.

I think this is important to avoid seriously confusing our readers.  So for 
our current syntax, I suggest the following terms for the corresponding 
"real world" things.  They are somewhat pedantic, but perhaps they'll help.

wsdl:interface
         The (abstract) interface described by the <wsdl:interface> element.
         It is a collection of wsdl:operations.  The wsdl:interface
         defines how a client can interact with a wsdl:service through an
         agent that is accessed at a location identified by a wsdl:endpoint.

wsdl:service (a/k/a "Web service" or "service")
         The (abstract) service described by the <wsdl:service> element.
         It is accessed through a collection of endpoints, and (if we keep
         the wsdl:@targetResource attribute) it may manipulate some other
         resource that is identified by the wsdl:@targetResource.

wsdl:endpoint
         The (abstract) thing that is described by the <wsdl:endpoint> element.
         It provides a location for accessing a particular agent that is
         accessible via particular protocols described by its associated
         binding.  This agent is NOT assumed to be the same as the 
wsdl:service,
         since there may be several agents at different wsdl:endpoints
         corresponding to the same wsdl:service.  (The wsdl:service is
         more abstract than the agent.)  However, interacting with such
         an agent (through a wsdl:endpoint) implies that you are interacing
         with the associated wsdl:service.

wsdl:operation
         The (abstract) operation template described by the <wsdl:operation>
         element. It is a template for a single interaction with the
         wsdl:service.

wsdl:binding
         The (abstract) association described by the <wsdl:binding> element.
         It associates an (abstract) interface with transport and serialization
         details.

wsdl:targetResource
         The (physical or conceptual) resource[2] identified by the
         wsdl:@targetResource attribute.  Multiple wsdl:services that
         refer to the same wsdl:targetResource are assumed to "manipulate"
         the same resource, though what "manipulate" means is application-
         defined.  The wsdl:targetResource is NOT assumed to be the same
         entity as the wsdl:service, though in some cases it could be the
         same entity.

References

1. Diagram: 
http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/wsdl12/wsdl12.html#serviceresfig1
2. RFC2396 def of "resource": http://www.ietf.org/rfc/rfc2396.txt


-- 
David Booth
W3C Fellow / Hewlett-Packard
Telephone: +1.617.253.1273

Received on Thursday, 3 July 2003 11:56:02 UTC