Introduction
A huge part of implementing any process orientated platform, is designing the conditional logic which gets applied at programatic junctions.
This is responsible for directing and controlling the flow of logic in an application, reacting dynamically to user or API interactions.
The most effective way to implement such requirements is to employ a "Rules Engine" that can apply that conditionality in a standard, reusable way.
Business Rules as they apply to an evolving regulatory landscape, introduce a lot of diversity. In short, rules will change frequently and rapidly.
Our goal was to make our implementation flexible and customizable, allowing the end-user to set rules without the need for any code modification
or deployments, whilst we also wanted to ensure the performance met the SLA commitments we adhere to for clients.
The rules engine in our SaaS application is designed to meet numerous functional use cases across the platform, from controlling the visibility of data fields within our UI to triggering conditional steps in our workflow engine. This means it is used frequently and cross cuts a lot of other functionality. In designing it, we knew It needed to work well.