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
SOAP The 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......
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 message Provider Serialize into a SOAP message De-serialize into native data types Serialize into a SOAP message 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 SOAP Engine
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 Factory Service Resource Instance Service Resource Submit Web Service Resource Framework
Client Factory Service Resource Instance Service Resource Submit Create Resource
Client Factory Service Resource Instance Service Resource EPR
Client Factory Service Resource Instance Service Resource EPR 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 Engineer Eric Hajjar PhD Student Anders Lanzén Programmer Ketil Malde Scientist Pål Puntervoll Senior Scientist Nathalie Reuter Group Leader, Service Scientist Gisle Sælensminde PhD Student Thanks to the CBU Service Group: