In the Senior System Architect course, under the topic for Ruleset Validation. It is mentioned that the rules in the ruleset can reference all the rules defined in the same application if the ruleset validation is selected as "Application Validation".
I also do not understand why this would be needed, if a referencing ruleset is below a referred ruleset in the application stack even though they belong to the same application. Can someone please assist me, how such a feature will work in run time (as far as I know this should not work) or let me know if it will have any importance?
Thanks in advance.
***Edited by Moderator: Lochan to update platform capability tags***
Thanks for the quick response. I understand that this has less significance at run time, but my actual question was something else which is little tricky. Let me explain my question with a small example.
Let us say, we have 2 rulesets defined in the same application -- ABC and XYZ. In the application stack, ABC is above XYZ, which means at run time any rule in the ruleset ABC can reference any rule in the ruleset XYZ. As per the self study course which I mentioned in my above post, any rule in XYZ can also reference any rule in ABC (at least at design time), since they both are in the same application and have Application Validation enabled.
Copying the content from the course below,
If the AV mode is used, rules in the ruleset can reference all rules in the rulesets defined in the:
Coming back to my question again - what would be the significance of allowing such rule referencing? (XYZ to refer ABC in my example above)
Application2 (Implementation) is bulit on Application1 (Framework).
Application1 has 2 rulesets->Ruleset1 & Ruleset2 , Application2 has 2 rulesets--> Ruleset3 & Ruleset4
Ruleset3 can reference rules in Ruleset4, Ruleset1 & Ruleset2
Ruleset4 can reference rules in Ruleset3, Ruleset1 & Ruleset2
Ruleset1 can reference rules in Ruleset2 and vice versa. But they can't reference rules in Ruleset3 & Ruleset4.
This is to ensure that all application uses the rules only listed in that particular application's ruleset list.
Real-time scenario: If you are going to build new application Application3 built on the existing framework application Application1, it ensures that there is no problem in using the application. Because it refers the rules only in those particular rulesets (Ruleset1 & Ruleset2 ) listed in the application1.
If Application validation is not in place, you may have referred rules from Framework to Implementation. (i.e.) Ruleset1 refers rules in Ruleset2, Ruleset3 & Ruleset4. Now you want to build new application Application3 built on the existing framework application Application1, you will face lot of issues as your Ruleset1 refers rules in Ruleset3 & Ruleset4. Because Ruleset3 & Ruleset4 are in different application - Application2 which is not used here.
Thanks again for the reply. But there is 1 key point which is missing - the one I expect as per the lesson. You have mentioned - Ruleset3 can reference rules in Ruleset4, Ruleset1 & Ruleset2 and Ruleset4 can reference rules in Ruleset3, Ruleset1 & Ruleset2.
But my question is, why would Ruleset4 refer Ruleset3, when the Ruleset3 is always going to be above Ruleset4 in the application ruleset stack. What would be the significance/use of it? Let us consider only 1 application in this case, which is your Application2.