Integration Service Building Blocks

Avni Integration Service follows domain driven design building blocks. Here the responsibility of these building blocks is elaborated.


Each integration uses three data sources typically integrating system, Avni and Integration Database. The first two are accessed via REST/HTTP API. But for all these three data access use Repository classes to pull/push data.

Entity (and Factory, Value Object)

The data coming in-out of repositories are entities (like usual). The responsibility of Value objects and Factories are as usual.


Services provide business and data transformation logic. They can use Mapper.

Integration Service has two other building blocks that are not common


Workers are like controllers that orchestrate one or more services to process each integration flow. Typically there is one worker method for one integration process.


These handle the responsibility of scheduling of the Integration process. They invoke workers for the processing.