Using Taverna to access SOAP-based web services Per Larsson CBR 2007-08-22.
-
Upload
joslyn-biron -
Category
Documents
-
view
218 -
download
2
Transcript of 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
Outline
• What is a web service?
• What is SOAP?
• What is Taverna?
• Putting it all together
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
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).
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
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.
Architecture of a web service
WSDL File
Backend
Client
Server Stub
SOAPEngine
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
a SOAP-message
<Envelope>
<Header> … </Header>
<Body> Data to back-end software</Body>
</Envelope>
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
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
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
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.)
Taverna• So, instead of using cut and paste, cgi, shell-scripting, excel etc
We have this:
• 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.
Adding a WSDL-web service to Taverna
A (really simple) workflow in Taverna looks like this
Take a sequenceand predictthe distance between each residue andthe center of the membrane (Zpred)
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.
Acknowledgments
• Aron Hennerdal
• Kristoffer Illergård
• Arne Elofsson
• Jan Christian Bryne, UoB
• The rest of CBR and EMBRACE