Cilia/Cilia in 10 minutes

From Wiki Adele Team
Jump to: navigation, search

Introduction

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.
Cilia-classes-overview.png

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.

A Simple Example

Running the mediation chain

Conclusion