Skip to content

Commit aa991a2

Browse files
committed
Add diagrams to docs
1 parent 967a0c7 commit aa991a2

File tree

5 files changed

+4461
-0
lines changed

5 files changed

+4461
-0
lines changed

docs/diagrams/README.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# Diagrams
2+
3+
This folder contains diagrams about functionalities of CWL Viewer.
4+
The source file for the diagrams is stored in a SVG file. We suggest
5+
contributors to use Inkscape to edit the SVG file.
6+
7+
## Flowcharts
8+
9+
When a user submits a workflow to the CWL Viewer, the Spring controller
10+
will handle the request delegating most of the work to Spring services.
11+
12+
![flow part 1](cwlviewer_flowchat_01.png)
13+
14+
The first part of the flow is responsible for validating the request and
15+
checking if the workflow exists in the Postgres database, and if not
16+
creating a `QueuedWorkflow` in the database.
17+
18+
![flow part 2](cwlviewer_flowchat_02.png)
19+
20+
An asynchronous task is then scheduled to parse the CWL workflow with
21+
`cwltool`, use Apache Jena to create the workflow graph, and to store the
22+
`Workflow` object (not queued anymore) in the Postgres database.
23+
24+
![flow part 3](cwlviewer_flowchat_03.png)
25+
26+
This final part of the flow is also an asynchronous task, responsible for
27+
creating the Research Objects bundle file. It uses Apache Taverna API
28+
to create a `Bundle`, and stores parts of the Git repository, graph
29+
images generated by the `cwltool` and Jena graph data, and extra data
30+
for provenance. The result is updated in the `Workflow` object in Postgres.

0 commit comments

Comments
 (0)