Graphical design component

r2 - 08 May 2006 - 10:22:38 - GregorHagedornYou are here: TWiki >  UBIF Web > ObsoleteTopicProxyDataModel > ProxyLinkByWebservice

ProxyLinkByWebservice

Until version UBIF 1.0 beta 14, the ProxyBaseType in UBIF contained an attempt to model linking using fully definable web service links. This was correctly criticized as being rather complex and consequently unlikely to be used.

The part has therefore been removed from future UBIF beta versions. The xml schema fragment is preserved below to possibly form the basis for future discussion, if this should become desirable. A better overview is the following schema diagram:

ProxyBaseLink_LastWebservice.png


<xs:element name="WebService" minOccurs="0">
<xs:annotation>
  <xs:documentation xml:lang="en-us">A web service providing an object representation, of which either the 
wsdl url is directly known, or which 
can be discovered through UDDI (allowing the service to move to 
new locations).

@@ The lack of distinction 
between identifying parameters, 
and method-specific parameters 
in web services is problematic. 
Different services or methods 
may have different parameter, 
but may still be pointing to the 
same object!</xs:documentation>
</xs:annotation>
<xs:complexType>
  <xs:sequence>
    <xs:choice>
      <xs:element name="ServiceURI" type="xs:anyURI">
        <xs:annotation>
          <xs:documentation xml:lang="en-us">Defines a static service uri; normally a web service wsdl-file.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:sequence>
        <xs:annotation>
          <xs:documentation xml:lang="en-us">Alternatively,
the service 
may be
discovered
through 
UDDI</xs:documentation>
        </xs:annotation>
        <xs:element name="RegistryURI" type="xs:anyURI" minOccurs="0">
          <xs:annotation>
            <xs:documentation xml:lang="en-us">This might be the wsdl URI of the UDDI web service itself. We assume that the UDDI used is a private UDDI, not part of the global business UDDI system. Is missing, if the public UDDI has been used.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="BindingKey" type="String255">
          <xs:annotation>
            <xs:documentation xml:lang="en-us">A key value to recover the desired service port from a UDDI registry. This might be a UUID key provided by the registry.</xs:documentation>
          </xs:annotation>
        </xs:element>
      </xs:sequence>
    </xs:choice>
    <xs:element name="MethodName" type="String255">
      <xs:annotation>
        <xs:documentation xml:lang="en-us">Name of a method retrieving the object from a web service. Other methods to link information between the current infoset and the external infoset may exist; how to use these would be application knowledge. 

A method or function is called an operation in the wsdl file</xs:documentation>
      </xs:annotation>
    </xs:element>
    <xs:element name="Parameters" minOccurs="0">
      <xs:annotation>
        <xs:documentation xml:lang="en-us">Parameters to be 
used when calling 
the method above</xs:documentation>
      </xs:annotation>
      <xs:complexType>
        <xs:sequence>
          <xs:element name="Parameter" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en-us">ATTR: name / value 
(both as string, date or numerical types are assumed to be converted into the xml string representation)</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:attribute name="name" type="xs:string" use="required"/>
              <xs:attribute name="value" type="xs:string" use="required"/>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
      </xs:complexType>
    </xs:element>
  </xs:sequence>
</xs:complexType>
</xs:element>


Instance example:

<WebService>
  <RegistryURI>uddi.gbif.net</RegistryURI>
  <BindingKey>Fishbase-DiGIR-Interface</BindingKey>
  <MethodName>DiGIR-Request</MethodName>
  <Parameters>
    <Parameter name="ID" value="99999"/>  
    <!-- Note: in ABCD no single object ID is planned for, instead mutliple parameters have to be passed to a webservice-->
  </Parameters>
</WebService>

-- GregorHagedorn - 13 Aug 2004


Edit | Attach | Printable | Backlinks: Web, All Webs | History: r2 < r1 | More topic actions
 
Back to TDWG Homepage TDWG Wiki > UBIF
This site is powered by the TWiki collaboration platform

Valid XHTML 1.0 Transitional
Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback