Decision management integrated in IBM CICS Transaction Server
This chapter introduces the concept of decision management. It also describes how
IBM Operational Decision Manager for z/OS is a candidate for approval for running within
IBM CICS Transaction Server for z/OS Value Unit Edition to provide decision management for CICS TS COBOL and PL/I applications.
The following topics are covered in this chapter:
8.1 Introduction to decision management
Making decisions has always been at the center of business. For instance, banks must decide who they will lend money to, insurance companies must decide who they will insure, retailers must decide when promotions will occur and who will be eligible for them. Every business must make decisions to be successful and today’s businesses must make a startling number of decisions every day.
A customer’s demand for a flawless, seamless, instant experience means businesses are making more decisions, they have less time to make them, and they need to get those decisions right the first time. This requires decisions that are consistent with business policy and can be made at machine speed, without manual processes and human involvement.
8.1.1 Common business decisions that require managing
There are, generally speaking, three types of decisions found in most businesses:
Decisions that help increase revenue:
 – This type includes decisions that are used by marketing and sales to make targeted offers, based on customer profiles, demographics, and analytical models.
 – For example: Is a customer eligible for a certain promotion or a cross-sell or up-sell opportunity? Should a store discount the price of a product at the end of the day?
Decisions about consistency and compliance with regulations:
 – This type of decision can be found in all industries, such as financial, insurance, and government sectors.
 – For example: Are there prohibitions against a customer buying a certain quantity of a product? Is a customer eligible to make a certain purchase, based on where she is located?
Decisions that reduce and mitigate risk:
 – This type of decision includes decisions that protect the company and the customers.
 – For example: Does the customer who just filled out a loan application online meet the criteria to be approved?
Businesses must make one or all of these types of decisions many times a day and ensure that they are made correctly and consistently, according to their business policies.
8.1.2 Where most decisions are made today
The traditional approach to decision making requires a business analyst to understand the business policies and create a requirements document that defines the decisions to be made. Then, one or more software developers take the requirements and code or embed the decisions in the various application programs that support the business. The development is then followed by a lengthy testing process before the new decisions become live in production.
Unfortunately, the decisions are now hidden in the code of one or more programs, and over time as additional changes are added to the business policy, the code becomes more complex, making it difficult to change, hard to visualize and nearly impossible to manage. The decisions may change frequently or rarely and changing a program to change the decision, testing it, and getting it into production is not fast enough in today’s business environment.
This scenario can be avoided by implementing a decision management solution that takes the decisions out of code and places them in a central repository. This makes the decisions more flexible, visible, auditable and manageable. This is illustrated in Figure 8-1:
Figure 8-1 The decision logic is moved out of code and into Decision Manager
Not all decisions are equal, and some are more applicable for decision management than others. The following decisions are most appropriate for decision management:
Decisions that must be changed frequently to support the business
Decision management avoids costly application code changes.
Decisions that are duplicated in multiple applications running on multiple platforms
Decision management implements the decision once and stores it centrally to be called from multiple applications.
Decisions that must be visible for business purposes
Decision management allows decisions to be shared easily with lines of business or regulatory auditors.
The next section introduces IBM Operational Decision Manager for z/OS and explains how it can be used to implement decision management on IBM z/OS systems in CICS TS.
8.2 IBM Operational Decision Manager for z/OS
Operational Decision Manager for z/OS provides a smarter way of dealing with business decisions. It helps organizations gain more control over the business decisions that take place in their enterprise applications. Businesses that use Operational Decision Manager for z/OS will simplify their ability to change decisions in enterprise applications. This enables them to cut costs and cycle times, improve their agility and time to market, and enhance their documentation of business decisions, as well as the governance of those decisions.
Operational Decision Manager for z/OS delivers these advantages to enterprise users because it enables separation of the decision logic from business applications and processes.
8.2.1 Operational Decision Manager components
Operational Decision Manager for z/OS includes four main components that work together to provide a full decision management experience:
Rule Designer is used as the starting point to create the model on which the business decisions are written. Rule Designer is an Eclipse-based development toolkit for business decisions. It is installed on a Microsoft Windows or Linux workstation.
Decision Center is used as a team repository to govern the business decisions and to write them through a web interface. Decision Center runs on WebSphere Application Server on z/OS, Linux for System z, or a distributed environment.
Decision Server is where business decisions are made. API calls are issued from COBOL and PL/I programs to the Decision Server. The Decision Server has multiple deployment options, depending on the environment the application that it is running in. These environments are described in 8.2.4, “Execute decisions by using the Decision Server” on page 80.
Rule Execution Server console is a web-based graphical interface to monitor Decision Servers and to manage the deployed artifacts, such as RuleApps, rule set archives, and required libraries. It runs in either a stand-alone address space or within WebSphere Application Server for z/OS.
Figure 8-2 shows the interaction between these components. Rule Designer can create and synchronize rule projects with the Decision Center. Then, business users can use the Decision Center to modify, test, and simulate business decisions. The decisions are then published to the Decision Server by using either the Rule Designer or Decision Center.
Figure 8-2 Operational Decision Manager components working together
Rule Designer must run on a Windows or Linux workstation, but Decision Center can run on multiple operating systems. This allows flexible deployment patterns, as shown in Figure 8-3.
Figure 8-3 Decision Center and Decision Server can run on various operating systems
 
Note: A recommended approach when using Operational Decision Manager for z/OS is to run Decision Center on a distributed or Linux on System z platform and deploy remotely to Decision Server running on z/OS.
In the next section, the key concepts of the Rule Designer, Decision Center and Decision Server are explained in more detail.
8.2.2 Create decisions using the Rule Designer
Rule Designer enables the creation of a rule project that contains the Execution Object Model (XOM) and the Business Object Model (BOM). It allows a COBOL copybook or PL/I include file to be used as the starting point for these models as shown in Figure 8-4 on page 78. These models are required to allow the authoring of business decisions based on the business data that is currently being used in the COBOL or PL/I applications.
The Rule Designer can also be used to take an existing rule project based on a Java XOM and enable it for COBOL or PL/I execution. This is achieved by generating the COBOL copybook or PL/I include file necessary for the program to execute the existing rule sets.
 
Note: Existing rule projects that use a XOM generated from an XSD cannot be enabled for COBOL or PL/I execution.
Figure 8-4 Cobol copybook or PL/I include files are used to create the business and execution models
After the rule project, XOM and BOM are created, the Rule Designer can be used to start authoring the initial decisions. The decisions can be expressed using the Business Action Language (BAL) as shown in Figure 8-5.
Figure 8-5 A business decision expressed in Business Action Language
The BAL provides a simple if-then syntax that is used with a vocabulary to write business decisions. The BAL defines the syntax and provides constructs for expressing conditions and actions, and the vocabulary defines the terms that are used in the business decisions.
Decisions can also be entered using decision tables that provide a graphical way to author decisions, as illustrated in Figure 8-6.
Figure 8-6 Decision tables are a graphical way to author decisions
Rule Designer checks for overlaps and gaps in decision table conditions as values are entered in the cells and indicates problems using visual cues. As shown in Figure 8-6, when there is a problem, the column header displays a warning symbol and the affected cells are highlighted.
After the BOM, XOM and business decisions have been created, the rule project can be synchronized with Decision Center for further decision writing, testing, and simulation.
8.2.3 Centrally manage decisions by using the Decision Center
Decision Center is the central hub that coordinates the decision lifecycle across the business and IT parts of the organization. It provides the ability to write decisions, publish reports on existing decisions, validate decisions by using testing and simulation, and deploy decisions to the Decision Server.
Decision Center provides web-based graphical interfaces that allow business users to achieve these tasks with limited dependence on the IT department. The two graphical environments provided are:
Business console The preferred environment for business users to take advantage of social interaction features and change management.
Enterprise console The standard environment for administrators, where deployments can be performed and administrative features such as project security and permission management are available.
After decisions have been edited, tested, and simulated in Decision Center and are ready for execution, they must be deployed to a Decision Server.
8.2.4 Execute decisions by using the Decision Server
Operational Decision Manager for z/OS provides several execution environments in which the Decision Server can run. They are listed here and illustrated in Figure 8-7.
zRule Execution Server allows COBOL and PL/I applications to execute decisions in a stand-alone server address space or embedded within the client application’s address space.
zRule Execution Server within the CICS TS JVM server allows CICS TS COBOL and PL/I applications to execute decisions in the same CICS TS region or in a remote rule-owning region (ROR).
Rule Execution Server on WebSphere Application Server for z/OS allows COBOL and PL/I applications to execute decisions via the WebSphere Optimized Local Adapter (Local Adapter) interface.
These execution options are illustrated in Figure 8-7.
Figure 8-7 Decision Server on z/OS execution environment option
 
