Download presentation
Presentation is loading. Please wait.
Published byRaymond Marshall Modified over 9 years ago
1
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
2
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
3
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
4
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
5
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
6
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
7
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
8
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 Store Output (data, resource url, etc) Resource “GET” Resource e.g. get (Resource xxx) return (Resource xxx) Scientific data syntax Service
9
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)
10
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 … … sawsdl:liftingSchemaMapping= “…nexml2cdao.xsl" sawsdl:loweringSchemaMapping= “…cdao2nexml.lowering"> … …
11
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 Service Client Application (REST or SOAP) Input (request data) Service.wsdl2 Service Endpoint
12
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 LiftingLowering Semantic Level Data Service Endpoint
13
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) “s1” “A” <state id = “s1” symbol = “A”> s1 A Client A Client B Lift Lower
14
Client Functionality Invoking the service –Must get transformation file(s) from SAWSDL annotations first Service Client Application (REST or SOAP) LiftingSchema Service.wsdl Parse WSDL with SAWSDL annotations LoweringSchema
15
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)
16
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
17
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?
18
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)
19
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
20
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!
21
Thank you Questions?
22
Demo Demo (time permitting)
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.