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