Designing projects for rule authoring

To develop a business rule application for z/OS®, you design business rules independently from the application logic. You develop a rule project from which you extract a ruleset, and then you create a contract between the application and the ruleset.

You can use the z/OS platform to implement rule-based decisions in z/OS applications (COBOL or PL/I applications). Rule Designer and Decision Center can be used to author and govern your rules. Rule Designer is installed on a workstation and Decision Center can be installed on a distributed operating system or on WebSphere® Application Server for z/OS. Rule Execution Server is used for the execution of the rules and the integration of Java™ with a z/OS language (COBOL or PL/I).

This split platform configuration enables you to use Operational Decision Manager to define a business object model from z/OS data definitions, run and test rules on z/OS language data, and call the rule engine from existing CICS®, IMS, and batch applications. If you want to eliminate duplication of application functionality on z/OS and distributed platforms, you can consolidate applications and identify what rules they can share between the two platforms.

The inclusion of COBOL management and PL/I management in Rule Designer enables you to author rules and develop object models that can be shared with z/OS language applications and Java applications. Developers import a XOM from a COBOL copybook or PL/I include file, and create a Java XOM to provide the mapping between Java and a z/OS language. Mapping information is stored as BOM properties. This mapping information is created by using COBOL XOM management and PL/I XOM management functions.

You do not have to re-engineer or rewrite an entire z/OS application to start managing the business rules for your z/OS applications. You can base the scope of your rules on the following goals:
  • Create a set of rules for a specific region, territory, or type of customer.

  • Set up a process or subprocess within a z/OS application.

  • Replace rules that might be hardcoded in your z/OS application.

To write and review your rules, you create a rule project and set up a rule authoring environment in Rule Designer. The following table outlines the main tasks that you perform to design your rule authoring environment, author and manage your rules, and prepare them for execution on z/OS.

Note the differences for certain tasks, depending on whether you intend to execute your rules in a Java EE environment or on zRule Execution Server for z/OS.

Tip: Some of the following links point to distributed platform topics.
Task Description References
Generate an execution object model (XOM) for the rule project You generate a XOM from a z/OS data model. The XOM provides the necessary Java structures to execute the rules in a z/OS application.

Before you generate a XOM, you must be aware of how copybook or include file structures map to Java structures, and of any restrictions that might apply.

For information about generating a COBOL XOM, see Designing a BOM for a COBOL model.

For information about generating a PL/I XOM, see Designing a BOM for a PL/I model

Generate a business object model (BOM) from the XOM A BOM contains the classes and methods that rule artifacts act on. It consists of classes that are grouped into packages, and each class has a set of attributes and methods. Every BOM element has a corresponding XOM element. For information about enabling the BOM for COBOL, see Converting a BOM to enable the BOM for COBOL.
Choose a rule engine On z/OS, you can choose from two rule engines to execute your ruleset:
  • The classic rule engine is the default engine on both distributed and z/OS platforms.
  • The decision engine is an implementation of the engine that loads and executes rules faster.
For more information about the decision engine, see Executing using the decision engine.

For information about optimizing the performance of the decision engine, see Optimizing the decision engine.

Configure the BOM to set up a vocabulary and maximize the efficiency of rule authoring activities You can configure the BOM to maximize the efficiency of rule authoring activities. For example:
  • To make the BOM understandable to business users, you verbalize it by attaching natural-language terms and phrases to the classes and methods in the BOM. The complete set of terms and phrases available to write rules is called the vocabulary.

  • You can define categories, to filter which business rules can use which business elements.

  • You can define domains to place a restriction on type elements in the BOM. You use domains when you work with business rules, for example, code completion in the Intellirule editor uses enumerated domains to propose valid settings.

  • You can also define your own rule variables, ruleset variables, and ruleset parameters.

For more information about domains and z/OS data models, see Working with domains and z/OS data models

For more information about COBOL, see COBOL considerations for rule application development, Variable mapping for COBOL, and Mapping Java data types to COBOL data structures

For more information about PL/I, see PL/I considerations for rule application development

Orchestrate® your rules for execution You organize your rules for execution by using ruleflows. Orchestrating ruleset execution
Author rules You can write rules by using the business action language (BAL) and the rule editors. You can also use decision tables and decision trees.

You can write rules by using Rule Designer or Decision Center.

Rule Designer: Authoring business rules

Decision Center Business console: Working with rules

Decision Center Enterprise console: Compose: Create project elements