Integration Service Building Blocks

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

Repository
Each integration uses three data sources typically integrating system, sakhi2.0 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.

Service

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

Integration Service has two other building blocks that are not common Worker
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.

Job

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