Organizing rules into classes
For more efficient management of your applications, organize rules into classes. A class describes a collection of rules or other objects, such as properties, activities, and HTML forms, that are available to other, child classes, or to instances of the class. Pega Platform organizes classes into a hierarchy, in which the system searches from the current class upwards when looking for a rule to apply.
- Work class
- The Work class contains the rules that define the processing of cases, such as processes, data elements, and user interfaces.
- Integration class
- The Integration class contains the rules that define interactions between the application and other systems, such as an external database.
- Data class
- The Data class contains the rules that define the data objects that your application uses, such as customer information.
Because you can reuse rules between classes, you save time and reduce your development costs.
Some classes do not have rule forms. An example is the System-User-Dashboard class. If you open an instance of such class, you can only view the XML of this class instance.
- Understanding class layers
To improve the reuse of rules in your application, understand how Pega Platform organizes classes into class layers. Because classes define the applicability, or scope, of a rule instance, knowledge of the different layers of classes and the way that they inherit from each other is important as you develop applications.
- Understanding class hierarchy and inheritance
To save development time when creating an application, reuse rules by organizing them into classes, and then creating dependencies between the classes. When you create a class hierarchy you define which classes contain other classes, and as a result, you define how classes reuse or inherit rules.
- Understanding external classes
For improved application development, understand how your application uses classes that correspond to tables in an external relational database, rather than to a table or view in the PegaRULES database. By reusing external classes, you can include resources from outside the Pega Platform database in your application.
- Creating classes
For improved development and maintenance of your application, organize the rules and other objects in your application into classes. By creating classes, you define collections of objects that are available to other classes or to instances of the class. You can reuse classes, and as a result reduce both development time and costs.
- General tab on the Class form
Use the General tab to define the class inheritance and database access.
- Locking tab on the Class form
Information on this tab is used only for concrete classes that do not belong to a class group.
- Advanced tab on the Class form
The Advanced tab is only meaningful for concrete classes derived from the Rule-, Data-, or Work- class. Use the fields on this tab to control advanced settings such as class deprecation and ruleset restrictions.
- External Mapping tab on the Class form
The External Mapping tab is used primarily for external classes. External classes are created by the Connecotr and Metadata wizard or the Database Class Mappings gadget and are linked by a Database Table data instance to a table in a database other than the PegaRULES database.
- Finding the class of a rule
You can view XML data to find the class of a rule. By understanding which class defines a rule, you can more efficiently use tools such as the Application Explorer and Report Editor.
- About the Rename a Class wizard
Use the Rename a Class wizard to rename a class and all of its pattern inheritance dependent classes. In addition you can choose to rename associated objects such as work- instances, properties, activities, and flows.
- About the Delete a Class wizard
You can use the Delete a Class wizard to remove a class, all of its pattern- inheritance dependent classes and associated objects such as properties, activities, instances (including work items, attachments and assignments).
Previous topic Production rulesets Next topic Understanding class layers