On 17 March 2016 at 15:22, alaninmcr <[email protected]> wrote:
>> I found Docker as an excellent solution for scaling, easy deployment and
>> obviously a hot topic these days in enterprises who want to implement
>> micro
>> services based architecture/deployment for low footprint servers/services.
>>
>> I presume the idea behind Docker support for Taverna is NOT from a micro
>> service standpoint, but more like from a packaging and deployment
>> perspective. Please correct me if I am wrong.

No, you are right in that our current Docker ideas would not be about
creating Taverna (or Taverna workflow) as a micro-service,. but to use
Docker for execution.

A similar aspect could be to use Docker to start up a set of
microservices accompanying the Workflow, and then access them from
Taverna workflow using the existing WSDL and REST activities.
This is something that I am interested in within the
http://bioexcel.eu/ project - but is a bit more architecturally
challenging as it would mean things like dynamic port bindings in the
workflow configuration. It

I've tracked this as https://issues.apache.org/jira/browse/TAVERNA-941
but IMHO it would be a too big task for a GSOC project.


> There are two separate issues:
>
> https://issues.apache.org/jira/browse/TAVERNA-901 is to allow Taverna
> workflows to include steps that are tools that inside docker containers.
> That would be deployment of an existing docker.
>
> https://issues.apache.org/jira/browse/TAVERNA-879 is to create docker
> containers for Taverna workflows. That is packaging and (because the
> containers will be part of a CWL workflow) deployment.

Nadeesh, I've added your interest to
https://cwiki.apache.org/confluence/display/TAVERNADEV/2016-03+GSOC+2016

but if you are more interested in packaging for Docker, then perhaps
we could look at the existing Docker wrapping of Taverna Server

https://hub.docker.com/r/taverna/taverna-server/
https://github.com/taverna-extras/taverna-server-docker

and consider doing something similar for our command line tools
"executeworkflow" and "tavlang".

That shouldn't take you too long - so you may want to prototype one of
TAVERNA-901 and TAVERNA-879 as well.


I know Dmitry used wsdl-generic as a command line tool as in
http://inb.bsc.es/documents/galaxygears/ which could also be
interesting as a Docker container (e.g. for running WSDL services
within a CWL workflow), but I am not sure where the source code for
that is (is that outside Apache, Dmitry?)





>> If that is the case, can you please clarify what is the current packaging
>> deployment model ?


For Taverna 2.5 we used install4j via Maven to package into an installer:

https://github.com/apache/incubator-taverna-commandline/blob/old/taverna-commandline-product-core-20141228/pom.xml#L1712

That's what made the installers we have at
https://taverna.incubator.apache.org/download/command-line-tool/

One packaging task we could consider for Taverna 3.0 is to update
https://github.com/apache/incubator-taverna-commandline/tree/master/taverna-commandline-product
to use install4j or similar to generate such installers also for
Taverna 3, which has a slightly different
folder structure.

As an open source project we have 5 licenses for Install4j, but we
have not asked the author yet if this is still valid under Apache.
Now releasing under Apache license instead of LGPL we would ironically
now be allowed to bundle the binary Oracle JRE rather than having to
use the open source
OpenJDK builds.

But I'm afraid such a task would not involve Docker - as I think most
users of Taverna Command line would not have Docker (or even the right
Java version) installed.



> There is no current mechanism for packaging up something to run a specific
> Taverna workflow. You can run workflows from the command line tool or on a
> Taverna Server.

Making a recipe for generating Docker images for running a particular
Taverna Workflow could be interesting. We could then have "Save
workflow as Docker image" built into Taverna!

If you are thinking about such an idea, feel free to suggest it as a
new Jira task!



Overall - you don't have to pick exactly our ideas - you can be
inspired by them and will have to write your own proposal about what
work you propose to do (which should be reasonably scoped and
scheduled) and say how Apache Taverna would benefit.

Looking forward to hear more about your ideas!

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

Reply via email to