The Web Services Game • This game is intended for a non technical audience; • We have purposely simplified technical aspect. 2 What is a Web Service • • • • • It is a piece of software that runs remotely, It is accessible over a network (e.g. Internet), It is meant for machine to machine communication, Independent from programming languages, It can be operated following specific rules (i.e. protocol), • There are 2 main protocols in use… 3 REST Web Services WADL 1 4 2 URL 3 Data / Status SOAP Web Services WSDL 1 2 GET WSDL 3 WSDL 4 SOAP Request 5 SOAP Response Method / Parameters 4 5 Data 5 6 SOAP vs. REST • Based on Standards, • Geared to simplicity, • Only accessed by software, • A browser can be a client, • Allow description of complex data structure in request and response, • Request as complex as a URL can be, 7 Playing the REST Game 8 The Actors 9 • The user • The client application • The REST Service • Mr Internet How to play the REST game 1. Choose the actors 2. Get the User to ask a question to the Client Application 3. Get the Client Application to format a URL with user parameters 4. The Client Application invoked the Web Service with the URL 5. The Web Service processes the request and sends the data back to the Client Application (with the help of Mr Internet) 1. The Client application processed the data and shows to the User 10 The REST Service • Name: Dbfetch • Purpose: To serve sequence of biological entities • Documentation: http://www.ebi.ac.uk/Tools/dbfetch • Query Example: • Get sequence of protein Q07812 from UniProt • Get Gene sequence for Ensembl Transcript: ENST00000345358 11 Dbfetch Documentation How to build a URL ? http://www.ebi.ac.uk/Tools/dbfetch/dbfetch?db=${DB}&id=${ID}&format=${FORMAT}&style=raw URL Parameters • DB • • • • 12 uniprotkb ensembl embl … • ID • FORMAT • fasta • embl • … The REST URL http://www.ebi.ac.uk/Tools/dbfetch/dbfetch?db=_____&id=_________&format=____&style=raw 13 The Data – Protein sequence 14 The Data – Gene sequence 15 Playing the SOAP Game 16 The Actors 17 • The user • The client application • The SOAP Service • Mr Internet How to play the SOAP game 1. Choose the actors 2. Get the User to ask a question to the Client Application 3. Get the Client Application to retrieve the WSDL from the Web Service (with the help of Mr Internet) 4. The Client Application chooses the method and parameters 5. The Client Application sends the SOAP request to the Web Service (with the help of Mr Internet) 6. Web Service process the request and generate data, wraps it in a SOAP Response and send it back to the Client Application 7. The Client application processed the data and shows to the User 18 The SOAP Service • Name: Dbfetch • Purpose: To serve sequence of biological entities • Documentation: http://www.ebi.ac.uk/Tools/webservices/services/dbfetch • Query Example: • Get sequence of protein Q07812 from UniProt • Get Gene sequence for Ensembl Transcript: ENST00000345358 19 Dbfetch WSDL Where is the WSDL file ? http://www.ebi.ac.uk/ws/services/WSDbfetchDoclit?wsdl Methods available • getSupportedDbs • getSupportedFormats • getDbFormats • db 20 • fetchData • query (i.e. db:id) • format • style A SOAP Request Method name: _____________________ Parameters: Name 21 Value The Data – Protein sequence 22 The Data – Gene sequence 23 Acknowledgments Rafael Jimenez Samuel Kerrien You for being such good actors ;)