Note: WebSphere Application Server for z/OS is provided with Operational Decision Manager for z/OS as a limited license product for Decision Center and Decision Server.
The benefits of each execution environment are described more thoroughly in the IBM Redbooks publication titled Flexible Decision Automation for Your zEnterprise with Business Rules and Events, SG24-8014:
The execution environment that can be considered as a qualifying workload for execution within IBM CICS Transaction Server for z/OS Value Unit Edition is the zRule Execution Server running within the CICS TS JVM server.
The next section describes how existing COBOL and PL/I programs running in a CICS TS application-owning region (AOR) can execute decisions in a rule-owning region (ROR) running within the JVM server of a IBM CICS Transaction Server for z/OS Value Unit Edition.
8.3 CICS TS rule-owning region architecture
A CICS TS rule-owning region is responsible for hosting Operational Decision Manager for z/OS within its JVM server. It is then possible for other CICS TS regions running on separate LPARs to execute decisions within the ROR. This architecture is illustrated in Figure 8-8.
Figure 8-8 CICS TS AORs executing decisions remotely on a zNALC LPAR
 
Note: The ability to configure a rule-owning region is available in Operational Decision Manager for z/OS version 8.5.1 onwards.
CICS TS AORs can communicate with the ROR using a distributed program link (DPL) or by using IBM CICSPlex® System Manager workload management (WLM). The use of DPL or WLM allows the decision request to be routed dynamically to the ROR. This provides a highly available and work load managed solution when two or more RORs are used.
Then next section details how this architecture also provides a cost-effective way for the COBOL and PL/I applications running in the AORs to execute business decisions using Operational Decision Manager for z/OS running in the ROR.
8.3.1 Cost effectiveness
The cost of Operational Decision Manager for z/OS is based on the size of the LPARs that it is deployed to, regardless of whether Decision Server is running in a zRule Execution Server, WebSphere Application Server for z/OS, or CICS Transaction Server for z/OS. The pricing of Operational Decision Manager for z/OS is not affected by the CICS TS pricing models (VUE or MLC). The products are sold and priced independently.
However, IBM CICS Transaction Server for z/OS Value Unit Edition (VUE) offers a unique way to contain the cost of Operational Decision Manager for z/OS for CICS TS applications that are running in the AORs in two ways:
The CICS TS rule-owning region allows isolation of the costs of Operational Decision Manager in a single LPAR.
There is no cost for the Operational Decision Manager for z/OS client libraries running on the AOR. The client libraries provide the API required to execute rules on the ROR.
Multiple AORs can route decision requests to Operational Decision Manager for z/OS running in the ROR
zNALC LPARs are separate from z/OS LPARs and are often smaller. Therefore, the cost of Operational Decision Manager for z/OS is reduced.
Operational Decision Manager for z/OS also requires an IBM DB2 database to store the runtime artifacts and to support runtime warehousing features. Another benefit of running Operational Decision Manager for z/OS within a zNALC LPAR is that DB2 for z/OS Value Unit Edition can be used to provide this persistence layer, which further reduces the cost of implementing decision management on z/OS.
8.4 Decision management summary
Making business decisions quickly and correctly is vital for a successful business. This chapter has shown that taking business logic out of application code and storing it centrally in a decision management solution increases the agility, visibility, and maintainability of the business logic.
The recommended method for implementing decision management on z/OS is to use IBM Operational Decision Manager for z/OS, which can support both COBOL and PL/I applications running in batch mode, CICS or IMS. Operational Decision Manager for z/OS can also be deployed to multiple execution environments so that it can be as close to the applications as possible.
Furthermore, Operational Decision Manager for z/OS is Java-based and can run in the CICS TS JVM server. Movement of existing business logic from COBOl or PL/I code to Operational Decision Manager for z/OS is also considered a net new workload. Therefore, it is a strong candidate for approval for use within IBM CICS Transaction Server for z/OS Value Unit Edition. This provides a cost-effective way to enable decision management for existing CICS COBOL and PL/I applications. Also, using rule-owning region architecture allows multiple application-owning regions to execute decision requests without the cost of running the Decision Server locally on each AOR.
In the next chapter, a real-world loan application scenario is introduced. The business rules are extracted from the existing COBOL program, coded in rule sets using Rule Designer, and then deployed to Operational Decision Manager for z/OS, running within IBM CICS Transaction Server for z/OS Value Unit Edition. Then, the API calls are made from the COBOL program to execute the business logic in the Decision Server.
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.15.218.64