Managing the Building Blocks of a PRPC Application Flashcards
But how do we organize those classes and deploy them to a server?
A RuleSet is a deployment unit for a “set” or group of rules. We create a RuleSet to identify, store,
and manage a set of rules that define an application or a major portion of an application. Applications
are really just stacks of rules applied in a specific order.
What does every ruleSet have?
A name and a version. It is a best practice to give our RuleSet a name that helps us manage and identify its contents. The name must start with a letter and contain only letters, digits, and dashes. Typically, a RuleSet name represents the application content or purpose, and correlates
to the classes to which the rules will apply.
What is the version format for a RuleSet
01-02-03…The first two digits represent the Major Version; the initial or subsequent substantial release of an application. A major version change encompasses extensive changes to functionality. The second two digits represent the Minor Version. We increment these digits to represent an interim
release or enhancements to our major release. The third two digits represent a Patch Version which is also an interim release typically used for bug
fixes.
Can you reuse ruleSets in other applications?
Yes
What is Re-use and Inheritance
It is the process of using a feature that has already been developed elsewhere.
Does PRPC come with a set of rules when installed
Yes, they are the most general, reusable, rules
Does an industry framework contain all of its own rules?
No, it contains industry specific rules and then inherits the more generic rules from PRPC.
Where are the most specialized non reusable rules located?
At the application level.
What facotrs does Rule Resolution look at to select the appropriate rule?
Purpose, Availability, Applicability, Permission
Rule resolution considers all of these factors, and then automatically and transparently selects the
right rules to use as we run our process.
What do we mean by purpose?
What are we trying to do? If we need the Approve UI, we don’t want PRPC to return a decision or expression named Approve. PRPC checks that the name and type of the rule matches what we’re looking for. This factor is where class inheritance comes into play as it helps determine the applicability of a rule.
What do we mean by availability?
Can we use the rule? Perhaps the rule is under development, and we don’t want PRPC to use it to process work just yet.
What do we mean by Applicability?
Is the rule in scope – or intended – for our application, or another application? If we’re processing loan applications, we wouldn’t want an approval UI for a time-off request or a purchase order.
What do we mean by Permission?
Do we have the appropriate security permissions to use the rule?
What kind of inheritance model does PRPC use?
PRPC uses a dual-inheritance model. Dual inheritance is conceptually similar to single
inheritance – which is common to many programming languages – except that it involves two pathways to inherit rules. PRPC uses Pattern Inheritance and Directed Inheritance.
What is Pattern inheritance?
Pattern inheritance is optional, and involves parsing class names. In PRPC, the hyphen character delimits class names; to determine the parent of a particular class using pattern inheritance, just look at the characters to the left of the right-most hyphen. Pattern inheritance is for sharing the objects in your application hierarchy
What is direct inheritance?
Directed inheritance allows us to access rules in standard PRPC classes, such as Work-, Work- Cover-, and @baseclass. The directed-inheritance parent class must be specified on the rule form for a class instance. Directed inheritance is for utilizing the objects provided by standard packaged classes.
Does PCPC Determine inheritance for all classes in an application at one time?
No, PRPC determines the inheritance independently for each class. As a result, the inheritance pathway may differ significantly for two classes in the same application.
Which is run first, Pattern or Direct inheritance?
Pattern.
How do you view the Inheritance path for a given class in PRPC?
The Application explorer. The Application Explorer is used to navigate the class structure and is organized by class, category and rule type. The Application Explorer can also drill down into the other classes in the class hierarchy.