Discovering Business Logic in z/OS Applications

214 VIEWS

Change is constant, and it is the responsibility of those who manage information to adapt. As the economy grows and changes, and as our society implements new regulations and phases out older regulations, our applications need to change with them. We present two capabilities available from IBM that can enhance your ability to manage changes in your applications.

These two capabilities are IBM Application Discovery and Delivery Intelligence (ADDI), and IBM Operational Decision Manager (ODM).

Before we begin, let’s talk about business logic and some of the challenges organizations face with its implementation in applications. The consistent application of policies within an organization’s applications is a complex problem. Often, policy implementations are done in multiple places within an application, which can complicate maintenance of those policies when we introduce updates. Ideally, we would like our policies to be updated as we make changes, but this is not always possible.

Within an organization, there is also a separation between stakeholders who make decisions about business logic and those who implement and maintain that business logic within the applications. In addition to timely updates, there is also a significant benefit for an organization in improving stakeholders’ ability to view and understand the business logic currently in place in the application.

The goal here is to show you how we can use ADDI and ODM to:

  • Implement policies quickly and consistently across the organization
  • Improve application understanding and transparency
  • Assist business stakeholders in the ownership of their decisions
  • Easily migrate existing systems to achieve these goals

Introduction to ADDI and ODM

ADDI is an analytical platform that allows you to analyze your existing mainframe applications to see how they operate and to understand the potential impact of changes to the application. We’ll be using this platform to identify business logic within the application and determine the extent of its implementation.

ODM is a tool that allows us to take the business logic we identify with ADDI and centralize the critical components of the logic. By centralizing these components within ODM, business analysts can understand the implementation of policies and easily update those same policies without requiring changes to the underlying application.

Extracting Business Logic with ADDI

ADDI searches your code base to identify critical business variables and business rules. You can further optimize this search through the addition of keywords and concepts with which you are particularly concerned. ADDI then utilizes an intelligent search algorithm to identify parts of your code that contain or are impacted by variables and their derivatives.

A dashboard further allows you to determine the precedence of those occurrences so you can focus attention on computational or conditional steps, or other aspects depending on the needs of your project. The screenshot below shows this dashboard, including sliders, which allow you to indicate your preference for each aspect of the search.

Figure 1: Fine-tuning critical elements of your logic search.

The ADDI tool allows you to search for code snippets that match critical variables and allows you to correlate those snippets with the corresponding business rules and variables. You can also include links to external documents that may provide additional information about the implementation of a policy or explain the procedure for complex calculations.

Centralizing Business Logic with ODM

Once you’ve been able to identify all the relevant code snippets within your application and correlate each with the related business rules, you can use ODM to centralize the management of these policies. ODM doesn’t just provide a place to centralize your business rules, it also provides:

  • Agility: By decoupling policies from the application, change can be implemented faster.
  • Auditability: By logging who and what was changed, you have a complete audit log for all changes.
  • Transparency: Policies are written in natural language, making it easier for stakeholders to understand the specific implementation of a business rule.

A simple policy might be written similar to the one below:

if‘the vehicle’ has anti lock brakes

and ‘the state of residence’ is “NJ”

then

Add a 2% discount to ‘the coverage quote’, reason: “Anti-lock Brakes Discount.”

For more complex policies, you can also define the policy in a tabular form to define source values, target values and ranges for multiple conditions. All of this makes it easy to maintain business logic and update it when necessary.

Let’s walk through a sample scenario using the policy above. We’ll assume our application is integrated with ODM for its business logic. As a business, we’ve decided to increase the discount for anti-lock brakes to 4% as part of a marketing campaign or to make our organization more competitive.

In a traditional application, we’d need to identify any code used to calculate discounts, update all those instances and then thoroughly test and validate our changes before redeploying our application. This process could take a significant amount of time and reduce our competitive advantage.

Using the tools above, once the decision is approved, a policy administrator updates the policy in ODM. The change is saved, validated and redeployed, all with a complete audit trail. Following deployment, the application is immediately updated to apply a 4% discount for all drivers in New Jersey with anti-lock brakes on their vehicles.

As we’ve seen, the tools used in this post make it easy to understand your code and prepare for digital transformation. They save you from having to analyze code manually, reducing risk and accelerating enterprise modernization.


Mike Mackrory is a Fixate IO Contributor. By day he works as a Senior Engineer on a Quality Engineering team and by night he writes, consults on several web-based projects and runs a marginally successful eBay sticker business.


Discussion

Click on a tab to select how you'd like to leave your comment

Leave a Comment

Your email address will not be published. Required fields are marked *

Menu