EBI is an Outstation of the European Molecular Biology Laboratory. 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 EMBRACE Workshop DTU June /09/20152
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 /09/20153
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 /09/20154
EMBRACE Workshop DTU June /09/20155 Internet Web node Zeus LB1Zeus LB2
EMBRACE Workshop DTU June /09/20156 OY PG HX Internet
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 /09/20157
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 /09/20158
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 /09/20159
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 /09/201510
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 /09/201511
Tip 8 Ensure your services are easy to understand and consume User support 1 st -3 rd 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 /09/201512
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 /09/201513
Tip 10 EMBRACE Workshop DTU June /09/ Publish your service!
Conclusions 1/2 Identify your services life-cycle EMBRACE Workshop DTU June /09/201515
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 /09/201516
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 /09/201517
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 /09/201518
BioCatalogue Anatomy of a service in the BioCatalogue EMBRACE Workshop DTU June /09/201519
EMBRACE Workshop DTU June /09/201520
Looking for a rigorous sequence search service... EMBRACE Workshop DTU June /09/201521
EMBRACE Workshop DTU June /09/201522
EMBRACE Workshop DTU June /09/201523
Ownership/Responsability EMBRACE Workshop DTU June /09/201524
Methods EMBRACE Workshop DTU June /09/201525
Monitoring EMBRACE Workshop DTU June /09/201526
EMBRACE Workshop DTU June /09/201527
EMBRACE Workshop DTU June /09/201528
BioCatalogue - Usage: Wider Context EMBRACE Workshop DTU June /09/ Partnerships: Collaborations:
How to contact us: Please use: EMBRACE Workshop DTU June /09/201530
Acknowledgements EMBL-EBI/ES EMBRACE BBSRC EMBL NIH EPO EMBRACE Workshop DTU June /09/201531