Semantic Phyloinformatic Web Services Using the EvoInfo Stack Speaker: John Harney LSDIS Lab, Dept....

22
Semantic Phyloinformatic Web Services Using the EvoInfo Stack Speaker: John Harney LSDIS Lab, Dept. of Computer Science, University of Georgia Mentor(s): Hilmar Lapp, Rutger Vos VDC/CCIT Meeting, August 2009

Transcript of Semantic Phyloinformatic Web Services Using the EvoInfo Stack Speaker: John Harney LSDIS Lab, Dept....

Page 1: Semantic Phyloinformatic Web Services Using the EvoInfo Stack Speaker: John Harney LSDIS Lab, Dept. of Computer Science, University of Georgia Mentor(s):

Semantic Phyloinformatic Web Services Using the EvoInfo Stack

Speaker: John HarneyLSDIS Lab, Dept. of Computer Science,

University of GeorgiaMentor(s): Hilmar Lapp, Rutger Vos

VDC/CCIT Meeting, August 2009

Page 2: Semantic Phyloinformatic Web Services Using the EvoInfo Stack Speaker: John Harney LSDIS Lab, Dept. of Computer Science, University of Georgia Mentor(s):

Project Goals Revisited – Problem Definition• Problem

– Scientific tools/services consume and produce data in many different, loosely defined formats

Result: Syntactic heterogeneities make it difficult for

Web services to be used, discovered, and interoperate

Page 3: Semantic Phyloinformatic Web Services Using the EvoInfo Stack Speaker: John Harney LSDIS Lab, Dept. of Computer Science, University of Georgia Mentor(s):

Project Goals Revisited – Semantic Web Services• Semantic Web

“a web of data that can be processed directly and indirectly by machines”

– Attaching semantic meaning to data on the web

• Improvements by adding Semantic Web principles to Web services?– Reusability– Discovery– Interoperability

Page 4: Semantic Phyloinformatic Web Services Using the EvoInfo Stack Speaker: John Harney LSDIS Lab, Dept. of Computer Science, University of Georgia Mentor(s):

Project Goals Revisited – SAWSDL• SAWSDL (Semantic Annotations for WSDL

and XML)– Recommendation proposed by the World Wide

Web Consortium (Aug 2007)– Allows Web service providers to attach

semantics to elements of their services• Links data structure to semantic concepts in a well

defined and universally understood ontology• Gives methods/rules to transform data level syntax

(e.g. XML) to their corresponding semantic level syntax

Page 5: Semantic Phyloinformatic Web Services Using the EvoInfo Stack Speaker: John Harney LSDIS Lab, Dept. of Computer Science, University of Georgia Mentor(s):

Project Goals Revisited – Solution• Solution

– Create a Web Service using the SAWSDL recommendation

• Proof of concept Web Service – Using a well defined stack of scientific data

formats and definitions, make an easily accessible, discoverable, and interoperable WS

Page 6: Semantic Phyloinformatic Web Services Using the EvoInfo Stack Speaker: John Harney LSDIS Lab, Dept. of Computer Science, University of Georgia Mentor(s):

Project Goals – Revised Solution• Provide a Web service (WS) that:

– Utilizes semantics introduced by the SAWSDL recommendation

– Provides flexibility in allowing Web service users to utilize various Web service protocols

• SOAP• REST

Page 7: Semantic Phyloinformatic Web Services Using the EvoInfo Stack Speaker: John Harney LSDIS Lab, Dept. of Computer Science, University of Georgia Mentor(s):

Tools/Technologies Required • What is needed to produce a semantic

Web service?– WS interface standards/protocols

• Well-defined (and most current) technical specifications of defining how the service interface should be designed

– WS creation tools/software • Containers that implement the service’s functionality

– Semantic Web tools/software

– Data schemas/definitions

Page 8: Semantic Phyloinformatic Web Services Using the EvoInfo Stack Speaker: John Harney LSDIS Lab, Dept. of Computer Science, University of Georgia Mentor(s):

Web Service Functionality

• The Web service provider:– Connects to some backend scientific data store – Applies (Create Read Update Delete) operations over

that data store– Be accessible using different protocols (i.e. SOAP or

REST)

Client Application

(REST or SOAP)

Input (data, url, etc)

Data StoreOutput

(data, resource url, etc)

Resource

“GET” Resource e.g. get

(Resource xxx)

return(Resource xxx)

Scientific data syntax

Service

Page 9: Semantic Phyloinformatic Web Services Using the EvoInfo Stack Speaker: John Harney LSDIS Lab, Dept. of Computer Science, University of Georgia Mentor(s):

Web Service Functionality – Interface Description• The Web service’s WSDL (Web Services Description

Language) file defines the interface of the service– Describes elements of the service

• SAWSDL extends WSDL so that semantics may be attached to the service description

• Two versions (1.1 vs 2.0)– WSDL1.1 – more widely used version today– WSDL2.0 - newer, more improved standard

• Less complex than 1.1• Allows access to a service via multiple Web service protocols

(i.e. SOAP or REST)

Page 10: Semantic Phyloinformatic Web Services Using the EvoInfo Stack Speaker: John Harney LSDIS Lab, Dept. of Computer Science, University of Georgia Mentor(s):

Web Service Functionality – Interface Description• The WSDL file is a simple

XML document– The expected data

schemas for service i/o are described in the types section of the document

– SAWSDL annotations are placed here to attach semantic concepts and schema transformation rules

Service.wsdl

<wsdl2:description> <wsdl2:types>

… <xs:element name="getResource"> … sawsdl:liftingSchemaMapping= “…nexml2cdao.xsl" sawsdl:loweringSchemaMapping=

