Human Task Manager
The human task manager (HTM) provides an API to manage the lifecycle of tasks where manual intervention is required.
Clients may choose to use the Human Task Manager GUI, which uses these services and workflow, or choose to integrate these IPF services into their own GUI.
Architecture
The HTM is built using the event sourcing and CQRS patterns. It is modularised so that it can be deployed as a single unit or split into separate applications that handle the write side or one or more read-side projections, which enables fine-tuned scaling of each component. The only dependency HTM currently has on underlying infrastructure is MongoDB, but this is configurable and different databases could be used (e.g. Redis for transactionCache, SQL for task and task history queries, and any compatible DB for the journal/offset collections). Transport support is also configurable since HTM uses connectors, but for now it provides Http and Kafka transport.