This chapter is intended for those who want to use Soaplab to provide Web Services that will allow remote users (clients) to start analysis tools on the service provider's machine (or machines). The chapter is, indeed, intented for you if:
The Soaplab can wrap - as a Web Service - (almost) any command-line tool, starting from the common UNIX tools, such as tar, sort, or ls, going to more complex sets, such the programs distributed within EMBOSS, and ending with tools that are usually executed using a independent queuing system, such as running a BLAST on an LSF. The main task any service provider needs to do is to describe (in a way shown in details later and below) the analysis tool he/she wants to deploy. This may not be an easy job, especially if you wish to deploy many tools. Fortunately, a prominent set of tools, the EMBOSS, already has descriptions for all its tools, and Soaplab recognizes its format. Actually, Soaplab goes further and uses the EMBOSS format for descriptions for other, non-EMBOSS, tools as well. You may find the architecture page helpful to explain the whole picture before you immerse into gory details below. Especially, the Soaplab Flow Diagram may be useful.
Additionally to what is distributed within Soaplab (and what is explained below in the section about available packages) you need to have and to install separately the following:
Soaplab for service providers is distributed in two different flavors (both are available from the download page) - a binary distribution and a CVS check-out. They both contain the same Soaplab implementation but they differ in the way how to create, deploy and add new services. You can use them together, or each one separately.
Check-out CVSYou can get the most complete Soaplab, including sources, from a CVS repository. This gives you everything on your computer, including many Ant tasks for deploying and testing Web services (Ant is a Java way how to build and use projects).
Use binary distributionFor a production-like and robust use, however, is more convenient the option with a binary distribution.
Combine CVS and binary distributionsActually, the best environment is to use both options. Have a CVS copy in one place where you can test your new services, and where you can create a package with those new services once they are tested. And install also a binary distribution, and add there services created in the CVS local copy.
The main advantage of this combination is that you can use an Ant task for packing together one or many services into a site-independent package (that can be shared, by the way), and by using just one script you can merge this package with existing services within your binary distribution.
Available set of servicesThis architecture also allows to share and re-use services packed by someone else:
Web services - when they use Axis toolkit (as Soaplab does) - can be configured by a number of deployment parameters. This section gives their overview. It is placed here because the same deployment parameters are used independently on how you deploy services (from a CVS copy or from a binary distribution). There are here more or less for documentation purposes because by default they all are created automatically. But there may be cases...
If you are, however, reading this page the first time, you may not have enough context to understand what individual parameters means. Read on or skip it, and return here later if this is the case.You may anytime check what parameters are in use - by looking into server-config.wsdd file in <your-tomcat-home>/webapps/axis/WEB-INF directory (or similar, it depends where is Axis within your Tomcat). Note that the default values in the tables below may differ depending on the distribution method - binary distribution may have different ones than when using the CVS module. The general configuration parameters are shared by all services. Being in one place in server-config.wsdd it is easier to correct them manually (in case of emergency). But Soaplab services do not mind where they get deployment parameters from - they simply try first the global parameters, and then their own parameters.
The List service is named AppLabFactory, and it uses following configuration parameters:
All other AppLab-based services (both normal and derived ones) use the following configuration parameters:
There are few more parameters used by Gowlab-based services. Their table is in the Gowlab guide.
Martin Senger
Last modified: Thu Mar 3 11:36:07 2005 |