Upload
erica-reynolds
View
212
Download
0
Tags:
Embed Size (px)
Citation preview
Web Services interoperability and standards
Infrastructure Challenge
● Applied bioinformatics need various computer resources
● The amount and size of databases and tools are growing rapidly
● Systems Biology is predicted to become more important
How Web Services Can Help
● Replace local resources with remote resources
● Web Services can provide a standardized access method.
● Web Services is being adopted in bioinformatics
Definition Of Web Services
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-processable format (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
Source: Gartner (August 2005)
Value Of Web Services
Based on standards
– Lots of tools available
– Massive development of new tools and supporting technologies.
– Easy to find information and support
Value Of Web Services
Provides interoperability
● Text over the Internet => Nothing new
● Remote access => Nothing new
● Interoperability =>New!
Widely accepted standards = Interoperability
Web Service Standards
● SOAP Version 1.2– W3C Recommendation since 24 June 2003
– Stable
● Web Services Description Language (WSDL) 1.1– Not a W3C Recommendation
– Version 2.0 is a “Candidate Recommendation” at W3C
SOAPThe Protocol formerly known as
“Simple Object Access Protocol”
–The SOAP Envelope for messages
–Processing model for how to deal with the messages
–Protocol binding framework
SOAP Message
<Envelope>
<Header> ... </Header>
<Body> ...
</Body>
</Envelope>
SOAP Engines
● Translates from software constructs to SOAP messages (XML). This is known as Serialization.
● Interprets SOAP messages and performs translation into software constructs (de-serialization)
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
Web Service Description Language
Provides an abstract definition of a Web Service and a binding which ties it to a concrete endpoint.
Is completely independent of the Web Service it
describes.
Architecture Of a Web Service
WSDL File
Backend
Client
Server Stub
SOAPEngine
Web Services Interoperability
WS-I
● An open industry effort chartered to promote Web Services interoperability across platforms, applications and programming languages
● Has defined Basic Profile 1.0 which resolves many interoperability issues.
Document/Literal wrapped pattern
● WSDL allows a high degree of freedom in the interface design.
● Different SOAP engines might interpret the WSDL in different ways.
● The most interoperable way of designing a WSDL file is the Document/Literal wrapped pattern. Understood by all major SOAP engines.
Web Service Resource Framework
Challenge
● Some jobs take a long time to complete
– CPU intensive tasks
– Jobs in queue
● Vanilla Web Services use HTTP calls and expect fast results.
● Possible to extend timeout, but there is still a problem of keeping an open socket for a long time.
Asynchronous calls
● Client send request
● Server replies with a reference to the running job
● Client polls for status
● Client retrieves results when the status is completed
Client
FactoryService
Resource
InstanceService
Resource
Resource
Submit
Web Service Resource Framework
Client
FactoryService
Resource
InstanceService
Resource
Resource
Submit
CreateResource
Client
FactoryService
Resource
InstanceService
Resource
Resource
EPR
Client
FactoryService
Resource
InstanceService
Resource
ResourceEPR
Get status/results
Composition of Web Services
Composition Types
● Orchestration– Centralized coordinator
– Individual services are not aware of other services
● Choreography– No centralized coordinator
– Each service is aware of its role
Orchestration standards
● SCUFL– The language used by Taverna
– Made especially for eScience/bioinformatics
– Proprietary
● BPEL– Standard. Specification soon ready.
– Widely accepted
– Lots of tools already available, more will come
Svenn Helge Grindhaug System EngineerEric Hajjar PhD Student Anders Lanzén Programmer Ketil Malde ScientistPål Puntervoll Senior Scientist Nathalie Reuter Group Leader, Service Scientist Gisle Sælensminde PhD Student
Thanks to the CBU Service Group: