Rule reuse and rule specialization
This presentation is part of the Reusability and Specialization e-Learning Course.
While related, reusability and specialization are separate and important characteristics of a good PRPC application. Reusability is the ability for PRPC to share the same instance of a rule, RuleSet, and/or service so that it can be reused by other portions of the same application and/or other applications.
Some examples of reuse that we see in PRPC are:
- The Add activity defined at Work- that can be can be reused by many applications as-is without customization
- Utility functions that are defined in a shared RuleSet so that they can be reused by multiple applications
- Activities and flows that are defined at a generic application layer of a class hierarchy so that they can be used without customization by implementation of that application
Specialization, on the other hand, is the ability for PRPC to differentiate a component and/or some portion of that component based on some characteristic for use within or across applications. These components could be a single rule or many different rules based on specific criteria.
Some common specialization characteristics are:
- Locale – Rules that will differ by state and/or country
- Business line – Rules that differ by business line, such as personal and commercial lines
- Product lines – Rules that differ by product, such as mortgage products that offer fixed versus adjustable-rate mortgages
- Client – Rules that differ by client, such as MyCo and YourCo. This is common in ASP models where different clients will have different rules
- Date – Rules that differ depending on the current date or the submission date of a loan or policy