In a simple way, it's possible to say that the pipeline is a sequence of connected components that make processings and communicate with each other through messages.
The processing of a component inside a pipeline occurs on 3 steps:
message receiving from the previous component (message “in”);
some processing execution, which can use the information of the received message or not;
message dispatch to the next component (message “out”)
These messages are always in JSON format.
Take a look at the example below. A pipeline configured with a REST trigger was called and provided the received parameter ("type": "revenue") for the following component - in this case, a Object Store called Delete all. Successively, each component ends its execution and triggers the next one, providing the resulting message of its processing.
When you decide to traffic messages in JSON format only, their manipulation and transformation gets much easier not only if you go for the transformation components but also for the Double Braces expressions. These expressions must make reference to message "in" elements to produce messages "out". To learn more, read the Double Braces and Input Data article.