Giter Site home page Giter Site logo

coordinator-adapter-target's Introduction

Coordinator Adapter Target

abstract

A bunch of micro services cooperating each other to reach third party integration scalability.

A connector is a single microservice able to connect to a defined target in order to implement the related integration logic.

We can add connectors to the domain just following the steps:

  • creating a new micro service to handle the integration
  • including the new target in the domain changing the adapter configuration
  • configuring the target's flavor in the repository

architecture


CAT


flow


sequenceDiagram
    participant Client
    participant Coordinator
    participant Repository
    participant Adapter
    participant Target

    Client->>+Coordinator: /action/{application1}
    Coordinator->>+Repository: /config/{application1}
    Repository->>-Coordinator: target and flavor1
    Coordinator->>+Adapter: /action/target/flavor1
    Adapter->Adapter: resolve target
    Adapter->>Target: /action/flavor1
    activate Target
    Adapter-->>Coordinator: OnAdapted
    Coordinator->>+Repository: Add event
    Target->>Adapter: ok
    Adapter->>-Coordinator: ok
    Coordinator->>-Client: ok
    Target->>Target: Process async integration
    Target-->>Coordinator: OnProcessed
    deactivate Target
    Coordinator->>+Repository: Add event


Loading

cat-coordinator


The coordinator micro service is the "orchestrator" for the entire logic in the CAT domain. The coordinator is similar to the SAGA pattern orchestrator.

It acts as entry point for the exposed RESTful api and it is responsible to retrieve information from repository to handle the incoming request.

Using the parameter applicationId we can retrieve target and flavor data to call the adapter.

  • target identify a kind of integration
  • flavor are the settings allowed by the selected target

Usually the coordinator subscribes to events in order to handle notifications coming form all the other microservices.


The coordinator should be able to store data in the repository using the `event sourcing` pattern.

cat-repository


The repository micro service is a basic CRUD service.


cat-adapter


The main purpose of the adapter micro service is to resolve the right target to perform the action.
Once the target was resolved the adapter will call it using the flavor parameters.
For each target we can have different flavor representing different target options.

cat-target


The target micro service is responsible to implement the right third party integration.


use cases

cat-pay

cat-export

cat-email

cat-etl

coordinator-adapter-target's People

Contributors

francomelandri avatar

Stargazers

Fabrizio avatar Enrico Galassi avatar Davide Melfi avatar Enrico Piccini avatar

Watchers

Enrico Piccini avatar  avatar

Forkers

enricosoft

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.