Today I want to share a success story from one of our customers in the financial business who combined the currently hyped topic Real User Monitoring with the good old mainframe. They used Real User Monitoring to identify unnecessary calls from their rich client application into the mainframe and reduced useless data retrieved from the mainframe which ultimately saved them lots of money on MIPS.
The customer’s internal banking application consists of a Java Rich Client used by the bank clerks in the daily business with the customer. This Rich Client makes calls via the IBM CICS Transaction Gateway (CTG) to the mainframe CICS transactions. The central storage for all the data is an IBM DB2 database which is accessed via the mainframe. The following screenshot shows a typical Transaction Flow through their environment.
This architecture results in executions of mainframe applications and therefore consumption of MIPS for every click from a bank clerk. To find out where to look for the optimization potential we identified which mainframe application gets called most and where these clicks come from. The following screenshot is from a dashboard that shows which applications are called at least 5 times for a single user click. It makes it obvious that the application with the name “GEI4” is the biggest contributor.
A closer look at the end user actions on the rich client reveals that there are only three actions that contribute to the calls:
- retrieve overview data for a bank customer
- see details of an account
- expand a section of the screen to see more details about standing orders
The following three screenshots show the number of mainframe hits for each of the steps as indicated on the line between the Rich Client App and CTG.
The development team took a closer look at each of the views and compared the data that was displayed with the data that was retrieved via the mainframe.
Step 3 was especially interesting because all the data displayed on the screen was already in the client cache with only one exception: the full name for the bank identification code. In other words, just for the purpose of displaying the full name, lots of extra data is redundantly retrieved. As these redundant lookups happen for each standing order, the savings in MIPS after the fix is tremendous.
How did the team address these opportunities?
- They changed the data interface between CTG and CICS in a way that only the required data got sent to the Rich Clients. This reduced the amount of data traffic between the datacenter and the bank branch. In some use cases the achieved reduction data traffic is 70%. This especially helpful for the remotely-located branches with limited network connections.
- In a second step they adopted the CICS program to only get the necessary data from DB2. As the data interface was changed in step 1 the CICS transactions were altered to reduce the amount of data requested from the database. This helped IT operations to significantly reduce the amount of MIPS consumed. This was very beneficial for them as the savings affect the peak time MIPS usage.
- In the last step they worked together with a core group of bank clerks to identify information in the Rich Client user interface that can be moved from the overview into detail views or expandable areas in order to not always request the data if it is most of the time not relevant.
These three steps improved the user experience for the bank clerks and helped the IT-operations team save money on running the mainframe.
Real User Monitoring combined with an end-to-end view makes it easy to identify opportunities and helps you to understand which clicks of the end user have the highest impact on your mainframe; it allows you to optimize your application holistically Focusing on these clicks that are also executed most often allows you to improve the performance and resource consumption. This saves money for IT-operations and improves the User Experience of your employees.