Title: WSBioZard: A Wizard for Composing Bioinformatics Web Services
1WS-BioZard A Wizard for Composing Bioinformatics
Web Services
- Zhiming Wang, John Miller, Jessica Kissinger, Rui
Wang, Doug Brewer, Cristina Aurreochea - Computer Science Department
- Genetics Department
- University of Georgia
2Web Service Composition
- Many data and knowledge resources as well as
analysis tools are now available via - Downloadable stand-alone applications
- Web pages/forms
- Web services
- Web Service Composition
- Goal provide a convenient way to combine
services - Standards-driven approach
- Growing number of bioinformatics Web services
- Complex task needs to compose multiple Web
services
3Benefits of Web Service Composition
- No need to download/install/maintain compared
with stand-alone applications - No need to copy/paste/access the same Web page
again and again compared with using Web
pages/forms - Easier to change a Web service during the
composition through drag and drop in a design
tool. - Easier to develop (depending on the quality the
design tool)? - Easier to reuse, since the resultant process can
itself be invoked as a standard Web service
4Designing Tools for Web Service Composition
- Which Composition Language WS-BPEL, WS-CDL, XPDL
- Challenges of BPEL Composition
- Non-BPEL Systems and Their Problems
- Our Approach
- Semi-automatic composition to produce BPEL
- BPEL should run in multiple execution engines
- Add semantics to aid both service discovery and
composition - Provide support for data mediation
- WS-BioZardPrototype Implementation
- Service discovery tool
- Simplified BPEL editor with Wizard
- WSDL generation, BPEL deployment and invocation
5WS-BPEL Web Service Business Process Execution
Language
- The most popular standard for composing Web
services - Facilitates the integration of distributed
software systems - Executable XML specification
- BPEL process can be invoked as an ordinary Web
service - Support from industry many free and commercial
tools - Several BPEL model API's/implementations based on
Java - ActiveBPEL, NetBeans and Eclipse BPEL
- Easy to reuse compared with self implementation
- Several BPEL execution engines
- Apache ODE, ActiveBPEL and Sun Glassfish
6Challenges of BPEL Composition
- Service discovery not integrated with composition
- Little assistance with data handling (no data
mediation) - Tremendous diversity in Bioinformatics Web
Service data format and terms, lacking semantics
-- makes data handling and service composition
hard - Complex GUI designer/editor which can be hard to
use - Reflects all the complexity of BPEL to the GUI--gt
complex control flow and data flow - The user manually defines almost all the process
when using GUI design tools ActiveBPEL, NetBeans
BPEL, Eclipse BPEL - Limited or no ability to generate the process
WSDL - Annoyance of having to make deployment descriptors
7Non-BPEL Systems and Their Problems
- Taverna -- uses XScufl rather than XPDL or BPEL
- Easier to use -- straightforward control flow
- Automatically handle looping to some degree
- No data mediation
- Uses BeanShell language to handle data extra
effort - Non-Industry standard composition that cannot
execute outside of Taverna - Bio-Moby
- Facilitates service discovery
- No composition language delegate to Taverna
- Documentation could be improved
- Currently best combo in bioinformatics
8Design Goals for WS-BioZard
- Lower the complexity of composing Bioinformatics
Web services - Use semi-automatic composition
- Add semantics to Bioinformatics Web Services
- To aid service discovery and composition
- To aid data mediation
- Support and evaluate multiple forms of data
mediation - Provide an intuitive GUI with a multi-faceted
wizard to assist Bioinformatics Web service
discovery, composition, deployment and invocation
9Approaches to Web Service Composition
- Automatic composition
- Requires complete formal representations of the
domain knowledge and the task's initial and goal
states - Requires preconditions and effects to be fully
specified for correct operation - May be the ideal future solution, but not mature
enough for practical use - Manual composition using BPEL designer/editor
- Tedious, time consuming and error prone
- End user must handle everything in detail
- Semi-automatic composition - an intermediate
solution - An interactive approach with greater assistance
from the tool - Reduced learning curve for end users
10Benefits of Adding Semantics
- Adding semantics to Web services can provide
- Better service composition
- Better data mediation
- Better service discovery
- Semantic Web Services (SWS) Projects/Standards
- DAML-S/OWL-S First Major Project
- WSMO Large European Initiative
- METEOR-S Lightweight Approach
- SAWDSL First W3C Standard for SWS
- Semantic Annotations for WSDL
11Data Mediation (DM)
- Converts data format/type from one Web service's
output to the next Web service's input - DM is an important task, but can be a very
difficult task (especially to automate) - Needed because of data heterogeneity, which is
prevalent in the biological domain - Structural and semantic heterogeneity
- Many theoretical approaches to DM, yet no widely
available practical implementations - Two research efforts to provide DM utilizing
- SAWSDL modelReference, lowering/liftingSchemaMapp
ing
12The METEOR-S Approach to DM
- Combining modelReference, liftingSchemaMapping,
loweringSchemaMapping and XSLT/XQuery as the
basis for data mediation - Service provider needs to write XSLT or XQuery
for each annotation - Add a component to the run time system
- Generic Web service for data mediation
- Hard to express generic data types for WS
- SOAP Engine (e.g., Axis2) Plugin
- Complex, low-level coding
- SOAP Engine dependence
- Not all BPEL engines use Axis2
13WS-BioZard Approach to DM
- A practical solution based on a bottom up
strategy - Requires SAWSDL Annotations
- modelReference pointing to an ontology, e.g.,
- Sequence Ontology (SO)?
- Utilizes a Data Mediation Algorithm
- Automatic for Identical, Equivalent or Superclass
Types - Popup Wizard when input values are missing
- Rejection when matching is insufficient
- Automatic XPath Generation
14SAWSDL Annotation
ltxsdcomplexType name"inputType"gtltxsdsequencegt lt
xsdelement name"locations" type"xsdstring" s
awsdlmodelReference"http//purl.org/obo/owl/sequ
encelocation_text"gtlt/xsdelementgt ltxsdelement
name"optionalParameters" type"xsdstring" saw
sdlmodelReference"http//purl.org/obo/owl/sequen
ceOPTIONAL"gtlt/xsdelementgt ltxsdelement
name"extension" type"xsdint" sawsdlmodelRef
erence"http//purl.org/obo/owl/sequenceextent"gtlt
/xsdelementgt
ltxsdelement name"wuBlastResponse"gt ltxsdcomplexT
ypegt ltxsdsequencegt ltxsdelement name"locations"
type"xsdstring" sawsdlmodelReference"http//p
url.org/obo/owl/sequencelocation_text"
/gt lt/xsdsequencegt lt/xsdcomplexTypegt lt/xsdelemen
tgt
GeneByLocation WS
15Data Mediation Algorithm
For case 1, WS-BioZard will automatically
generate the BPEL ltassigngt/ltcopygt elements. For
case 2, the data mediation wizard will popup and
assist the user to produce expressions for
missing values. WS-BioZard ability to
automatically generate XPath expressions greatly
simplifies the composition task for the user.
16Automatic XPath Generation
ltassign name"invoke102Assign"gt ltcopygt
ltfromgtltliteralgtProductlt/literalgtlt/fromgt
lttogt invoke103inputVar.parameters/ns102in/ns102
optionalParameterslt/togt lt/copygt ltcopygt
ltfromgtltliteralgt0lt/literalgtlt/fromgt lttogt
invoke103inputVar.parameters/ns102in/ns102exten
sionlt/togt lt/copygt ltcopygt ltfromgtwuBlast102outputV
ar.parameters/ns101locationslt/fromgt lttogtinvoke10
3inputVar.parameters/ns102in/ns102locationslt/togt
lt/copygt lt/assigngt
17Architecture of WS-BioZard
18Comprehensive FrameworkWS-BioZard
- SAWSDL Annotation Tool - Radiant
- Semantic Service Discovery Tool Lumina 2
- Simplified BPEL Process Designer/Editor
- Auto-generate many BPEL elements
- assign, copy, invoke, variable, namespace,
receive, reply, assign, partnerlink - Designer can focus on application logic
- not get lost in details
- Support for practical data mediation
19Lumina 2 A Service Discovery Tool
20Complexity of WS-BPEL 2.0
21BPEL Process Designer/Editor
22Wizard for Data Mediation
23A Composition Example
24(No Transcript)
25Comparison between Semi-Automatic Composition
Approaches
26Conclusions
- Lower the complexity of BPEL composition through
semi-automatic composition - Simplified Control Flow
- fewer activities, abstracted activities,
auto-generation of details - Simplified Data Flow
- data mediation and assistance from wizard
- Comprehensive framework WS-BioZard features
- Practical use of semantics (via SAWSDL) to aid in
service discovery, composition and data mediation - Integrated service discovery tool
- Simplified BPEL designer/editor with a
multi-faceted wizard - Automatic WSDL generation and BPEL deployment and
invocation
27Current Solutions and Their Problems
- ActiveBPEL -- manual approach based on BPEL
- Complex control flow and data flow
- No assistance for data mediation -- using XSLT,
XPath or XQuery - Manually define everything
- Taverna -- based on XScufl
- Much easier than ActiveBPEL
- Straightforward control flow
- Automatically handle looping to some degree
- Little assistance for data mediation
- Using BeanShell language to handle data mediation
- Non-Industry standard composition that cannot
execute outside of Taverna - Bio-Moby
- Easier data flow
- No central editor and no composition language
- Little documentation
28ActiveBPEL
29NetBeans
30Taverna