What are pipelines?
Pipelines organize stages in complex (usually) constructs which allows the CCIL systems to achieve real value.
A very simple example example can be found in the Hello World! tutorial:
# echo the simple message context.echo.pipeline = ECHO
In the example above, the pipeline is named echo, and given that the context is named default can be executed from the command line, using the following syntax:
$ ccil-app default echo
The runtime environment
More complex pipelines require that parameters are passed across stages during their execution.
When a pipeline is started, the execution engine allocates a key-value collection which will be used as runtime environment for the stages. Each stage can read and write there, making it possible to leave there values for the next ones.
You could consider the values supplied by the context.properties files as static context while the values in the runtime environment as dynamic context. The latter exists only while the pipeline is being executed and its content changes all the time.
Let us take for example some more complex scenario: