IMan Architecture

IMan is a multi-service architecture consisting of three front-end web applications and a number of back-end services.

Frontend Services

IIS Design / web portal

The user interface portion of IMan where integrations are designed, integrations scheduled and setup options maintained.

IIS WEBAPI

A separate IIS Application Pool processing all WebAPI requests. The WebAPI Application also provides the endpoints for OpenAPI Endpoint descriptions and WebAPI metrics for Grafana.

Realtime monitoring

WebAPI request monitoring viewed from the Grafana platform via Prometheus.

Backend/Processing

Data/Preview Service

The Data/Preview service consists internally of three smaller services.

  1. Connector MetaData
    1. Provides the import types, transactions and fields that you see on the connector and reader screens.
  2. Preview Service
    1. The preview service generates the intermediate results shown on the preview area on the transform setup screen when designing integrations.
  3. Test / Check
    1. Performs the check operations invoked from the various setup screens.

Log Service

The log service commits any audit log entries to the IMan database. The log entries are retrieved from a private message queue which is created during the IMan installation.

The log service must be running in order for the audit reports to be generated correctly.

Scheduler Service

The scheduler service consists of three smaller services.

  1. Scheduler
    1. Triggers integrations maintained in the Shedule area of IMan.
  2. File Events
    1. Triggers integrations initiated by File Events.
  3. Monitor
    1. Triggers integrations initiated by Monitors; in this release is limited to Email Events.

IntManEng.exe

The integration executable performing the processing whenever an integration is triggered from the scheduler.

IMan Engine

Core processing engine used throughout the solution.

Inter-Process Communication

Is performed through a mixture of Windows Message Queues and WCF communication.

Scheduler & Log Service Database Connection Loss

The log and scheduler services maintain persistent connections to the IMan database. If database connectivity is lost the services will automatically retry connecting immediately and thereafter attempting a reconnect at 15 seconds, 30 seconds and then every 60 seconds.

Upon connection loss an error event is written to the Windows Application Log, and an information event is written upon reconnection.