4. Web Services
• It is a piece of software to interact with a remote system
• It is accessible over a network (Internet)
• It is meant for machine to machine communication
• Independent from programming languages
• It can be operated following specific rules (protocols: REST
or SOAP)
This introduction is intended for a non technical
audience with purposely simplified technical concepts.
5. Web Services
How should I invoke you?
Documentation
Make a request
Results
Web server
Application
describes the methods and variables to query the service
1
2
3
4
2
Developer
6. REST Web Services
How should I invoke you?
Documentation
Make a request ( GET or POST)
Results (data + status)
Web server
Sometimes a WADL file is available in the server to describe
the service
1
2
3
4
2
WADLor
Informal
Description
Formal
Description
Application
Developer
7. SOAP Web Services
How should I invoke you?
Documentation (WSDL)
Make a SOAP request
Web server1
2
3
WSDL
Method / Parameters Data
4
3 4SOAP request SOAP response
and
Informal
Description
Formal
Description
Results (SOAP response)
Application
Developer
8. SOAP vs. REST
8
REST
• Geared to simplicity.
• A browser can be a client.
• Request as complex as a URL can be.
REST query: http://www.ebi.ac.uk/…/query/P99999?format=xml25
WADL: http://www.ebi.ac.uk/…/current?_wadl
SOAP
• Based on Standards.
• Only accessed by software.
• Allow description of complex data structure in request and response.
SOAP REST
WSDL: http://www.ebi.ac.uk/…/psicquic?wsdl