
Common Workflow Language - vyuh
https://www.commonwl.org/
======
fowl2
"Workflow" is such a loaded/broad/bifurcated term.

In this case we seem to be talking about "Scientific Computing Workflow" or
some sort of data pipeline. (As opposed to some sort of "Enterprise" workflow)

~~~
lewisjoe
Yes, "Workflow" has to be one of the most abused word in the industry.

People seem to use workflow for all of these things:

#1 Business process modeling and automating platforms - Camunda, BPMN, jBPM
etc.

#2 Assembling together software functions (also called tasks, sometimes) for
getting an output data - Airflow, Cadence, CWL is related too.

#3 Moving _one_ entity (bug, document, deal) through different stages of a
state machine, until the entity reaches an end state - Sharepoint workflow,
Zoho Orchestly, Comala workflows

#4 Orchestrating several apps together for automating something, usually as
reactions for events - Zapier

When developers talk about workflows, it's mostly about #2. When business
people talk about workflows it's mostly about #1. When managers/leads of a
team talk about workflows it's mostly about #3.

We should accept that Workflow as a word is too ambiguous, and come up with
what kind of workflow category the tool belongs to, before branding it as an
"one stop solution for all things workflow".

~~~
zekrioca
Couldn't agree more. I do work with workflows (mostly #2 and #4), but in the
beginning of my journey I had problems understanding what researchers were
actually trying to tell me, and I always got confused. I suspect that they
themselves do not fully understand how ambiguous this word can be..

------
prpl
The attempt to cleanly separate out workflow is nice in theory but an
extremely leaky abstraction when it comes to real world operations for DAGs
larger than 10s of nodes. You will end up with lots of code that will
duplicate functionality that exists in a workflow engine just to have
something common (e.g. notifications, database ingest, etc...) There are no
operational concerns in CWL.

~~~
mbreese
That’s my main issue with CWL. It’s a nice execution language, but not
something I like to write an analysis pipeline in. Because it is YAML, using
runtime logic is difficult (impossible?). I much rather use a pipeline tool
that includes some flow control and ability to adapt to different arguments.
Last I looked at CWL, this wasn’t the case.

~~~
tetron
Adding conditional execution to the dataflow graph is something being worked
on for the next version of CWL.

~~~
mbreese
After seeing the horror that was conditionals and flow control in Ant's
build.xml format, I don't see anything based on a text file format working
well...

------
smartmic
There are so many alternatives, see
[https://news.ycombinator.com/item?id=20410848](https://news.ycombinator.com/item?id=20410848)

Any information about which language is leading the field?

~~~
maddyboo
[https://xkcd.com/927/](https://xkcd.com/927/)

~~~
jkh1
This is not exactly true in this case as before CWL there was no standard,
only languages tied to particular implementations.

------
drocer88
Snakemake, CWL, WDL, Nextflow are used in bioinformatics workflows.

Just plain old bash seems to work just fine, though. It is simple and gives
you a lot of portability to HPC clusters and general purpose cloud. Not
hardwiring to a configuration file and not using an, in practice, un-portable
workflow language saves you a lot of pain.

A truly portable cloud/hpc module for python would be a good solution.

~~~
RocketSyntax
Wondering why airflow and prefect haven't crept into space yet

~~~
tetron
[https://github.com/Barski-lab/cwl-airflow](https://github.com/Barski-lab/cwl-
airflow)

------
tetron
CWL project co-founder here. It's funny, I have been trying to start a
discussion of CWL on HN for years, obviously someone else had to do it.

The goal is to provide a way to describe dataflow processes that is highly
portable, auditable, and reproducible. This is incredibly important in
research, clinical, and regulatory domains where you need to be able to show
how you came up with a result.

It's not a general purpose language on purpose, and operational concerns like
notifications are the domain of specific implementations (engines).

I agree the syntax is horrible (and I designed most of it) but it also makes
it easy to write programs that read and write CWL, enabling an ecosystem. For
example, here is a transpiled languages that emits CWL:

[https://github.com/common-workflow-language/cwl-
ex](https://github.com/common-workflow-language/cwl-ex)

~~~
Edmond
something worth looking at:
[https://en.wikipedia.org/wiki/Business_Process_Execution_Lan...](https://en.wikipedia.org/wiki/Business_Process_Execution_Language)

------
eiro
it really feels like a sophisticated bad joke to me but i'm curious: any real
world example ?

~~~
Xophmeister
We've used it and competing workflow management "languages" \-- there are a
few of them -- in our bioinformatic processing pipelines. "Sophisticated bad
joke" is a pretty accurate description.

~~~
hhas01
Disappointing, but unsurprising.

See also: Greenspun’s Tenth Rule, “Yo Dawg…”.

------
PeterStuer
But is it SPEM™[1] compliant? /s

[1] [https://www.omg.org/spec/SPEM/2.0](https://www.omg.org/spec/SPEM/2.0)

------
hhas01
Those who can, implement solutions.

Those who can’t, implement Standards.

------
JaDogg
[https://xkcd.com/927/](https://xkcd.com/927/)

------
scottious
Imagine a programming language except it also has to be valid YAML. Yeah. Now
sprinkle some JavaScript in there just for good measure.

Look no further than their own hand-crafted examples (confusingly called
"Episodes") for compelling arguments for why to NOT use Common Workflow
Language.

~~~
dang
" _Please don 't post shallow dismissals, especially of other people's work. A
good critical comment teaches us something._"

Your comment almost gets there, but not quite—and then it sinks itself lower
by breaking this one:

" _Don 't be snarky._"

[https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)

Can you please take the guidelines a bit more to heart when posting here? We'd
appreciate it.

~~~
scottious
Sorry

