Functions Definition Language Composer
Writing an entire workflow in plain text could be a difficult task for many users. To simplify the process you can use FDL Composer, a web-based user interface to facilitate the definition of FDL YAML files for OSCAR and SCAR.
How to access FDl Composer
It does not require to be installed. Just access FDL Composer web. If you prefer to execute it on your computer instead of using the web, clone the git repository by using the following command:
git clone https://github.com/grycap/fdl-composer
And the run the app with
Workflows are composed of
OSCAR services and
OSCAR services are responsible for processing the data uploaded to
Defining a new
OSCAR service requires filling at least the
To define environment variables you must add them as a comma separated string of
key=value entries. For example, to create a variable with the name
firstName and the value
John, the "Environment variables" field should
firstName=John. If you want to assign more than one variable, for
lastName with the values
input field should include them all separated by commas (e.g.,
Storage providers and buckets/folders
Storage providers are object storage systems responsible for storing both
the input files to be processed by
OSCAR services and the output files
generated as a result of the processing.
To configure them, drag the storage provider from the menu to the canvas and double click on the item created. A window with a single input will appear. Then, insert the path of the folder name. To edit one of the storage providers, move the mouse over the item and select the edit option.
Remember that only MinIO can be used as input storage provider for OSCAR services.
Download and load state
The graphic workflow can be saved in a file using the "Download state" button. OSCAR services, Storage Providers, and Buckets are kept in the file. The graphic workflow can be edited later by loading it with the "Load state" button.
Create a YAML file
You can easily download the workflow's FDL file (in YAML) through the "Export YAML" button.
All components have four ports: The up and left ones are input ports while the
right and down ports are used as output.
OSCAR Services can only be
Storage providers, always linked in the same direction
(the output of one element with the input of the other).
When two services are connected, both will be declared in the FDL file, but they will work separately, and there will be no workflow between them. If two storage providers are connected between them, it will have no effect, but both storages will be declared.
FDL Composer can also create FDL files for SCAR. This allows to define workflows that can be executed on the Edge or in on-premises Clouds through OSCAR, and on the public Cloud (AWS Lambda and/or AWS Batch) through SCAR.