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.
- Connector MetaData
- Provides the import types, transactions and fields that you see on the connector and reader screens.
- Preview Service
- The preview service generates the intermediate results shown on the preview area on the transform setup screen when designing integrations.
- Test / Check
- 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.
- Scheduler
- Triggers integrations maintained in the Shedule area of IMan.
- File Events
- Triggers integrations initiated by File Events.
- Monitor
- 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.