The Soaplab's main raison d'être is to be a Web service. As such, it provides its services to various, possibly many, clients, without caring much about how they were written or which programming language was used to create them. That is what a reasonably designed Web service should do.
However, people that just installed Soaplab on their servers would like to use it at once, to make sure that the installation went well, without installing or fetching third-party clients first. Therefore, Soaplab comes with its own simple client that can be used from any modern web browser without writing any piece of additional code - and that is Spinet.
The Spinet client appears almost automatically as the Soaplab Welcome page (the page provided by your Tomcat when you point your browser to the Soaplab services URL). It allows to select a service, to specify its inputs in a usual HTML form, start the service, and to display its results. What could be a simpler client?
Yes, we know that this is not a typical usage of Web services (the Web
services are for programs not for clicking humans, right?) - but it
can help with testing and obtaining attention to your Soaplab
The services are grouped by their categories. The service names are click-able: the same click either open or close a service panel, a panel with the form for service inputs and with the links to the service results (once the service has been executed). You can collapse (close) all currently open service panels by clicking on the icon in the right upper corner.
The simplest possible Soaplab2 service is a classic HelloWorld. Here are its screen shots:
|The service panel has only one text field where you can type your favorite greeting. Or you can leave it unchanged - and the default value will be used. Just press Run service...|
|When the service is finished it shows its report and a list of links to the results. The report and detailed_status are special results that are shown within the service panel (therefore, if you prefer to see the report in a separate window, click right on it and select such option in the browser-provided menu), other results will be open in a separate window or tab.|
|The same service panel can be used to run the same service (perhaps with different inputs) again and again. The individual jobs are shown side by side. Any of them can be Removed. Note that you can close the service panel (by clicking on the service name link) and open again, and the last inputs and jobs results and states are still kept there.|
| The small icon in the left upper corner displays a help text. The richness of the shown text largely depends on the service metadata you have put into the service ACD (or XML) file.
Each input field can have also its own help text. Its contents again depends on the service metadata (see more about fields help, prompt and info in the metadata guide).
The service panels can be more complex. Here is an example of a (still rather simple) EMBOSS classic Seqret service:
| The panel separates the mandatory and optional
inputs. You can also see more types of inputs (check boxes, lists,
However, the most noticeable is the mandatory sequence sub-panel. Here one can specify a sequence either directly (by using a text area and the radio button "direct data or local file"), or as a reference (by using a text field, perhaps with a help of available EMBOSS databases in the select list, and the radio button "as USA or as URL", or even to upload a sequence from a local file.
Be careful when selecting a local file for uploading - if you misspell it, it may not be reported properly.
Now, let's look at the service that has a bit more appealing, graphical results - the Prettyplot from EMBOSS:
|Here you can see two executions of the same service but with two different graphical output formats: the PNG images and colored postscript.|
|Some Soaplab results are actually a list of individual results - such as an array of graphical PNG images from the previous example. For such results, Spinet provides a bar with indexes of available result pages; the result page is then shown below the yellow bar.|
There are few other features that may be worth to mention:
| A service execution is monitored by a status
sub-panel. It is updated automatically every few seconds but you may
set manually a longer polling interval. Which is useful for the longer
running services. You can also click on Update now to get an
Sometimes the status window of very short-live services does not update automatically and you need to click on the Update now button.There is also a button Terminate to interrupt a running service.
|The EMBOSS services dealing with input sequences have a database selection list that shows those databases your EMBOSS installation was configured for. Making a selection copies a selected database prefix to the reference text field below the list - without removing the sequence name (if there is already any entered there).|
It is worth to pay some attention to the configuration of the Soaplab services - but there is nothing special to do for the Spinet client. Perhaps, it is good to make sure that you have enabled Soaplab results provided as URLs. By default, this feature is, however, already enabled. Spinet can definitely takes advantage of the result of the URL type.
The properties dealing with URL results are
More about how to configure Soaplab services is in the configuration guide. Spinet has also good understanding of the Soaplab services rapping EMBOSS - the notes how to deploy and configure them is in the EMBOSS notes.
Spinet client is installed/deployed (together with the Soaplab services) in the Tomcat. It uses local protocol to get access to the Soaplab services. This means that Spinet sits in the same JVM as Soaplab services.
Following snapshot is from a Soaplab server that has customised spinet.welcome.msg property and has typed interface enabled.