The IBM Digital Transformation Model for IBM Z provides you with a framework for how to get the most out of your mainframe applications in context of a Digital Transformation. More than 80% of the world’s structured enterprise data resides on the mainframe, over 220 Billion lines of COBOL code captures core business processes and more than 55% of all enterprise application transactions run on the mainframe. A key part of your digital transformation hence needs to focus on opening up the mainframe to applications outside the mainframe, including for how to participate in the API Economy.
In my previous blogs, I provided an overview of the IBM Digital Transformation Model as well as best practices for operating at level 1 and level 2. In this blog we will take a closer look at what it takes to operate at level 3, Expose. This is where you fuel innovation outside the mainframe, while leveraging the mainframe as the stable, secure and extremely high performing workhorse that it is.
People have accessed mainframe resources outside the mainframe for decades. But here are some common challenges that customers I interact with often face:
- It is difficult to find the right API, and if you find it, the means of accessing that API varies based on the subsystem. Why would I as a mobile or Web developer need to care whether the data and functionality I access resides in CICS, IMS, batch or elsewhere?
- Similarly, if I am a developer on the mainframe, the means of producing an API varies by subsystem, and can be non-trivial.
- There is often no governance of APIs. A mobile developer talks to a mainframe developer and they agree on an API. No governance to ensure that performance has been optimized to avoid unnecessary cost and lag in response time, that there are no duplication of APIs, or that there is an organizational commitment behind supporting that API.
- Mainframe groups often lack the ability to assess whether a random change to a COBOL or PL/I program adversely impacts an API and hence a customer facing mobile app! Think about this. When a developer updates a PL/I program, unless the developer has tribal knowledge that this code could be used by a customer-facing mobile app, a change could negatively impact the integrity of the mobile transaction.
Luckily there are well defined best practices and tools that help address these problems:
- REST APIs provides a universal language for how applications can communicate with each other, making them the digital glue that links services, applications and systems. You do not need to care whether the service is delivered by a mainframe or not, nor what subsystem of a mainframe. Further on, there are effective API governance solutions, such as IBM API Connect , that help orchestrate, govern and consume APIs by managing them with business-level controls by setting varying levels of security, visibility, and rate limits while sharing APIs with application developers, making it easy for developers to find APIs using a community based approach.
- To make it easier for developers on the mainframe to develop REST APIs, application understanding software, such as IBM Application Discovery and Delivery Intelligence (ADDI) helps you identify candidate transactions to expose. z/OS Connect Enterprise Edition then provides a standards and template-based approach that radically reduces the effort and skills level required to expose e.g. a CICS or IMS transaction as a service. In many cases, these transactions may need further optimization for mobile workloads, which can be done using ADDI for impact analysis and Application Delivery Foundation for z Systems (ADFz) to refactor the transaction as needed.
- APIs are core assets that need to be well governed. This includes ensuring that there is some sort of approval process to ensure that they have the right operational characteristics (e.g. performance and MIPS consumption), have been properly tested, and that there is an organization willing to make required enhancement and commitments to certain SLAs. IBM API Connect can provide the governance capabilities, and Rational Test Workbench (RTW) and Rational Test Virtualization Server (RTVS) provides the ability to effectively test APIs, including virtualize the interaction so testing can occur before both the consumer and provider of the service has been developed.
- Many mainframe shops are going through a generational shift, where a new generation of mainframe developers is brought in to maintain and evolve the applications. The good thing with that is that they often bring with them a thorough understanding of modern best practices. The problematic thing is that they do not have 20 years of tribal knowledge about which code may be related to which transaction and REST API. Even experienced developers make mistakes, accidentally compromising APIs. The good thing is that analytics software, such as ADDI, can help with the impact analysis, so you understand which transactions could be impacted by a code or data change. This allows you to regression test the required APIs to ensure they are not compromised.
The following IBM products will help you optimize your applications for level 3:
Read other z Digital Transformation blogs
About The Author
Per Kroll is Director of DevOps for Enterprise solution in IBM zSystems Software unit, where he oversees offerings management, development and support. Per also co-leads a DevOps transformation of 2,000 developers within IBM z Systems Software unit. Per has focused on helping organizations improve how they develop software throughout his career. In past positions, Per drove development of the world’s most broadly adopted commercial process library (Rational Unified Process), development of a measurement framework, and lead an open source project centered on agile best practices. Per has also managed development organizations spanning a dozen countries, support, product marketing and product management organizations. Per has authored more than 30 articles and 2 books, sold in more than 30,000 copies and translated to 6 languages.
Follow Per Kroll on Twitter: @perkroll and LinkedIn: https://www.linkedin.com/in/perkroll