[ogsa-naming-wg] WS-Names and WS-Addressing WSDL Binding

Maguire_Tom at emc.com Maguire_Tom at emc.com
Fri Oct 7 11:41:09 CDT 2005


This will be a fairly long note to discuss the current incarnation of
WS-Naming Abstract Names.  An Abstract Name has the following properties:

*	The name MUST be globally unique in both space and time.
*	The name conforms to URI syntax ("Uniform Resource Identifiers
(IRI): Generic Syntax", RFC 3987).

Let's leave aside the first point, for the time being, and focus on the
second point.  The abstract name is an IRI which is an internationalized
URI.  Currently this means that a WS-Name abstract name would look like
this:

<wsa:EndpointReference
    xmlns:wsa="http://www.w3.org/2005/03/addressing"
    xmlns:name="http://ggf.org/name">
        <wsa:Address>http://tempuri.org/example</wsa:Address>
 
<name:AbstractName>urn:guid:B94C4186-0923-4dbb-AD9C-39DFB8B54388</name:Abstr
actName>
</wsa:EndpointReference>

There are several built in assumptions in this particular rendering of an
abstract name.   First, there is an assumption that the <wsa:Address> is the
[destination] MAP of the EPR.  Second, the AbstractName does not need to
flow on the wire when 'dereferencing' this EPR.  

It may be ok for the AbstractName to not flow on the wire.  I will leave
that discussion to others.  Let's focus on the first assumption...
If you assume that the <wsa:Address> is NOT necessarily a physical address
(URL) then it is essentially the same as an AbstractName minus the "MUST be
globally unique in both space and time" property described above. 

This is essentially how 'Web Services Addressing 1.0 - WSDL Binding' defines
a <wsa:Address>.  An example from that specfication:

<wsa:EndpointReference
    xmlns:wsa="http://www.w3.org/2005/03/addressing">
  <wsa:Address>http://example.com/fabrikam/acct</wsa:Address>
  <wsa:Metadata>
    <wsdl11:definitions targetNamespace="http://example.com/fabrikam"
        xmlns:fabrikam="http://example.com/fabrikam"
        xmlns:abc="http://www.abccorp.com/"
        xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
        xmlns:iiop="http://www.iiop.org/"
        xmlns:wsdl11="http://schemas.xmlsoap.org/wsdl/">
      <wsdl11:import namespace="http://example.com/fabrikam"  
          location="http://example.com/fabrikam/fabrikam.wsdl"/>
      <wsdl11:import namespace="http://www.abccorp.com/" 
          location="http://www.abccorp.com/abc.wsdl"/>
      <wsdl11:service name="InventoryService">
        <wsdl11:port name="ep1" binding="abc:soap-http-binding"> 
          <soap:address location="http://example.com/fabrikam/acct"/>
        </wsdl11:port>
        <wsdl11:port name="ep2" binding="abc:iiop"> 
          <iiop:address location="..."/>
        </wsdl11:port>
      </wsdl11:service>
    </wsdl11:definitions>
  </wsa:Metadata>
</wsd:EndpointReference>

And also from 'Web Services Addressing 1.0 - WSDL Binding'

	In particular, embedding a WSDL service component description MAY be
used by EPR issuers to indicate the presence of alternative addresses and
protocol bindings to access the referenced endpoint. The alternatives are
provided by the different endpoints of the embedded service. 

It is interesting to note that in the above example that the <wsa:address>
matches the soap:address location.  
So this says to me that the <wsa:address> is essentially equivalent (or at
least could be) to an abstract name. 

Thoughts? 


Thanks,
Tom

Senior Technologist, CTO Office 
EMC²|SMARTS
44 South Broadway
7th Floor
White Plains, NY 10601
Office: +1-914-508-3477
Mobile: +1-845-729-4806
Email: maguire_tom at emc.com <mailto:maguire_tom at emc.com>  

If you want to build a ship, don't drum up people to collect wood and don't
assign them tasks and work, but rather teach them to long for the endless
immensity of the sea.

Antoine de Saint-Exupery





More information about the ogsa-naming-wg mailing list