taverna-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stian Soiland-Reyes <st...@apache.org>
Subject Re: A few questions before choosing Taverna for our project
Date Mon, 02 Mar 2015 13:06:13 GMT
Hi! Great that you are considering Taverna!

On 27 February 2015 at 10:30, Matthieu Melcot
<matthieu.melcot@spaceapplications.com> wrote:

> The core of the project is the orchestration of WPS processes
> (http://www.opengeospatial.org/standards/wps) which are Web Services for
> Geospatial processing.
> Basically, a client can request one of the 3 following "GetCapabilities",
> "DescribeProcess", "Execute" and get a
> response in XML

Great! Others here have already been using Taverna with WPS services -
I know Alan Williams has some experience as well:

http://markmail.org/message/y4elmrinjlyseoc4


> The WPS server implementation that we will use
> (http://52north.org/communities/geoprocessing/wps/) doesn't embed the WPS
> xml inside SOAP (even if the OGC WPS norm describes it), and their are not
> WSDL capabilities.

But it does expose a SOAP/WSDL endpoint? Then it should in theory work
out of the box - even though you would have to deal with the "service
through a service" pattern of the generic DescribeProcess/ Execute
calls.


> 1) Is it relatively easy to develop a component for Taverna that will allow
> to add these WPS services into the "Services Available" for building a
> workflow ? Which kind of effort would it represent ?

It's fairly easy to add a new Services Available plugin - see the Tutorial here:

http://dev.mygrid.org.uk/wiki/display/developer/Tutorial+-+Service+discovery+plugin

Note that this tutorial is relevant for Taverna 2.5 , the upcoming
Apache Taverna 3 would have slightly different ways of creating
activities in the workbench.


A service discovery module is allowed to return existing services
(e.g. WSDL Activity) and don't have to create their own activity types
(although the tutorial returns the HelloWorld type of activities)

Note that creating WSDL activities programmatically could be slightly
complicated if you need to add XML splitters for inputs and outputs -
which I believe is needed for. You can have a look at the wsdl
activity UI code for "Add XML splitter" for inspiration - See the
Taverna 2 code here:

https://github.com/taverna/taverna-wsdl-activity-ui/blob/maintenance/src/main/java/net/sf/taverna/t2/activities/wsdl/actions/AbstractAddXMLSplitterAction.java

(Dmitry might have inputs on alternative ways to do this in Taverna 3
- but for now I think you should target the Taverna 2 workbench as
Apache Taverna 3 workbench probably won't be released before Q3 2015)


A tighter integration with a "WPS Activity" plugin could give a much
smoother expirence for the workflow design user, as you could expose a
single step that interrogates the WPS server for input and output
parameters and present these directly in Taverna as ports - this would
take some more time - but has been done for many similar kind of
service-in-a-service cases for Taverna, e.g. the Soaplab Activity.


We did something similar when we created the AstroTaverna plugin for
Taverna - but ended up making a new Perspective to have a richer
search interface against the VO service registry -
http://amiga.iaa.es/p/290-astrotaverna.htm

Here the perspective allow a rich way to search and display
information about VO compliant REST services, and then adding them to
the workflow and/or Service Panel with a button.


> I read
> (http://geoprocessing.forum.52north.org/Problem-with-Taverna-td4024997.html)
> that some people try to use WPS with Taverna (Through WSDL however), but
> they didnt succeed.

Alan might be able to fill me in - but I believe this is mainly caused
by an incomplete
WSDL created by the WPS server.


> 2) In the case that it is possible, is there some possibilities to describe
> semantically the input and output of these WPS services (indeed the input
> and outputs will always be URL (texts), but the URLs reference different
> types of materials), so that it would be possible to check if the
> connections are valid. It seems that Taverna has that kind of mechanism...

Taverna does not have that kind of mechanism directly, but it is not
far off from being able to do so. The main problem is the source of
the semantic type annotations - a source like WPS service descriptions
would be a good candidate.

Mark Fortner has also shown interest in adding such a mechanism:

http://markmail.org/message/zhmas3ifgmzccdsj



> 3) My third question is about the monitoring and control of the workflow
> execution.
> Is there a way through the REST API to ask which part of a workflow is
> actually executing.

Not yet - but that is the plan as we are moving Taverna Server 3 to
use the Taverna Platform directly instead running the engine through
the command line.

We will then be able to expose the workflow run report, which is a
JSON document that details all processors and what they are doing,
have done and still remains to do. Basically a detailed data structure
similar to the Progress table at
http://dev.mygrid.org.uk/wiki/display/tav250/Result+Perspective#ResultPerspective-ProgressReport

You could access this today, but only through the Java API of the Engine.


> 4) Is there a simple Web Viewer/Controller (It seems that the "Taverna
> Player" needs to be embedded in web pages in ruby). Is there a more
> straightforward way to use this player in order to test it ?

Yes, Rob Haines and Finn Bacall made this basic portal so you won't
have to make your Ruby portal to try it out:

https://github.com/myGrid/taverna-player-portal




> 5) Is there a mean to control and monitor the execution of a remote workflow
> directly from the Taverna Workbench. It seems that "File / Open Workflow
> Location" makes reference to a .t2flow remote file, and not a workflow that
> would have been load into the Taverna Server.

Not yet - but that is the goal of making the Taverna Platform binding
to the Taverna Server API - the Taverna 3 workbench has the separation
so that this is in theory easy. The main thing it is missing is that
very same JSON report, which needs to be added also to the client
code.

Some simple UI code would also be needed to "Add your server".

As an Apache project with open development, anyone can contribute to
the development of Taverna.

Do you think you (or your team) would be able to help out with
updating and testing the Taverna Server for such an integration?

For instance I think we need to clarify what should be the granularity
of the report, how to deal with refreshing, loading intermediate data,
etc.

-- 
Stian Soiland-Reyes
Apache Taverna (incubating)
http://orcid.org/0000-0001-9842-9718

Mime
View raw message