Situation Detection using CICS Events with ODM Decision Server Insights
This blog post will discuss how you can use CICS and IBM Operational Decision Manager (ODM) Decision Server Insights together to derive additional business value and insight. Future postings will take you through a worked example, showing how to emit CICS events for consumption by ODM Decision Server Insights, and how to set up rules in the Insights tooling to process the events.
CICS Events and Operational Decision Management Solutions
CICS Transaction Server for z/OS (CICS TS) provides support for event processing that allows you to capture events from CICS applications and systems, and emit them to a range of event consumers. These events can provide insight into business processing, help with compliance to governance requirements, populate business dashboards, or send notifications about the state of the system. CICS can capture events non-invasively, by deploying definitional artifacts, requiring no changes to applications.
When event support was first introduced in CICS Transaction Server V4.1, it included out-of-the-box integration with the âWebSphere Business Eventsâ event engine which became incorporated into IBM Operational Decision Manager (ODM), and it still does. In a nod to that previous incarnation, the CICS event format that you specify when events are to be consumed by ODM Events is the WBE format. Enhancements to CICS event support in subsequent releases have increased the types of events that can be captured, and made it easier to specify how they will be consumed. Introduction of EP Adapter Sets in CICS TS V5.1, for example, made it possible to emit the same event to multiple destinations, in multiple event formats.
Operational Decision Management has also evolved over that time, and in keeping with the increased importance of analytics, it now has a modern Decision Server Insights component which provides a scalable transactional event processing system with rule-based temporal reasoning and analytics capabilities. Decision Server Insights is available as part of ODM Advanced, and with ODM Advanced V8.8, is also available for the first time on z/OS.
It is still possible to integrate CICS events with the original ODM Events capability, using the CICS WBE event format emitted over HTTP or IBM MQ, but consuming CICS events with Decision Server Insights (see Figure 1) opens up additional new possibilities.
CICS and ODM Decision Server Insights Scenarios
There are a number of interesting scenarios that become possible when using CICS events together with Decision Server Insights.
For example, it can be difficult for banks and other financial institutions to spot the signs that a customer is thinking of moving to another provider until it is too late to take action. Using CICS events, captured from customersâ banking transactions, and delivered to ODM Decision Server Insights, it would be possible to get insight into a customer who is moving money out of their various accounts, cancelling direct debits, and so on. Analytics driven by ODM Insights could determine the likelihood that these actions represent an intention to move.
Insurance business can be lost when customers initiate a quote but give up before taking out the insurance, or request several different quotes with slightly changed details as they try to find the sweet spot for them. Insurance opportunities could be detected using a combination of CICS events (emitted when the quote processing drives back-end CICS transactions) and ODM Insights, where Insights can detect the missing event (taking out insurance) or the occurrence of several quotes from the same customer in a short space of time. Insights could also drive analytics to determine what incentive might cause the customer to accept the quote.
Consider a situation where, today, an organization uses overnight batch processing to populate a table which shows which customers would be eligible for a loan. The table is used during the day to decide whether or not to grant requests for loans. However, this makes it possible for a customer to take out several loans during the day, even if one of these would have made them ineligible for any more, or a customer who becomes eligible during the day might miss out on a loan and take their business elsewhere. It is also necessary to maintain a table for all possible customers who might request loans. CICS events, captured from customersâ transactions, could be processed by ODM Decision Server Insights to allow a customerâs eligibility score to be determined at the time when they request a loan. This more timely view of a customer also opens up other opportunities to, for example, send offers to their mobile device.
This last scenario provides a very good example of a case where it could be advantageous to have the Insights Server running on z/OS, and hence co-located with CICS.
In addition to the obvious benefit of co-location on z/OS, with reduced latency and simplified management, there are other ways in which running Decision Server Insights on z/OS can provide benefits with CICS. Insights could feed information back into CICS that an application could act upon; for example, applying discounts to product orders that are processed by CICS, based on how well or poorly they are currently selling. Insights could even derive information using events from CICS that would indicate some business rules should be updated. These could be rules in ODM Decision Server Rules that are being used by applications in CICS.
Catalog Shopper Loyalty Scenario
As an example of how scenarios involving CICS events and ODM Decision Server Insights can be achieved, this scenario is based on the catalog manager example application that is supplied with CICS, and a âCatalog Orderâ event that could be emitted whenever a user places an order from the catalog. Here we explain the scenario, and subsequent posts will describe in more detail the steps to integrate the events from CICS with ODM Decision Server Insights.
The CICS catalog manager application represents an office supplies catalog. In this scenario, a user of the catalog who orders a quantity of at least three items within a given time period, whether in a single order or as a series of orders of the same or different office products, is to be offered a discount voucher. This scenario could obviously be scaled up to require a larger number of items to trigger the discount, and would probably extend over more realistic time scales than we will show for the purposes of our simple example.
CICS can be configured to send an event whenever an office product is ordered from the catalog, including information about the user placing the order, the product ordered, and the quantity of the item that the user requires. A Decision Server Insights Solution can then be configured to use these âCatalog Orderâ events to keep track of the numbers of items ordered by each user, and issue events to notify the user that they are eligible for a discount if they have exceeded the threshold number of items within the required time period (and have not recently been sent a voucher).
Each user who orders from the catalog can be represented by a business entity within Decision Server Insights, and each time a new occurrence of the âCatalog Orderâ event is received, the business entity for that user can be updated. An aggregation of that user’s orders can then be used to evaluate the number of catalog items that the user has ordered, and can be checked to decide whether to offer them a discount.
Figure 2 shows an Action Rule defined in the Insight Designer tooling that identifies this pattern.
This scenario could be further extended and refined, by using Decision Server Insights to drive analytics that could determine which products are most popular, or are most frequently purchased by the same user, or to decide which particular items to offer discounts on. Additional enhancements could include feeding back information from Insights Server to the catalog application running in CICS, which could be extended to apply the discounts at the time that qualifying items are purchased.
More about CICS Event Processing Support
CICS event processing support allows existing business logic to be instrumented to emit events without change to the application code, and also supports system events that can be emitted to report changes in state of certain resources, or when a taskâs resource consumption exceeds a defined policy threshold.
CICS Event Processing support is a core component of the CICS runtime, and will detect occurrences of those events which are currently enabled, and capture the events without the need to make application code changes â enabling rapid, easy deployment of event-based solutions. Tooling is used to define events and their data, to specify to the CICS runtime how to detect when the events occur, to indicate how they are to be formatted and routed, and to deploy the events to CICS. This tooling, known as the Event Binding Editor, is Eclipse-based and included as part of the CICS Explorer and in Rational Developer for z Systems (RDz).
For more details about CICS event processing support, see the Redbook on Event Processing with CICS and the topic on âGetting started with eventsâ in the CICS Transaction Server for z/OS V5.3 Knowledge Center.
More about ODM Decision Server Insights
Operational Decision Manager enables your business to respond to real-time data with intelligent, automated decisions, and the Decision Server Insights component of ODM Advanced identifies risk and opportunity on a continuous basis, and can help applications to decide and act at the precise moment your business needs it.
Decision Server Insights provides the tools to build scalable solutions that listen for and respond to the events that affect your business. You can use this insight into your business activities to make informed decisions and initiate the correct action. Decision Server Insights solutions are created and edited inside Insight Designer, which is an Eclipse-based development environment. Insight Designer allows you to model entities and events, and to develop agents and rules that will process the events and provide insightful decisions.
For more information about Decision Server Insights, see the section on âGetting started with IBM Decision Server Insightsâ in the Operational Decision Manager V8.8 Knowledge Center, and the area on âODM Advanced â Decision Server Insightsâ at the IBM Operational Decision Manager Developer Center: odm/DEV
So, What Next?
Do you want to use ODM Decision Server Insights to consume events arising from your business processing in CICS, to provide you with greater insight and better, more timely, decisions? Take a look at the next blog post in this series: Emitting CICS Events for ODM Decision Server Insights, or if you are interested to know more, please get in contact.