Cilia/Cilia in 10 minutes
This tutorial presents how to implement and use Cilia mediators from scratch to a full working mediation chain. We use Apache Maven to manage and build the project's source code, and Apache Felix as runtime container.
Cilia concepts in nutshell
Cilia is a specialized framework for the construction of mediation applications (aka. Mediation Chains). The mediation chain is composed of a set of Mediators, and are composed following a pipes-and-filter architectural style, and using unidirectional dataflows known as Bindings.
The Mediator is responsible for the treatment of incoming data. It is composed of three sub modules:
- Scheduler: performs incoming data synchronization i.e. it decides when a set of data is ready to be processed. When a data set has been collected, the scheduler notifies the processor.
- Processor: The processor is the central constituent of a mediator. It performs the data processing algorithm on received data.
- Dispatcher: The dispatcher must decide where to send the processed data. The dispatcher uses mediator ports to choose the destination.
A binding connects two mediators in a defined ports.
Mediators on the boundaries of the mediation chain are called Adapters. They are responsible for communication with external data sources or target applications.