Registry Manual REST API SPARQL SAWSDL BioMoby WSDL 1.1 Tutorial Contact Us

BioSWR tutorial

This simple tutorial will guide you through a simple use-case scenario where we are going to register, annotate and search our Web service. All figures are animated while you keep a cursor over them.

Log in

There is a special "guest" account with the same "guest" password which may help you in your decision to use BioSWR registry (figure 1.).

Figure 1. "guest" user login

Register your service

Authorized users may register their services via web interface (figure 2.). For this example we are using our NCBI Blastp service, which WSDL file is located at:
http://inb.bsc.es/service/NCBIBlastp?wsdl

Figure 2. Registering the service via Web interface

Alternatively, Web service may be registered via the REST API (figure 3.).
In this case the URL pointed to the WSDL descriptor mast be provided as a 'url' parameter:
http://inb.bsc.es/BioSWR/rest/service/register?url=http://inb.bsc.es/service/NCBIBlastp?wsdl

Figure 3. Registering the service via RESTful service

Search the service by its name

All registered Web services may be found in the services table. To facilitate Web services search, Web services may be filtered by their state, type or name (figure 4.).

Figure 4. Search for the service by its name

Get the service description by its ID

All registered WSDLs (as well as their dependent XML schema files) are assigned the unique identifier. These identifiers are in fact the MD5 hash of their original location.
For instance MD5(http://inb.bsc.es/service/NCBIBlastp?wsdl) == A6A414DCEA55FA7845BC0053E154DEC2
This identifier may be used to get the Web service description file via the REST API:
http://inb.bsc.es/BioSWR/rest/service/A6A414DCEA55FA7845BC0053E154DEC2

Figure 5. Getting Web service description directly in Web browser

Note that users rarely need to know this identifier to perform regular tasks.
This ID is mostly used by automatic software agents. For instance BioSWR ontology includes wsdlLocation property to associate RDF Service definition with a corresponding URL (figure 6.).

<owl:NamedIndividual rdf:about="http://inb.bsc.es#wsdl.service(NCBIBlastp)">
  <rdf:type rdf:resource="http://www.w3.org/ns/wsdl-rdf#Service"/>
  <rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string">NCBIBlastp</rdfs:label>
  <rdfs:isDefinedBy rdf:datatype="http://www.w3.org/2001/XMLSchema#string">guest</rdfs:isDefinedBy>
  <wsdl-instance:wsdlLocation rdf:datatype="http://www.w3.org/2001/XMLSchema#anyURI">http://inb.bsc.es/BioSWR/rest/service/A6A414DCEA55FA7845BC0053E154DEC2</wsdl-instance:wsdlLocation>
  <wsdl-rdf:endpoint rdf:resource="http://inb.bsc.es#wsdl.endpoint(NCBIBlastp/NCBIBlastpServicePort)"/>
  <wsdl-rdf:implements rdf:resource="http://inb.bsc.es#wsdl.interface(NCBIBlastp)"/>
</owl:NamedIndividual>
Figure 6. Web service identifier

Web services annotations

Although WSDL 2.0 component model contains many components that can be annotated, BioSWR restricts annotations to generic WSDL 2.0 components such as Interfaces, Operations and Messages. Once the Web service is selected in the table, a simple service representation can be found in a form of its tree structure.

Figure 7. Web service tree structure

If the user is authorized to manage Web service annotations (user is the owner of the service or the service is open for public annotations), selection of Web service component (interface, operation or input/output message) opens a new panel (figure 8.).
In addition to standard RDF annotations like rdfs:comment, rdfs:seeAlso and rdfs:isDefinedBy, BioSWR integrates EDAM ontology as a source of semantic annotations. EDAM annotations are integrated via sawsdl:modelReference SAWSDL annotations.

Figure 8. Add semantic annotation to 'NCBIBlastp' interface component

Search Web services

BioSWR provides quick Web services search based on semantic annotations. Most popular annotations are shown in form of tags that may be selected to filter Web services table (figure 9.).

Figure 9. Search a Web service by the annotation