Embrace Web Services


Published on

Title: Embrace Web Services
Author: Taavi Hupponen

Published in: Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Embrace Web Services

  1. 1. EMBRACE Web Services Taavi Hupponen CSC – Center for Scientific Computing, Finland BOSC 2007
  2. 2. Contents <ul><li>Introduction to EMBRACE </li></ul><ul><li>Motivation for Integration </li></ul><ul><li>EMBRACE services </li></ul><ul><li>Choice of Technology and Experiences </li></ul><ul><li>Summary </li></ul>
  3. 3. Introduction to EMBRACE <ul><li>EU FP6 Network of Excellence (2005-2010). 16 partners, coordinated by the EBI </li></ul><ul><li>Goal: enabling integration and gridification of bioinformatics tools and databases </li></ul><ul><li>Enabling integration in practice: providing Web services access for tools and databases </li></ul><ul><li>http://www.embracegrid.info </li></ul>
  4. 4. Motivation for Integration <ul><li>Integration: communication between programs, making software to work together </li></ul><ul><li>Enabling integration in EMBRACE: providing programmatic access to bioinformatics services </li></ul><ul><li>Benefits: </li></ul><ul><ul><li>integrating the functionality of a service into existing software </li></ul></ul><ul><ul><li>powerful workflow applications </li></ul></ul><ul><ul><li>efficient and powerful access directly from your own script or code </li></ul></ul>
  5. 5. Services <ul><li>Databases : EMBL, UniProt, InterPro, Ensembl, ArrayExpress, MSD, SMART, ProDom, JASPAR, UTRdb, PairsDB… </li></ul><ul><li>Tools : EMBOSS, ELM, GOblet, SAMOSA, CATHEDRAL, CATHSCAN, SSAP, FUNCUT, palign, prodiv-TMHH, RNAmmer… </li></ul>
  6. 6. Integration Technology: Web Services <ul><li>Web services: machine to machine communication using web technologies such as HTTP and XML </li></ul><ul><li>Reasons </li></ul><ul><ul><li>platform independency, interoperability </li></ul></ul><ul><ul><ul><li>independent service providers, client developers and users </li></ul></ul></ul><ul><ul><li>wide-spread technology, also outside bioinformatics </li></ul></ul><ul><ul><ul><li>existing development tools and specifications </li></ul></ul></ul><ul><li>The two common styles for implementing Web services: </li></ul><ul><ul><li>SOAP based Web services </li></ul></ul><ul><ul><li>RESTful Web services </li></ul></ul><ul><li>The current EMBRACE technology recommendation promotes the use of SOAP </li></ul>
  7. 7. Experiences on SOAP based Web Services
  8. 8. SOAP based Web services <ul><li>SOAP as the message protocol </li></ul><ul><li>WSDL for describing the service interface </li></ul><ul><li>WS-* specifications provide further functionality such as security </li></ul><ul><li>Web services toolkits help to deal with messy SOAP and WSDL details </li></ul>
  9. 9. Interoperability <ul><li>Interoperability is about different implementations working together, regardless of the implementation language or platform </li></ul><ul><li>Interoperability is essential when the service providers and users are independent </li></ul><ul><li>SOAP and WSDL maybe a bit too flexible and somewhat underspecified  possible interoperability issues </li></ul><ul><li>Interoperability can be achieved by </li></ul><ul><ul><li>following guidelines in the WS-I Basic Profile </li></ul></ul><ul><ul><li>using document literal wrapped style </li></ul></ul><ul><ul><li>keeping in mind that the wire format is XML </li></ul></ul>
  10. 10. Transferring non-XML data with SOAP <ul><li>SOAP messages are XML, and the structure information carried with XML is great… </li></ul><ul><li>… but XML is not the optimal format for every kind of data, e.g images </li></ul><ul><li>Solutions, depending on the size of the data: </li></ul><ul><ul><li>small: base64 encoding </li></ul></ul><ul><ul><li>medium: attachments using MTOM/XOP </li></ul></ul><ul><ul><li>large: </li></ul></ul><ul><ul><ul><li>attachments using MTOM/XOP </li></ul></ul></ul><ul><ul><ul><li>passing references with SOAP and using external transfer mechanism for the data </li></ul></ul></ul><ul><ul><ul><li>streaming is essential in both cases </li></ul></ul></ul>
  11. 11. SOAP Web Services Challenges <ul><li>SOAP and WSDL are sometimes considered somewhat complex </li></ul><ul><li>Capable Web services toolkit and development tools help when dealing with complexity </li></ul><ul><li>The features of the available Web services toolkits vary and their use is not without costs </li></ul><ul><ul><li>learning </li></ul></ul><ul><ul><li>dependencies </li></ul></ul><ul><ul><li>more complicated development and build process </li></ul></ul><ul><li>Many specifications still developing or not widely supported by toolkits (WSDL-S, MTOM) </li></ul>
  12. 12. SOAP vs REST? <ul><li>REST is often considered more simple and there is less need for a toolkit </li></ul><ul><li>The backend is usually the same, regardless of the interface technology </li></ul><ul><li>Regardless of the interface technology, same tasks need to be done (defining data structures, interface description..) </li></ul><ul><li>Some SOAP toolkits (e.g. JAX-WS RI) can provided a RESTful interface in addition to a SOAP based one </li></ul>
  13. 13. Summary <ul><li>EMBRACE is enabling integration of bioinformatics tools and databases by providing Web services access to them </li></ul><ul><li>Current technological emphasis is on SOAP based technology, which is a bit complex, but works fine if attention is paid to interoperability and capable tools are used </li></ul><ul><li>http://www.embracegrid.info </li></ul>
  14. 14. Acknowledgements <ul><li>The EMBRACE project is funded by the European Commission within its FP6 Programme, under the thematic area &quot;Life sciences, genomics and biotechnology for health,“ contract number LHSG-CT-2004-512092. </li></ul>