Despite the proliferation of computers of every size, mainframes still house most of the world's data. An estimated 200 billion lines of COBOL that run the world's financial services, banking and insurance centers. The mature software change management processes that manage these massive mainframe applications set a high standard for the distributed systems that surround them.
New application development, however, increasingly leverages newer technologies such as Linux for z, Java, XML and Web services. This presents a software change management (SCM) challenge as the software change management environment more closely resembles a distributed platform than the traditional mainframe application platform. Some SCM tools have risen to this challenge by providing a single point of control for applications that are a composite of the classic COBOL, VSAM code loosely-coupled to C/C++ or Java-based Web services.
The components of Web service-enabled mainframe applications can be exclusively mainframe or can include components distributed across multiple platforms. This raises a critical question: can IT departments maintain tight control over the application life cycle when it extends beyond the mainframe? The answer is a resounding yes.
Traditional mainframe applications were based on mainframe-hosted programming languages, databases and tools. Today's applications tend to be Web-based and to span platforms, offering attractive browser interfaces, different deployment models and the flexibility to run key components across multiple platforms.
The trend towards service-oriented architecture (SOA) is a further attempt to improve integration by loosely coupling components across a wide range of execution environments, from mainframe CICS, CA-IDMS, DB2 and IMS applications, to Windows, .NET and Java. Still, organizations embracing SOA and Web services want to preserve their investment in existing mainframe applications. Indeed, an important reason for SOA's popularity is that it supports the notion of service-enabling existing applications, instead of scrapping them and starting over.
Whether opting to re-engineer applications into Java for portability across platforms or simply using Web service techniques to wrap existing transactions, applications also access information in new and flexible ways by creating higher-level reusable services. By answering questions such as "what's my account balance?" instead of focusing on navigating individual tables and rows, data can reside in multiple databases such as DB2 for z/OS, Oracle on Solaris or Microsoft SQL Server on Windows without affecting applications.
Today's unprecedented levels of flexibility – and complexity – exemplify some of the reasons applications may span multiple servers and require programmers skilled with Microsoft Visual Studio, Java, Eclipse and mainframe ISPF developers.
By taking a holistic approach to SCM, organizations can respond to the pace of change and provide added control no matter where the application components reside or what programming paradigms they use.
Organizations can extend their existing applications to include distributed platforms without fear of compromising their software change management or application life cycle management processes. Solutions are available that allow control to be retained, even when mixing traditional COBOL and Java programs within a single application.
The key to maintaining control over a heterogeneous application environment is having visibility and control across the application development and deployment platforms. SCM systems provide controls that help IT enforce quality and compliance controls. The result is that only well-tested changes make it through the process to production deployment and a full audit trail is maintained that makes passing compliance audits easy. Some SCM solutions focus on a single platform. Some lack a mainframe presence, while others just don't have the mainframe depth because of their distributed roots. An ideal SCM solution would provide native levels of mainframe coverage and provide a bridge to non-mainframe platforms. This approach would satisfy the often conservative mainframe IT manager and the distributed platform application administrators by providing both communities with environments that they are familiar with, while providing the organization with the flexibility to exploit both platforms to their full potential.
For example, a large New York-based trust firm decided to upgrade its traditional mainframe applications, developing Java Web services on UNIX servers at an offshore location. Its developers needed to store and execute this Java code on z/OS so they could control their Java code alongside their COBOL transactions. This enabled them to leverage the mainframe's advanced disaster recovery, enhanced application management, security and serviceability capabilities. Although they had an existing SCM system, it only supported traditional z/OS datasets – limited to eight-character program names – but wanted to take advantage of the UNIX-like directory and program names that the Java applications used. They therefore decided to change SCM solutions and host the Java code in a z/OS UNIX Services file system in order to eliminate these restrictions.
Now their existing COBOL code investment is protected and they can leverage a ready supply of Java application developers as they extend the application. They have the flexibility and ease of reuse provided by SOA and Web services, while retaining the security, reliability, scalability and manageability offered by their System z mainframe platform.
Not all distributed SCM solutions have extensions that also cover z/OS components. Providing a single view across distributed and mainframe change has been an area of intense development for multiple vendors. The ideal SCM solution needs to support a native environment for z/OS development system using tools such as IBM WebSphere Developer for zSeries and provides coordination with UNIX and Windows through plug-ins for the .NET, Eclipse and mainframe ISPF and WebSphere integrated development environments.
Maintaining Quality and Control
By nature, SOA and Web Services provide unprecedented levels of reuse to the average application. Whether IT organizations adopt WebSphere Application Server on the mainframe or turn to platforms such as Linux, Windows, UNIX or Mac OSX, mainframe applications can be modernized and enhanced without losing control or compromising quality. With the right SCM solution in place, even the most diverse development and deployment environments can be coordinated seamlessly and from a single point of control.
About the Author
Pradeep Bhanot is director of product marketing at CA, responsible for software change and configuration management solutions. He started his career as a mainframe application and systems programmer for the UK Government and British Telecom International. He spent 13 years at Oracle and Serena Software where he served in various technical, product marketing and product management roles. During this time he was responsible for managing relationships with IBM, Dell, Red Hat and Apple Computer. Bhanot is a U.S. patent holder and earned a bachelor's degree in Computer Science from Greenwich University.