20
Using Taverna to access SOAP-based web services Per Larsson CBR 2007-08-22

Using Taverna to access SOAP-based web services Per Larsson CBR 2007-08-22

Embed Size (px)

Citation preview

Page 1: Using Taverna to access SOAP-based web services Per Larsson CBR 2007-08-22

Using Taverna to access SOAP-based web services

Per Larsson

CBR

2007-08-22

Page 2: Using Taverna to access SOAP-based web services Per Larsson CBR 2007-08-22

Outline

• What is a web service?

• What is SOAP?

• What is Taverna?

• Putting it all together

Page 3: Using Taverna to access SOAP-based web services Per Larsson CBR 2007-08-22

What is a web service?

• A Web service is a software system designed to support interoperable machine-to-machine interaction over a network.

• It has an interface described in a machine-processableformat (specifically WSDL).

• Other systems interact with the Web service in a manner prescribed by its description using SOAP messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards.

– W3C, Web Services Architecture Working Group

Page 4: Using Taverna to access SOAP-based web services Per Larsson CBR 2007-08-22

Why web-services?

• Allows usage of remote resources without exact knowledge of function

• Provides standardized access methods to such resources.

• Can be combined to perform more complex tasks (workflows).

Page 5: Using Taverna to access SOAP-based web services Per Larsson CBR 2007-08-22

Description of a web service

• Web Service Description Language (WSDL)

• Provides an abstract description of a web service and ties it to a concrete endpoint (some server and resource).

• Is independent of the web service it describes

Page 6: Using Taverna to access SOAP-based web services Per Larsson CBR 2007-08-22

WSDL-files

• Describes what is being passed on to the web service and what is returned– Strings, numbers, complex types etc …

• Tells any client how to pass the messages• Specifies a server adress where the web service

(SOAP-engine) sits

QuickTime och enTIFF (LZW)-dekomprimerare

krävs för att kunna se bilden.

Page 7: Using Taverna to access SOAP-based web services Per Larsson CBR 2007-08-22

Architecture of a web service

WSDL File

Backend

Client

Server Stub

SOAPEngine

Page 8: Using Taverna to access SOAP-based web services Per Larsson CBR 2007-08-22

Web service messages

• Messages are what is sent to the web service and later returned

• Common standard for sending messages is SOAP (used by EMBRACE web services).

• Formerly known as Simple Object Access Protocol

Page 9: Using Taverna to access SOAP-based web services Per Larsson CBR 2007-08-22

a SOAP-message

<Envelope>

<Header> … </Header>

<Body> Data to back-end software</Body>

</Envelope>

Page 10: Using Taverna to access SOAP-based web services Per Larsson CBR 2007-08-22

the SOAP Engine

WSDL File

Backend

Client

Server Stub

SOAPEngine

Translates from software constructs to SOAP messages (XML)

Interprets incoming SOAPmessages and performs translation to software constructs

Page 11: Using Taverna to access SOAP-based web services Per Larsson CBR 2007-08-22

Consumer

Serialize into a SOAP

messageProvider

Serialize into a SOAP

message

De-serialize into native data types

De-serialize into native data types

Serialize into a SOAP

messageMessage

Message

Backend SOAP Engine

Transport SOAP Engine

Backend

Page 12: Using Taverna to access SOAP-based web services Per Larsson CBR 2007-08-22

So, what’s the point?

• It´s easy to write SOAP-clients in Perl, C, Java etc … to access any web service

• No need to exactly understand remote software

Page 13: Using Taverna to access SOAP-based web services Per Larsson CBR 2007-08-22

Integration into Taverna

• All this can be integrated into graphical clients such as Taverna

• Aimed at facilitating standard scientific procedures in silico using workflows (many web services working together)

• Taverna is a workflow development and enactment environment

• Developed as part of the myGrid project in the UK (EBI, UMan etc.)

Page 14: Using Taverna to access SOAP-based web services Per Larsson CBR 2007-08-22

Taverna• So, instead of using cut and paste, cgi, shell-scripting, excel etc

We have this:

Page 15: Using Taverna to access SOAP-based web services Per Larsson CBR 2007-08-22

• Taverna can integrate many different types of resources and web services

• SOAP-based services is just one type

• Other examples include Biomoby, EMBOSS and Biomart.

Page 16: Using Taverna to access SOAP-based web services Per Larsson CBR 2007-08-22
Page 17: Using Taverna to access SOAP-based web services Per Larsson CBR 2007-08-22

Adding a WSDL-web service to Taverna

Page 18: Using Taverna to access SOAP-based web services Per Larsson CBR 2007-08-22

A (really simple) workflow in Taverna looks like this

Take a sequenceand predictthe distance between each residue andthe center of the membrane (Zpred)

Page 19: Using Taverna to access SOAP-based web services Per Larsson CBR 2007-08-22

Putting it all together

• Web services are resources (local or remote) that can be accessed in a standardized way

• Web services can be described using XML and WSDL (Web Service Description Language)

• Simple clients for accessing web services can be written in Perl, C, Java etc…

• Taverna is a more powerful client, allowing the user to create workflows and perform complex tasks.

Page 20: Using Taverna to access SOAP-based web services Per Larsson CBR 2007-08-22

Acknowledgments

• Aron Hennerdal

• Kristoffer Illergård

• Arne Elofsson

• Jan Christian Bryne, UoB

• The rest of CBR and EMBRACE