Hi Stian,
Thank you very much for the valuable feedback. Completed the requested
changes. Please let me know if you see anything else.
I will anyway submit this to GSoC tonight, because I can change it till
25th.

On Wed, Mar 23, 2016 at 1:39 PM, Stian Soiland-Reyes <[email protected]>
wrote:

> Thanks!
>
> Overall your proposal looks good! Precise and well structured. I like
> the diagram, it shows good understanding.
>
> "Travena" -> "Taverna"
>
> TAVERNA-879 proposes a way to execute a particular step of a Taverna
> workflow as if it was a command line. This could enable any "classic"
> Taverna workflow to be converted to a CWL workflow - not just those
> with the Tool Activity.   Imagine a command line tool that takes a
> JSON/YAML file which corresponds to the existing configuration any
> existing Taverna activity (e.g. R, WSDL, REST, Beanshell) - and runs a
> corresponding one-step workflow with corresponding input and output
> files.
>
> While this might not be an efficient way to do many of the Taverna
> steps in a non-Taverna CWL engine, it could be a nice transition -
> allowing you to start your workflow in Taverna, then save as CWL to
> run on any CWL engine (assuming no fancy iterations were done in the
> Taverna wf), and develop further by editing the CWL, replacing some of
> the Taverna steps with more 'native' tools, e.g. calling "curl" in a
> Docker image instead of a Taverna step that just does a REST call.
>
>
> TAVERNA-879 is a bit more experimental (and exciting!) and hard to
> tell how far you would get, so I would mark your Task 7 as optional in
> your proposal, but keep it in the schedule - thus you have the option
> to free up time at the end if for instance you struggle to capture the
> Docker metadata for task 6.
>
>
>
> Under "Deliverables" you say "The entire source code zipped" - I think
> we would prefer to follow the same pattern we used for last year's
> GSOC - where we ask the students to sign the Apache Individual
> Contributer License Agreement https://www.apache.org/licenses/icla.txt
> -
>
> Then you commit your code continually to our git repositories using
> GitHub pull requests. (If you don't like GitHub we can do git patches
> by email/Jira) - rather than a big ZIP at the end which we have to
> figure out. This parts helps you learn how to interact with open
> source project - and it teaches us on how to interact with third-party
> submissions :)
>
> So I would change deliverable 4 to "Regular GitHub pull requests with
> source code" - we can agree on the repositories later - I guess
> docker-activity would be added to taverna-common-activities - while
> the TAVERNA-879 tool could be added to the taverna-command-line.
>
>
> As for testing it would be great to start with some example workflows
> which just runs Docker with the existing Tool activity - you could
> develop these during your first 4 weeks as a way to get to know
> Taverna. And then we can transition those workflows for the new Docker
> activity in the Testing steps - and they can become a separate
> deliverable.
>
>
>
> On 23 March 2016 at 08:54, Nadeesh Dilanga <[email protected]> wrote:
> > Hi Stian et al,
> > Here I have drafted my proposal [1]. Appreciate everone's feedback on the
> > proposal. Please let me know if this is not align with your original
> > expectation from this project. Or whether it needs any scope level
> changes.
> >
> > Apart from that, @TAVERNA-900 can you please clarify following;
> >
> > "Create a Docker tool for executing Taverna activities (TAVERNA-879) -
> *this
> > allows any Taverna steps to be used by other CWL engines*"
> >
> > [1] -
> >
> https://docs.google.com/document/d/1DKYuzr2hA5brQ2xBz_AVQgMWXB5qm6rftbWoGbnbXrg/edit?usp=sharing
> >
> > On Tue, Mar 22, 2016 at 1:42 PM, Nadeesh Dilanga <[email protected]>
> > wrote:
> >
> >> Hi,
> >> Thank you very much for the quick response. I will go through these bit
> >> more and get back when I meet any roadblocks.
> >>
> >> On Mon, Mar 21, 2016 at 10:15 PM, Stian Soiland-Reyes <[email protected]
> >
> >> wrote:
> >>
> >>> On 21 March 2016 at 00:51, Nadeesh Dilanga <[email protected]>
> wrote:
> >>>
> >>> > First of all, apologize for the delayed response. I wanted to give my
> >>> self
> >>> > bit more time to understand and going through what Taverna is and
> what
> >>> > exactly the expected outcome of the project (tutorials and related
> slide
> >>> > decks and also youtube videos were very helpful). Because this will
> be
> >>> my
> >>> > one and only GSoC proposal and I want it to be perfect!.
> >>>
> >>> Thanks!  You don't have to do it perfect - just great! :-))
> >>>
> >>> > 1. Taverna is a BPMN like(but more extensive and scoped more widely
> in
> >>> > features) workflow engine which has several ways of creating work
> flows
> >>> and
> >>> > different interfaces of access them.
> >>>
> >>> While I guess we don't like to be compared with BPMN, I think you are
> >>> correct. :)
> >>>
> >>>
> >>> >  2. When creating workflows, one major extension point to cater
> custom
> >>> use
> >>> > cases is, to plug/create your own services/service types which is a
> >>> great
> >>> > model IMHO. And this project is in fact to write an adapter(activity
> >>> plugin
> >>> > which I believe is the executor of an invocation of a service) when
> some
> >>> > one needs to run something on Docker at some phase of his workflow.
> >>>
> >>> Correct - thus one could have a workflow with multiple tools from
> >>> different docker images.
> >>>
> >>>
> >>> > if #2 is correct, can you please provide me an example of an use case
> >>> which
> >>> > led to this project idea, because feels I may be missing something
> here.
> >>> > Because IMHO, even for docker eventually it will be a service
> invocation
> >>> > from a workflow front, and what Tarvena needs is some activity
> plugins
> >>> that
> >>> > are aware of the particular transport protocols.
> >>>
> >>> We already have the Tool activity which allow you to run command line
> >>> tools - however such workflows are hard to share as anyone receiving
> >>> it may not have that tool installed, or in the same version/location.
> >>>
> >>> While approaches like https://www.debian.org/devel/debian-med/ and
> >>> BioLinux have helped towards "How to get it installed" - it then moves
> >>> the requirement to a particular operating system, which in a way is
> >>> worse.
> >>>
> >>> Docker solves the "How to consistently install this tool" problem -
> >>> and even works (almost) seemlessly from OS X and Windows. It adds nice
> >>> reproducibility aspects as you can mark the exact snapshot version of
> >>> the docker image you have used.
> >>>
> >>>
> >>> There are now also initiatives such as http://bioboxes.org/ (and  to a
> >>> certain degreehttp://bio.tools/ ) which describe bioinformatics tools
> >>> as Docker images - thus these can in theory be used directly from
> >>> Taverna.
> >>>
> >>>
> >>> Perhaps part of the project would be to define a use case so we find
> >>> some actual command lines we want to run in a Taverna workflow - e.g.
> >>> to run HMMER for sequence alignment using
> >>> https://hub.docker.com/r/dockerbiotools/hmmer/ using sequences fetched
> >>> from an EBI web service?  I am not sure how much of the bioinformatics
> >>> side you would like to get into! :)
> >>>
> >>>
> >>>
> >>> > (example: http service hosted in Docker, Http activity plugin,
> Message
> >>> > Broker service hosted in Docker, you need AMQP,MQTT like activity
> >>> plugin)
> >>>
> >>> Yes, but I don't think we want to run many of those kind of services
> >>> from Taverna, I was thinking more of running just command line tools
> >>> that happen to be packaged as Docker images.
> >>>
> >>> > 3. Or the case is to invoke some composite applications that
> >>> > deployed/installed in Docker disregarding what the protocols are ?
> >>>
> >>> No, this would get a bit more complex, so I would stay away from that
> >>> for the GSOC project - although of course the potential is very
> >>> interesting motivation as well.
> >>>
> >>> I think this is what I described in
> >>> https://issues.apache.org/jira/browse/TAVERNA-941
> >>>
> >>>
> >>> > if #3 is correct, what we run in the docker container can be another
> >>> > Taverna workflow. If that is the case your idea on "Save workflow as
> >>> Docker
> >>> > image" will be a superb addition!.
> >>>
> >>> Yes! It should then be possible! But.. why? :)  Run with older Taverna
> >>> version?
> >>>
> >>> One interesting thing could be if there's also "Save workflow as
> >>> Docker image" - if such a docker image is added as a Docker image -
> >>> would be to "unwrap" it and show the inner workflow in Taverna.
> >>>
> >>> With Docker there's a big danger of going down the "It's turtles all
> >>> the way down" recursion - hence I tried to scope the GSOC ideas to be
> >>> more concrete about running command line tools.
> >>>
> >>>
> >>> >  So with this, I would like to understand what Taverna community
> expect
> >>> > from "Invoking Docker from Taverna"  on this GSoC project. So that I
> >>> can be
> >>> > more specific on my project proposal and make it the best project for
> >>> this
> >>> > summer for Taverna.
> >>> >
> >>> >
> >>> >
> >>> > On Fri, Mar 18, 2016 at 7:18 AM, Stian Soiland-Reyes <
> [email protected]>
> >>> > wrote:
> >>> >
> >>> >> 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
> >>> >>
> >>>
> >>>
> >>>
> >>> --
> >>> Stian Soiland-Reyes
> >>> Apache Taverna (incubating), Apache Commons RDF (incubating)
> >>> http://orcid.org/0000-0001-9842-9718
> >>>
> >>
> >>
>
>
>
> --
> Stian Soiland-Reyes
> Apache Taverna (incubating), Apache Commons RDF (incubating)
> http://orcid.org/0000-0001-9842-9718
>

Reply via email to