We were tasked with the rewrite of a system responsible for executing and monitoring trade processing flows within the fund and between the fund and its counterparties. Typical examples were automatic data sanitisation and conversion, order book compliance and aggregated trade processing, such as NAV calculation.
The new system was a bespoke workflow engine, where each individual workflow was a well-defined sequence of messages exchanged across disparate, independent processing components, dubbed actors. Communications between actors leveraged state-of-the-art messaging middleware. Changes in workflow states and the complete message/event flow were persisted into an industry-standard document database. The latter function enabled:
- asynchronous and disconnected workflows (e.g. those requiring user interaction);
- workflow recovery (via message replay) from a secondary or exception flow;
- real-time and historical analytics and reporting, via actors exposing dedicated service interfaces;
- sophisticated troubleshooting and auditing, compliant with fund management requirements.