Link Search Menu Expand Document

prod

Ferryman

Introduction

The Ferryman is handling the execution of the connectors in every flow. It receives messages from the Component Orchestrator and is executing the connectors triggers and actions with the supplied data.

Implementation

Technologies used

  • RabbitMQ

How it works

Each connector to the Open Integration Hub can contain several actions and triggers to receive and send data.

Strictly speaking not a service, the Ferryman is a library that abstracts the communication of the connectors with the OIH and handles the execution of the connectors in a flow.

Each connector loads its own instance of the ferryman. The Ferryman library then fulfills the service of receiving messages the Component Orchestrator sends via the Queue and executes the corresponding action or trigger in the connector.

After execution the results of the operation are also passed to the ferryman by the connector.

Based on this the ferryman also can optionally send the oihId and the recordId of the data (The id of the data set in the connected system) to the Data Hub. for ID-Linking functionality.

Besides that if requested it will create data provenance events for the Governance Service.

Further functionality like sending to raw data storage is in development.

Interaction with other Services

  • Component Orchestrator: Whenever an integration flow is running and an action is required from a connector, the Component Orchestrator notifies the ferryman of the said connector, which then takes the necessary actions.

  • Data Hub: Optionally the ferryman sends the recordId the connector provides for an entry to the Data Hub for ID-linking to one OihId

  • Governance Service: If requested in the flow step the ferryman generates data provenance events for each executed action or trigger and notifies the governance service via the queue.