Assessors
Assessors provide an abstraction over a rule engine. Their sole purpose is to receive assessment requests, gather required data, run rules on the data, and return a response. Assessors are not responsible for storing or writing data, either locally or remotely.
The Spring Boot Assessor Archetype currently embeds a Drools rule engine and associated rules.
Qualities
- Receives requests for assessments, usually from an Orchestrator
- Queries for data from data Services and Adapters
- Does not store state
- Does not perform writes
Details
Assessors generally have a data model defined within, and depend on clients for one or more data services. To ensure
Assessors do not become overly complex, it is advised to restrict an assessor to a set of related use cases. For instance,
enrollment-related rules and models would go into an enrollment-assessor
.
In turn, the data services used by assessors to read data should also be restricted to related data, allowing for more than one assessor to be able to use the same data. This allows for easy composition of both assessors and data services.
Orchestrators are responsible for abstracting away any complexities around where data is stored within the Risk Domain
and which assessors are called to make the ultimate determination.