310 likes | 450 Vues
Publishing Web Services – a provider’s point of view Rodrigo Lopez External Services - EMBL-EBI. EMBRACE Workshop DTU June 2010. Outline. 10 TIPS BioCatalogue Anatomy of a service in the BioCatalogue Acknowledgements. Tip 1. Plan Identify and document the science Identify the users
E N D
Publishing Web Services – a provider’s point of view Rodrigo LopezExternal Services - EMBL-EBI EMBRACE Workshop DTU June 2010
Outline • 10 TIPS • BioCatalogue • Anatomy of a service in the BioCatalogue • Acknowledgements EMBRACE Workshop DTU June 2-4 2010
Tip 1 • Plan • Identify and document the science • Identify the users • Search and document equivalent or similar services • How much will it cost? • Breakdown IT and HR resources EMBRACE Workshop DTU June 2-4 2010
Tip 2 • Characterise IT capabilities • Select sustainable infrastructure • Never go ‘alone’ • Get your IT team involved • Select up-to-date technology • Your IT team should provide SANE/LATEST • Consider Virtualisation • Some fun: If the service is discreet, consider deploying in the Cloud (EC2)? • What about Google, Azure, Soho, Yahoo, Salesforce, Rackspace and the other clouds? EMBRACE Workshop DTU June 2-4 2010
Internet Zeus LB1 Zeus LB2 Web node Web node Web node Web node Web node Web node EMBRACE Workshop DTU June 2-4 2010
Internet PG OY HX EMBRACE Workshop DTU June 2-4 2010
Tip 3 • Identify HR capabilities • Your programmer’s capability • Qualifications • Discipline (adopt agile project management?) • Academic vs professional aptitudes • Is (s)he a good scientist? • Don’t turn a good scientist into a web master! • (or into a nerd) • (or into a geek) • Programming languages • Spring, Apache Axis2, CFX... • PERL, PYTHON, PHP, Java, C/C++/C#... • Make choices according to the footprint of your IT/HR. EMBRACE Workshop DTU June 2-4 2010
Tip 4 • Define the service architecture constraints • Modular or integrated architecture (monolithic or diversified) • Small components can play many roles • Many services have dependencies! • Integrated • Usually few people understand the complexity of the application. • SOA definitions that apply to your service • Specifications and Organisations • Read/Adhere to the EMBRACE recommendations • BioXSD (don’t invent unless you have to!) • Get your XML background, specifications and vocabularies (EDAM), right. EMBRACE Workshop DTU June 2-4 2010
Tip 5 • Define application server tier • Security & LoS • Make sure you are safe • Don’t advertise security, unless you have to. • Do you have a LoS (e.g. 98%, 24/7, etc.)? • State maintenance • Is your application stateless or stateful? • Data access • Is your back-end up to scratch • Optimise connection pools • Persistence • Do you need it? • Monitor the service • ...and profile it regularly (at each data update?). EMBRACE Workshop DTU June 2-4 2010
Tip 6 • Service Redundancy • 2 nodes (physical/virtual) • Round Robin, Simple Fail Over, Dynamic Round Robin, Dynamic Fail Over, Load Balanced? • Service failover • Local • Remote (federated?) • Recovery policies? • Maintenance policies? EMBRACE Workshop DTU June 2-4 2010
Tip 7 • Adhere to existing data delivery standards • Formats, styles... • Adhere to existing data consumption standards • Results integration (BioXSD) • Ensure integration into existing workflows or pipe-lines EMBRACE Workshop DTU June 2-4 2010
Tip 8 • Ensure your services are easy to understand and consume • User support • 1st-3rd level support • Clarify Responsibilities • Documentation • Programmer • End-user • Build and publish example clients • Test in as many programming languages as possible! • Test with as many WS Enactors as possible! • Test, test, test... EMBRACE Workshop DTU June 2-4 2010
Tip 9 • Justification • Keep logs • Keep user communications • Document costs • Usage trend analysis • Know your three A’s • Accessibility • Accountability • Awareness EMBRACE Workshop DTU June 2-4 2010
Tip 10 • Publish your service! EMBRACE Workshop DTU June 2-4 2010
Conclusions 1/2 Identify your services life-cycle EMBRACE Workshop DTU June 2-4 2010
Conclusions 2/2 • Implement (if you have not already done so) Business Intelligence into your services operation • Make a INVENTORY of all your services’ components • Don’t forget to include all variables! • Keep it up-to-date (or get someone to do this for you) • So, you have an INVENTORY (and you huff and you puff...) • Use it to market your services... EMBRACE Workshop DTU June 2-4 2010
BioCatalogue A means to pool metadata about services in the wild A means to discover and reuse those services A means to curate services A platform for service monitoring and analytics EMBRACE Workshop DTU June 2-4 2010
BioCatalogue Annotation ‘guidelines’ • Where is the documentation? • What is it about? • Can anyone use it? • Who to contact? • What does the operation do or what are the resources? • What is the input? • What is the output? EMBRACE Workshop DTU June 2-4 2010
BioCatalogue Anatomy of a service in the BioCatalogue http://www.biocatalogue.org/ EMBRACE Workshop DTU June 2-4 2010
Looking for a rigorous sequence search service... EMBRACE Workshop DTU June 2-4 2010
Ownership/Responsability EMBRACE Workshop DTU June 2-4 2010
Methods EMBRACE Workshop DTU June 2-4 2010
Monitoring EMBRACE Workshop DTU June 2-4 2010
BioCatalogue - Usage: Wider Context • Partnerships: • Collaborations: EMBRACE Workshop DTU June 2-4 2010
How to contact us: • Please use: • http://www.biocatalogue.org/contact • http://www.ebi.ac.uk/support/ EMBRACE Workshop DTU June 2-4 2010
Acknowledgements EMBL-EBI/ES EMBRACE BBSRC EMBL NIH EPO EMBRACE Workshop DTU June 2-4 2010