the functional units

22
The Functional Units: Abstractions for Web Service Annotation Paolo Missier Katy Wolstencroft Franck Tanoh Peter Li Sean Bechhofer Khalid Belhajjame Steve Pettifer Carole Goble School of Computer Science, University of Manchester (UK) SWF 2010

Upload: biocatalogue

Post on 19-Jan-2015

529 views

Category:

Technology


2 download

DESCRIPTION

The Functional Units presented by Franck Tanoh at IEEE 2010 Fourth International Workshop on Scientific Workflows (SWF 2010)

TRANSCRIPT

Page 1: The Functional Units

The Functional Units:Abstractions for Web Service Annotation

Paolo Missier Katy Wolstencroft Franck Tanoh Peter Li

Sean Bechhofer Khalid Belhajjame Steve Pettifer Carole Goble

School of Computer Science, University of Manchester (UK)

SWF 2010

Page 2: The Functional Units

Functional Unit (FU)

• Service description abstraction • Services as functional tasks• Independent from technology used • FU within the boundary of a service

SOAPSOAP RESTREST DASDAS OTHERSOTHERSSERV

ICE FUNCTIONAL UNIT

Page 3: The Functional Units

Motivations

• Useful for tools and resources integration• Automated Life Science applications and workflow

systems (Taverna, Kepler, Trident, KNIME…)• Estimates 3500+ public web services

1-Web Services in the Life Sciences

Page 4: The Functional Units

2-Web Services issues

• Not properly documented• Poorly annotated • Distributed• Hard to find • Hard to get how they work

<wsdl:message name="getGlimmersResponse"> <wsdl:part name="getGlimmersReturn"

type="xsd:string"/> </wsdl:message> <wsdl:message name="aboutServiceRequest"/> <wsdl:message name="getGlimmersRequest"> <wsdl:part name="in0" type="xsd:string"/> <wsdl:part name="in1" type="xsd:string"/> <wsdl:part name="in2" type="xsd:string"/> <wsdl:part name="in3" type="xsd:string"/> <wsdl:part name="in4" type="xsd:string"/> <wsdl:part name="in5" type="xsd:string"/> <wsdl:part name="in6" type="xsd:string"/> <wsdl:part name="in7" type="xsd:int"/> <wsdl:part name="in8" type="xsd:string"/>

Motivations

e.g. a WSDL document

Page 5: The Functional Units

3-Existing annotation frameworks

• SAWSDL (Semantic Annotations for WSDL)

• WSMO (Web Service Modeling Ontology)

• OWL-S • Feta

Motivations

Page 6: The Functional Units

• Annotation at the interface level • Tied to the service technology • Difficult for user to understand • Wrong level of abstraction

Motivations

4-Shortcoming Existing frameworks

Page 7: The Functional Units

The BioCatalogue

http://www.biocatalogue.org/

Page 8: The Functional Units

The BioCatalogue

• A means to pool metadata about services• A means to discover and reuse services• A means to curate services• A platform for service monitoring and analytics• A generic service annotation model for community

annotation

Page 9: The Functional Units

Truth about web services

Different types and different behaviors: • Each operation performs a single domain

related task e.g. KEGG web service

• A single operation performs several domain related tasks => Polymorphic services e.g. searchSimple operation from BLAST web service by DDBJ

• Multiple operation of the same service combined in a manner to perform a single domain related task => operation patterns e.g. InterProScan web service by EBI

Page 10: The Functional Units

FU by example

• 1- One operation, one FU 1 Operation performs 1 domain related task

• KEGG • SABIO-RK• BioMoby • Etc…

Inputs

Outputs

Data resources

FU aligned with service operation

Page 11: The Functional Units

query database program

searchSimple

FU by example

• 2-One operation multiple FUse.g. SearchSimple from blast web service by DDBJ

PD: protein sequence databaseND: nucleotide sequence database

proteinBlast

blastp proteinPD

nucleotideBlast

blastn nucleotide ND

proteinNucleotideBlast

tblastn nucleotideND

nucleotideProteinBlast

blastx protein PD

nucleotideBlastFrameTranslation

tblastx nucleotide ND

5 FU for searchSimple

Page 12: The Functional Units

FU by example

• Multiple operation, one FU• Operations orchestration or pattern based• Asynchronous service• Server like services (e.g soaplab)

Inputs

Outputs

Data resources

Protein Motifs analysis

Protein sequence

Protein Motifs

Inte

rPro

Scan

FUNCTIONAL UNIT

SOAPrunInterProScan CheckStatus Get_XML_Result

FU for InterProScan

Page 13: The Functional Units

FU by example

• Composite FUs Task A + Task B = Task C2 or more Functional Units when combined can produceanother Functional Unit

Inputs

Outputs

Data resources

Page 14: The Functional Units

Composite of the service properties • Input • Task• Output • Underlying data resources

FU defined

Inputs

Outputs

Data resources

Page 15: The Functional Units

Specifying the FU

We used: • An OWL-based semantic annotation• The myGrid ontology for core annotation

vocabulary

Page 16: The Functional Units

Specifying the FU by example

• Describing a KEGG operation (getEnzymeByGene) as FU

Page 17: The Functional Units

Specifying the FU by example

• Describing a pattern based service (e.g. interProScan) as FU

Page 18: The Functional Units

FU usefulness

• Identify domain relevant operations from a given service

• Same level of abstraction as the user • Enhance service discovery • Conceal service technology • Workflow composition

Page 19: The Functional Units

Cost of identifying the FU

• Yet another ‘thing’ to annotate • triple the curation effort • Rely on the curators to identify the FUs• Domain knowledge required

Page 20: The Functional Units

To reduce the cost • Use existing pool of workflows available at myExperiment

http://www.myexperiment.org/

•Use existing tool such as QuASAR

•Encourage Web Service providers

Page 21: The Functional Units

Summary

• Abstraction handle the diversity of service type (SOAP, REST) and behaviors

• Concrete example of how to use the service• Enhance web service annotation • Enhance web service discovery • Development of FU by the BioCatalogue team

ongoing

Page 22: The Functional Units

Acknowledgments

• Jiten Bhagat, Mannie Tagarira, Sergejs AleksejevsSchool of Computer Science, University of Manchester (UK)

• Eric Nzuobontane, Thomas Laurent, Rodrigo LopezEMBL European Bioinformatics Institute, Cambridge (UK)

• Jerzy OrlowskiLaboratory of Bioinformatics and Protein Engineering,International Institute of Molecular and Cell Biology in Warsaw,Poland