“…cdao2nexml.lowering">

… </wsdl2:types>

… <wsdl2:interface> </wsdl2:interface> <wsdl2:binding> </wsdl2:binding> <wsdl2:service> </wsdl2:service><wsdl2:description>

Page 11: Semantic Phyloinformatic Web Services Using the EvoInfo Stack Speaker: John Harney LSDIS Lab, Dept. of Computer Science, University of Georgia Mentor(s):

Client Functionality• Invoking the service

– Client sends some request to the service– The Web service provider, however, expects a specific format as

input and it may not match the input given by the client

ServiceClient Application

(REST or SOAP)

Input (request data)

Service.wsdl2

Service Endpoint

Page 12: Semantic Phyloinformatic Web Services Using the EvoInfo Stack Speaker: John Harney LSDIS Lab, Dept. of Computer Science, University of Georgia Mentor(s):

Client Functionality• Invoking the service

– Service can be more accessible if we mapped, or “lifted” the input data to semantic level concepts

– The semantic level data can then be “lowered” back to a syntax that matches the expected input format of the service

ServiceClient Application

(REST or SOAP)

Input (XML data, URL,

etc) Service.wsdl2

Lifting Lowering

Semantic Level Data

Service Endpoint

Page 13: Semantic Phyloinformatic Web Services Using the EvoInfo Stack Speaker: John Harney LSDIS Lab, Dept. of Computer Science, University of Georgia Mentor(s):

Client Functionality• What is “Lifting” and “Lowering”?

Syntax Level:• Specific structure• Known by few

Semantic Level:• General• Widely understood and accepted• In the form of statements “triples” (RDF)

<state > <hasID> “s1” <state > <hasSymbol> “A”

<matrix> <state id = “s1” symbol = “A”>

</state> </matrix>

<matrix> <state> </state> <ID>s1</ID> <Symbol>A</Symbol> </matrix>

Client A

Client B

Lift

Lift

Lower

Lower

Page 14: Semantic Phyloinformatic Web Services Using the EvoInfo Stack Speaker: John Harney LSDIS Lab, Dept. of Computer Science, University of Georgia Mentor(s):

Client Functionality• Invoking the service

– Must get transformation file(s) from SAWSDL annotations first

ServiceClient

Application(REST or

SOAP)

LiftingSchemaService.wsdl

Parse WSDL with SAWSDL annotations

LoweringSchema

Page 15: Semantic Phyloinformatic Web Services Using the EvoInfo Stack Speaker: John Harney LSDIS Lab, Dept. of Computer Science, University of Georgia Mentor(s):

Client Functionality• Invoking the service

– Apply transforms to the incoming request data so that the service can be invoked

Service

Client Application

(REST or SOAP)

Input (XML data, URL,

etc) Service.wsdl

Matched input data structure

Apply loweringSchemaMapping &

liftingSchemaMapping

Requested Output (XML data, URL, etc)

Page 16: Semantic Phyloinformatic Web Services Using the EvoInfo Stack Speaker: John Harney LSDIS Lab, Dept. of Computer Science, University of Georgia Mentor(s):

Current Deliverables

• Used in conjunction with EvoInfo group’s stack of deliverables

• Divided into two parts– Service side

• WSDL2.0 file marked up with SAWSDL annotations • Lifitng and lowering transformation files• Basic service implementation

– Client side• SAWSDL parser• Code to perform transformations per the transformation files on the server

side• Basic client implementation

Page 17: Semantic Phyloinformatic Web Services Using the EvoInfo Stack Speaker: John Harney LSDIS Lab, Dept. of Computer Science, University of Georgia Mentor(s):

TODOs

• Service/Client have limited functionality– Not all operations have been implemented– Still need to test with a backend data store

• Currently only SOAP client uses SAWSDL – Can a REST client also take advantage of

SAWSDL?

Page 18: Semantic Phyloinformatic Web Services Using the EvoInfo Stack Speaker: John Harney LSDIS Lab, Dept. of Computer Science, University of Georgia Mentor(s):

Challenges/Obstacles

• Volume of software packages required– Software packages from many different resources were

needed

• Novelty– Service creation platforms (I used Apache Axis2 and

Apache Woden) are still new and developing– Few implementations of services use WSDL2.0 (most still

use 1.1)

Page 19: Semantic Phyloinformatic Web Services Using the EvoInfo Stack Speaker: John Harney LSDIS Lab, Dept. of Computer Science, University of Georgia Mentor(s):

Overall Contributions of the project• Created foundation for building:

– Web services accessible by multiple protocols

– A client application that utilizes semantic annotations via SAWSDL

– Lifting and lowering schema transformation files

Page 20: Semantic Phyloinformatic Web Services Using the EvoInfo Stack Speaker: John Harney LSDIS Lab, Dept. of Computer Science, University of Georgia Mentor(s):

Overall Impressions of the Project/Program• Project was more research-centric than

originally thought– WSDL2.0 & SAWSDL, although

recommendations, are relatively new and not widely used as of yet

• Not much support for the tools/ideas utilized

– Learned new tools/technologies (Axis2, Semantic Web, SVN, evolutionary informatics)

• VDC Summer internship program– Great program!– Well organized!

Page 21: Semantic Phyloinformatic Web Services Using the EvoInfo Stack Speaker: John Harney LSDIS Lab, Dept. of Computer Science, University of Georgia Mentor(s):

Thank you

Questions?

Page 22: Semantic Phyloinformatic Web Services Using the EvoInfo Stack Speaker: John Harney LSDIS Lab, Dept. of Computer Science, University of Georgia Mentor(s):

Demo

• Demo (time permitting)