In January 2019, I published an article titled “Modernization Is an Ongoing Strategic Activity” on Destination z. That article was a high-level way to understand modernization written to help IT departments plot a way forward. In the article, I clearly promoted the role of ongoing renewal versus plunging into an application replacement. This just makes good sense. This article is a follow-up to the January article and is focused on traditional modernization.
What Is Traditional Modernization?
Traditional modernization is the conventional way to modernize business applications. These operational applications can be anything from COBOL on a mainframe to a client-server or web-hosted application with multiple tiers or layers. Traditional modernization involves opening up the application source code and changing it. Traditional modernization is often associated with intense use of a variety of middleware software components and products.
What Kind of Changes Might Benefit an Application?
In the five sections that follow, we will explore some significant areas of change for an application. For example, replacing indexed master files with databases is done when there are compelling reasons to make the change. The paybacks need to be bigger than the risk and cost of the modernization changes. When the file to database conversion is completed, the list of benefits should become clear to system users. With databases, improved availability and data access is an immediate benefit.
Databases Open the Door to New Built-in Functions
Data storage for applications has evolved from files using access methods to databases supported by commercial database management system (DBMS) products. This change happened because of significant built-in functionality that makes it more advantageous to use databases than a traditional file system. Many companies have a guideline that important data should be kept in databases because databases have data dictionaries that make the data easier to understand and use.
DBMS software is used because organizations have a desire to support ad hoc queries of the data, which is easier to do with data in databases that support SQL queries. It is not just ad hoc reporting. Consider that the recovery of data in a database is more flexible and powerful because of the features of DBMS backup and restore utilities. Also, concurrent access to data is more flexible with databases opening up different ways to simultaneous access data for business use.
Adding New Possibilities to the UI
The UI has changed from monochrome non-programmable displays to web interfaces and now to mobile devices. Many methods have been developed to use long-standing outputs in new ways. For example, the CICS 3270 Bridge is a tool used to web-enable a web-unaware IBM CICS application. This is a proven way to get 3270 applications on the web.
Another example is IBM Rational Host Access Transformation Services, which makes it possible to display outputs from CICS applications on a mobile device with no changes required to the existing application. This low-risk approach increases user productivity and satisfaction while enabling users to reuse proven business logic in the context of new mobile applications.
Supplement the Application With New Functions
Changes can be made to modernize the application logic including updating the existing programming language to use modern features that make it possible to enhance performance and maintainability. IBM Enterprise COBOL is a vibrant and changing language that’s been internally modernized over decades and IBM continues to develop enhancements and new functionality.
Another example of function modernization is business rules software, which makes it possible to put application business rules in repositories where they can be accessed by application programs. This saves application maintenance because the rules can be administered independently of the program.
Updating Application Support and Enhancement
Many companies are changing their methods of maintaining applications and developing new ones due to various business challenges. Many have started to use DevOps and other similar methods. DevOps is named for development and operations, two stages associated with application creation and support.
DevOps seeks to improve business agility and better align IT with the company. Business agility is supported by DevOps through techniques that make more frequent software changes possible, whereas IT alignment is supported because members of both development and operations groups are supporting the same aims using the same approaches and a common toolset.
Maximizing Middleware Use
When new developers use IBM Db2, they immediately take advantage of the enormous functionality that has been added through the decades. Today, Db2 is ideal for developers because it has APIs for commonly used languages like REXX, PL/I, COBOL, RPG, Fortran, C++, C, Delphi, .NET CLI, Java, Python, Perl, PHP, Ruby and others. Db2 also works with Eclipse and Visual Studio integrated development environments. These are significant middleware enhancements that should be used to the fullest by application developers.
Like Db2, CICS Transaction Server has grown over decades because IBM constantly enhances it through internal modernization. CICS provides advanced functionality that’s needed for business-critical applications. The latest release of CICS provides performance optimizations, enhanced metrics, additional security, cloud support and DevOps engagement to automate CICS deployments. These are important middleware enhancements that should be exploited to the fullest by application developers.
Traditional Modernization Makes a Difference
Traditional modernization offers diverse ways to modernize applications. Modernization is not free or without risk but nevertheless it’s essential to keeping an application responsive to business needs. Ongoing traditional modernization is an approach that should not be dismissed without careful study as up and running applications are an extremely valuable asset to an organization.