Business rule applications based on COBOL for z/OS platforms

You develop business rule applications based on COBOL data and can deploy them to zRule Execution Server for z/OS®, Rule Execution Server on WebSphere® Application Server for z/OS, or as a COBOL rule sub-program.

Depending on where you choose to deploy and execute your rules, you develop the business rule application differently, for more information see Developing business rule applications for z/OS. The rule authoring and management experience can remain the same for business users and you can set up the business rule application to be compatible with all of the deployment options.

The following diagram illustrates the different tools with which you develop a business rule application based on COBOL, and how you deploy this business rule application to zRule Execution Server for z/OS.

Developing rule applications based on COBOL data

You use Decision Server for z/OS and plan to deploy your rules to zRule Execution Server for z/OS.

  1. In Rule Designer, you generate a XOM from a COBOL copybook (see Tutorial: Creating a copybook-based ruleset for zRule Execution Server for z/OS and COBOL considerations for rule application development). This COBOL XOM provides the necessary Java structures to execute the rules in a COBOL application. Before you generate a COBOL XOM, you must be aware of how COBOL copybook structures map to Java structures, and of any restrictions that might apply (see Handling data type differences between Java and COBOL).

  2. You then map BOM methods to COBOL XOM elements by using the BOM-to-XOM mapping feature in the BOM Editor.

  3. You deploy the COBOL XOM and the RuleApp, which are then available to your calling application through zRule Execution Server for z/OS .

You use Decision Server for z/OS and plan to deploy your rules to Rule Execution Server on WebSphere Application Server for z/OS.

  1. The process for developing the rule application depends on which kind of client executes the rule application.

    To execute a ruleset on WebSphere Application Server for z/OS, you can choose to use either a Java/SOA client or native COBOL invocation:

    • Java: HTTP requests coming into the application server, EJB container requests, and SOAP requests.
    • Native COBOL: COBOL applications can execute the rules in the same way they do for zRule Execution Server for z/OS. You develop a COBOL XOM, which provides the necessary Java structures to execute the rules in a COBOL application. A runtime configuration parameter redirects the call through WebSphere Optimized Local Adapters (WOLA). No additional Java code needs to be written to execute the business rules.

You plan to deploy your business rule application as a COBOL rule subprogram.

  1. In Rule Designer, you generate a XOM from a COBOL copybook (see Tutorial: Generating COBOL code from a copybook-based rule project and COBOL considerations for rule application development). The COBOL XOM provides the necessary Java structures to execute the rules in a COBOL application. Before you generate a COBOL XOM, you must be aware of how COBOL copybook structures map to Java structures, and of any restrictions that might apply (see Handling data type differences between Java and COBOL).

  2. You then map business methods to COBOL copybook elements by using the BOM-to-COBOL mapping feature in the BOM Editor. You must also map business methods to XOM elements by using the BOM-to-XOM mapping feature. By defining both BOM-to-COBOL and BOM-to-XOM mappings, you can then share your business rule application between Java and COBOL environments (see Tutorial: Sharing a BOM between Java and COBOL applications).

  3. You and business analysts can write business rules by using the Business Action Language (BAL), with some limitations (see BAL keywords and features).

  4. You then generate a COBOL rule sub-program containing the ruleset and BOM to COBOL mapping, and then include the COBOL sub-program into a main COBOL program (see Configuring a COBOL rule subprogram into a COBOL application).

The following table describes the key differences between rule applications running on zRule Execution Server for z/OS, Rule Execution Server, and on a native COBOL platform.

Feature zRule Execution Server for z/OS Rule Execution Server on WebSphere Application Server for z/OS COBOL rule subprogram
Direct integration with COBOL applications Yes Yes

(using WOLA)

Yes
Support of all rule authoring constructs Yes Yes No
Supports the classic rule engine Yes Yes Yes
Supports the decision engine for zRule Execution Server for z/OS Yes No No
Hot deployments for new ruleset versions Yes Yes No
Integration with Decision Center business tooling Yes Yes Yes
Support for testing and simulation Yes Yes No
Sharing of rules with distributed environments Yes Yes No
Integration into the same COBOL environments as the calling COBOL application No No Yes
Local execution on CICS® TS Version 4 and later Yes Yes Yes
High Availability and transaction support through WebSphere Application Server for z/OS No Yes No