1 / 21

Soaplab SOAP-based Analysis Web Services

What is the task?. You have (or someone else has) one or more command-line analysis toolsYou want to access them from other computers, eventually over an InternetYou want to access them using your (or someone else's) programs, not just by filling the forms and clicking on web pages. How it fits with the rest of the world.

skule
Download Presentation

Soaplab SOAP-based Analysis Web Services

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


    1. Soaplab SOAP-based Analysis Web Services Martin Senger <senger@ebi.ac.uk> http://industry.ebi.ac.uk/soaplab

    2. What is the task? You have (or someone else has) one or more command-line analysis tools You want to access them from other computers, eventually over an Internet You want to access them using your (or someone else’s) programs, not just by filling the forms and clicking on web pages If these three points are close enough to your task then Soaplab can help you. Additionally, Soaplab is especially useful if you have more tools, perhaps spread on many computers, because all of them will be able to be accessed in a uniform way. Also, their descriptions will be uniform. An example of such suitable package is EMBOSS (http://www.emboss.org). If these three points are close enough to your task then Soaplab can help you. Additionally, Soaplab is especially useful if you have more tools, perhaps spread on many computers, because all of them will be able to be accessed in a uniform way. Also, their descriptions will be uniform. An example of such suitable package is EMBOSS (http://www.emboss.org).

    3. How it fits with the rest of the world Phase 1: Describe your command-line tool (preferable using an ACD file) http://www.hgmp.mrc.ac.uk/Software/EMBOSS/Acd/index.html Phase 2: Soaplab this whole presentation is about this phase Phase 3: Write your own programs (GUIs and others) to access tools via Soaplab part of this presentation is about this Taverna: an example of a workflow system using Soaplab (and other) web services as components Phase 1: Description of the ACD files is tight closely to EMBOSS. But the syntax allows some extension which can be useful for non-EMBOSS applications. More about it later in the “Advanced topics”. Phase 2: It includes Soaplab architecture, resources, and to install and use Soaplab. Phase 3: Samples of programs in Java and Perl… Phase 1: Description of the ACD files is tight closely to EMBOSS. But the syntax allows some extension which can be useful for non-EMBOSS applications. More about it later in the “Advanced topics”. Phase 2: It includes Soaplab architecture, resources, and to install and use Soaplab. Phase 3: Samples of programs in Java and Perl…

    4. What Web Services are in Soaplab? By resources that are being accessed: command-line tools (sub-project: AppLab) web pages (sub-project: Gowlab) By results that are being delivered: Analysis/Gowlab Factory Service (misnomen) produces a list of all available services Analysis Service represents one analysis tool and allows to start it, to control it, and to exploit it, or it represents a remote web page accessible using the same API as other Soaplab analysis services does it in loosely type manner using the same API for all analysis Derived Analysis Service does the same as the Analysis Service above but in a strongly typed manner having individual API for any individual analysis tool

    5. The hard job is to describe your analysis tool in an ACD file. Another job is to write your own client (if it is hard depends what else the client foes; connection with the Soaplab web services is not hard) Everything in between is a matter of downloading, installing (supported by an installation script), and starting two servers(Applab and Tomcat).The hard job is to describe your analysis tool in an ACD file. Another job is to write your own client (if it is hard depends what else the client foes; connection with the Soaplab web services is not hard) Everything in between is a matter of downloading, installing (supported by an installation script), and starting two servers(Applab and Tomcat).

    6. The hard job is to describe your analysis tool in an ACD file. Another job is to write your own client (if it is hard depends what else the client foes; connection with the Soaplab web services is not hard) Everything in between is a matter of downloading, installing (supported by an installation script), and starting two servers(Applab and Tomcat).The hard job is to describe your analysis tool in an ACD file. Another job is to write your own client (if it is hard depends what else the client foes; connection with the Soaplab web services is not hard) Everything in between is a matter of downloading, installing (supported by an installation script), and starting two servers(Applab and Tomcat).

    7. A. Client developer Needs to know the Soaplab API Can develop in any programming language Needs to know a place (an endpoint) with a running Soaplab services http://industry.ebi.ac.uk/soap/soaplab (EMBOSS) Can use the ready, pre-prepared Java and Perl clients

    8. Soaplab API http://industry.ebi.ac.uk/soaplab/API.html

    9. Once you know API…

    10. Once you know API… …or using BioPerl modules Note that neither of these examples sends any input data (the ‘showdb’ analysis just shows what databases it can reach).Note that neither of these examples sends any input data (the ‘showdb’ analysis just shows what databases it can reach).

    11. What names to use for inputs? Ask getInputSpec() some inputs are mutually exclusive (but Soaplab does not tell you ?) supported types: basic types And the results? Ask getResultSpec() expected types: basic types, byte[], byte[][] better check org.embl.ebi.SoaplabClient.AxisUtils.aa2bb()

    12. What else… Code examples at: http://industry.ebi.ac.uk/soaplab/UserGuide.html Play also with existing clients: run-analysis-client –h run-factory-client –h run-registry-client –h run-tutorial

    13. B. Service provider EMBOSS provider contains pre-generated XML files for all EMBOSS analysis (but not EMBOSS itself) Provider of your own analysis tools contains for creating XML files

    14. Installation Run perl INSTALL.pl and you will be asked many questions or prepare your answers in environment variables and run: perl INSTALL.pl –q Do you want to add your analyses? write an ACD file (e.g. metadata/bigdeal.acd) run: generator/acd2xml –d –l MyApps.xml bigdeal see generator/README for details

    15. What questions to expect?

    16. And run it! ./run-AppLab-server check AppLabServer.log (start your Tomcat) ./ws/deploy-web-services try any client check soaplab.log …complain to senger@ebi.ac.uk

    17. Deploying services That can be tricky…because it includes many things: move your classes to Tomcat create service descriptors (files *.wsdd) generate and compile code for the derived services etc. Therefore, use a Soaplab admin client: run-admin-client –help which is used by ws/deploy-web-services, anyway

    18. Practical session

    19. A. Main steps Download various Soaplab distributions Try several ready clients Code your own client (calling EMBOSS at EBI) Run Soaplab on top of your own EMBOSS installation on your machine Code your own ACD file and run Soaplab service on top of it

    20. Code your own client Calling EMBOSS at EBI: class Seqret.java usage:java Seqret [format] < input_sequence > reformatted_sequence where format represents output sequence format and is used as parameter osformat, and input_sequence is used as parameter sequence_direct_data or sequence_usa (check for double colon) check it by calling: java Seqret ncbi < embl:v08008 it does the same as:

    21. Run Soaplab on top of your EMBOSS Install EMBOSS Install the rest ? run AppLab and Tomcat servers deploy Soaplab services check with Soaplab and your clients

    22. Add your own analysis add a “real” analysis cal [–m] [–j] [–y] [[month] year] write an ACD file convert it to XML, create MyApp.xml edit run-AppLab-server script restart AppLab and Tomcat server deploy: ws/deploy-web-services –n cal –l try by: ws/run-analysis-client add a Gowlab-based resource

More Related