The HostBridge team recently spent time working onsite with a global financial services company. The purpose of the engagement was to accomplish three different but equally important goals related to making CICS applications available while remaining sensitive to performance and CPU cycle usage:
- Reduce CPU consumption from high volume CICS socket I/O
- Identify other performance issues with these high-volume CICS applications
- Integrate Salesforce with a back-end CICS billing system
Goal 1: Reduce Overhead of CICS Socket Support I/OThe first project goal was to find a way to make a core business process, implemented using CICS socket-based transactions, more efficient. Ideally by lowering the CPU time consumed. This company’s customers, many of them retail partners, send requests from various external applications for financial information and credit data. These requests trigger CICS transactions. The architecture that manages these requests was built decades ago and uses TCP/IP socket connections to exchange requests and responses. HostBridge offers a replacement solution for CICS Sockets Support that exploits more current techniques for performing socket I/O in a CICS environment. As a result, HostBridge Socket Support (HBSS) requires much less CPU and can run zIIP-enabled in various contexts. Typically, after implementing HBSS, CPU consumption associated with socket I/O is immediately reduced by about 25%. This reduction comes before additional gains are realized by exploiting the zIIP-enablement of HBSS. Thus, for applications doing high-volumes of socket I/O, HBSS is a simple and easy-to-implement alternative to reduce CPU consumption and improve response time. For this particular customer, these performance gains were easy to get. All that was necessary was to:
- Install HBSS
- Relink the programs to use HBSS instead of CICS Socket Support
Goal 2: Gain Performance Insights to Further Reduce InefficienciesAnother goal for this engagement was to identify other possible inefficiencies in high-volume CICS transactions to gain further performance benefits. To do this, the HostBridge team installed the HostBridge Transaction Analytics Connector (HTAC), software that correlates non-mainframe service requests to the actual work done inside CICS to process those requests. Insights from HTAC made it clear that there were some significant inefficiencies in the code running in the socket-owning CICS region. Using the detailed performance data from HTAC, the HostBridge team was able to isolate inefficiencies within the socket application code and propose changes. Working with the client, a handful of low-risk/high-impact changes were made and tested. The results were compelling: the CPU consumed by the CICS region (not just the socket application) saw a 50% reduction. “We’ve had a lot of experience re-engineering socket-oriented applications over the last two decades,” said Teubner. “We used performance insights from our tooling, combined it with our expertise, and identified simple changes. These changes drove significant CPU savings beyond this client’s expectations, and even my own.” While the performance benefits were substantial, the program changes were not. Altogether changes were made to two programs involving a total of about 50 lines of code. In conjunction with implementing HBSS, CPU consumption in the socket-owning region was cut by half.
Goal 3: Integrating SalesForce with CICSLike many organizations, this company uses Salesforce as their enterprise CRM platform. However, Salesforce and their CICS-based Billing system have proven difficult to integrate. As a result, it took a significant amount of manual work to redundantly enter new customer data from Salesforce into the Billing system. This customer’s vision of the ideal solution was to expose components of the Billing system as RESTful web services. Then, as appropriate, the customer data already held within Salesforce could be used to populate the Billing system (e.g., using a RESTful service named createNewCustomer). This would allow seamless propagation of new customer information into the Billing system as a standard part of the workflow. While the attributes of the integration solution were known, a means for creating it were proving elusive. This customer spent many months studying possible ways to achieve this level of integration.