Abstract Financial Objects
Caplin's "anti-corruption" layer in Caplin Xaqua.
In order to avoid the problems inherent in the close coupling of a client interface application to the supporting back-end systems, we decided to implement an "anti-corruption layer" which normalises trading, pricing and permissioning across silos and clients. We've done this by developing a series of Abstract Financial Objects that understand how a trade works, how to manage price information and how user permissions and entitlements are managed.
They are "abstract" in that they are generalised models of each of the appropriate domains which can then be adapted and developed by our customer so that they accurately reflect the way that particular firm manages and executes its data and trade flow.
This is particularly important for trades themselves, and the objects we've created to handle that domain are TradePipes.
Abstract Financial Objects deliver several distinct advantages over previous techniques:
- They create an anti-corruption layer which normalises trading, pricing and permissioning across the bank's internal trading systems and across different clients.
- Front-end client implementations are decoupled from the bank's internal providing systems while still mirroring their models and workflows. This means that a change to the providing systems, such as adding an additional instrument or changing the way a trade workflow operates, doesn't break the client interface.
- Workflow and data management are fully automated, and are implemented based on configuration information rather than being hard-coded.
- Data transport is optimised and error conditions are handled automatically rather than the bank's developers having to anticipate, and code for, every possible eventuality
Ultimately this means that a single-dealer platform can be implemented much more quickly and reliably, and that future changes can easily be deployed without risk to the existing system