This figure depicts the typical architecture of smart order router (SOR) platform. It shows the front office system components of client gateways, SOR engines and exchange gateways, trade management and monitoring, and the middle office where functions like trade data capture, risk management, regulatory reporting (e.g. OATS) and settlement are handled. We use the term middle office as this is typically where these time-sensitive functions are handled, while activities like T+1 settlement is performed in more traditional back office applications.
In the front office, you need high rate, low latency delivery of orders and trades between the various front office components. There is typically little fanout since most order/trade events are sent to specific destinations. Many front office systems also emit telemetry information regarding their processing to allow for white box application health status and performance monitoring/logging.
The interface between the front office and middle office has different requirements than the front office. The system must be able to accept extremely high burst rates and persist messages so they aren’t lost even if a destination isn’t able to consume them. At the same time, the system can’t impact the performance of front office trade processing, so a real-time-to-non-real-time “shock absorber” is required. Finally, the system must also support fanout and ensure that messages are delivered in the correct sequence.