|
|
AS OF 5/21/2008 7:09PM EST
|
The Change-Management Challenge
The Complications of Integrating mainframe code with new applications
By SD Times News Team
January 15, 2003 —
Integrating new applications with legacy code-the type of software found on mainframes as well as other older platforms-adds new layers of complication to the job of change management and version control.
Developers building new applications must ensure the applications continue to interoperate with those older systems, across barriers of different platforms, languages, tools and corporate cultures. Often, that means attempting to make change-management and version-control tools interoperate between modern application servers and bell-bottom-era mainframe environments.
The most common method of integrating legacy applications and new code is putting application-server middleware and Web interfaces on host applications. In fact, Meta Group Inc. recently predicted that more than 90 percent of large enterprises will use host-access products that connect to legacy applications via Web services by 2007. Indeed, enterprises have found many different solutions to this problem.
APPLICATIONS COEXIST For the foreseeable future, new applications will coexist with legacy applications. Verizon Communications, a large telecommunications firm based in Reston, Va., is building a billing system integrating mainframe applications with app servers. The application has 65,000 software items, including CICS assets on the mainframe, and distributed applications running Java and COBOL. The application is distributed on sites spread out nationwide, with about 120 developers working on the project.
The team, according to Jim Winder, Verizon's change-control management/version-control administrator, starts with detailing requirements, then formulates a design, codes, tests, completes the code, performs system tests and moves the code into production. Developers at different stages of the cycle remain in communication with one another. "We do not do waterfall methodology; they all talk to each other," Winder said.
The company (www.verizon.com) uses MKS' Integrity Manager for change management. Developers take change requests, also known as "issues," and Integrity Manager guides them through the phases of the change process, which increases quality control and reduces the need to go back and fix bugs later. "A project that doesn't have to be fixed is a project that causes positive things for business, and not negative ones," Winder said. "It's about giving the business what they need, and making sure that what they give the business works."
Maintaining rigorous change-management practices also helps projects come in on time. "We are in a fast-paced business, we have to meet deadlines that are very aggressive, and we need to have some controls in the process to keep the quality as high as we can get it, without making the process slow down," Winder said.
Verizon moved that 10-year-old billing and order management system to Java and Enterprise JavaBeans running on WebSphere on IBM's AIX operating system. The front end is written in COBOL running on Windows NT. The transition was accomplished over the past two years, in phases.
In the first phase of the project, the company exposed its order-fulfillment legacy application using IBM CICS Transaction Gateway, which enables Java-based middleware to execute CICS programs-in this case, allowing the WebSphere servers to execute the mainframe code, said Nishant Gajjar, WebSphere administrator/developer for Verizon. Interfaces between the platforms are EJBs and XML.
The fact that the system used so much legacy code added complications, but also provided advantages. Because end users were familiar with the application, they could make sophisticated suggestions for improving the interface. The new application presents extremely streamlined and consolidated views of data compared with the previous version, boiling five screens of information down to two, Winder said.
Integrity Manager makes sure that changes to the application are tied with the plans for the application's future direction, Winder said. Developers can't check out any code unless they have a change package that is connected with an issue. For a developer to check out code, a manager has to create a change request issue, then the developer sets up a change package, which includes all the software items checked out to achieve the change. Workflow is built into Integrity Manager; code must be checked in and approved before it's moved to the completion stage.
"What all this is doing is it allows the developer to do the things they need to do, but doesn't allow them to do renegade changes," Winder said. "It's always done in a controlled way."
Integration BenefitsAt Hewitt Associates LLC (www.hewitt.com), a Lincolnshire, Ill.-headquartered global benefits consulting company, the task was to build a Web front end for a mainframe-based voice-response unit that its Total Benefits Administration (TBA) clients' employees were using to manage their benefits packages, said Bill Richards, change-management systems administrator for Hewitt.
The voice-response unit system is built on a mainframe, primarily in COBOL and Assembler, with some Smalltalk, accessing data in IBM's DB2 databases using CICS. Starting about five years ago, the company extended functionality to the Web, writing new code in Java and JavaScript. The application server is WebSphere running on Sun's Solaris operating system.
On the new applications for the TBA system, the company uses Telelogic's CMSynergy for source-code management, version-control and configuration management, and also uses Interwoven for content management. On the mainframe, the company uses Computer Associates' AllFusion Endevor to manage source code. The two sides are incompatible.
Endevor is a file-based tool; when developers want to make changes to mainframe code, they simply log in to Endevor and check out the code, and check it back in again when done.
The CMSynergy management system is task-based. Individual projects are shared, consisting of an entire Web site for an individual client, and containing roughly 1,500 software items within the site. The developer creates a task to make a change, checks out the elements needed to be changed, tests code changes, and then checks the tasks back in when complete. Individual files are managed by an Informix server running on Unix. This change-management process is confined to the Unix environment because of incompatibilities with the mainframe system version control.
Once the developer is satisfied, changes go to build managers, three developers working with code generated by 650 other developers and producing 100 builds each day. Multiple changes at a time are made to client sites once or twice per day, including bug fixes and new features.
GRADUAL REPLACEMENT General Motors Corp. (www.gm.com) is gradually replacing a host-based manufacturing application with a more modern J2EE-based infrastructure. "The whole effort of this production pilot is to do a proven and repeatable way to do this migration," said Fred Falten, director of application architecture and integration, application solutions delivery, for GM.
Key to the plan is dividing the existing legacy application into modules that can be brought over to the new environment in pieces. That planning is expected to require six to eight months, and the remaining timetable will be set once planning for the application is done.
Existing environments are mainframe-based, written in COBOL and PL/1.
"We are wrapping the legacy environment and migrating into the wrapper itself," Falten said. "You want to gradually depopulate the legacy application. You don't want to do that in a big bang because these applications are enormous. There is staged migration taking place, and that requires really good source-code control between the two environments."
On the mainframe, GM uses proprietary tools from IBM. For J2EE, it uses Merant's PVCS Dimensions. PVCS has been a standard for code control at GM for many years, according to Falten.
Maintaining version control has been a struggle. GM is working on a procedure in which each application can identify its own version number, and be aware of the version numbers of other applications on the network and the interoperability issues among them. "The actual applications need to communicate with each other, to verify that they can interoperate with each other," Falten said.
KEEPING FIT Health club chain Life Time Fitness Inc. (www.lifetimefitness.com) also is taking the gradual approach to migrating legacy applications into the new environment.
The Eden Prairie, Minn.-based company's core line-of-business application is the Member Management System, written in J2EE on BEA's WebLogic application server, which tracks memberships and access privileges. The company is integrating with a 5-year-old legacy child-care system written in Microsoft Access, on one PC per health club. Also being integrated is a paperless contract system, initially a stand-alone application when it was written five years ago, with rudimentary integration with the legacy member management system in use then, and the same child-care system in use today.
The new member management system was written with placeholders in the data structure for items not needed just yet-for instance, the contracts that will eventually be imported from the paperless contract system.
At the time the integration began, Life Time Fitness development was being done by a very small staff, with only a basic change-management system, consisting mainly of documentation for business requirements. That was not a problem then, but as the staff grew, the company required more developed tools.
Life Time Fitness now uses the open-source Concurrent Versions System (CVS) for source-code management, along with home-grown tools for tracking bug reports and feature requests.
"Typically, what we do is develop in the trunk until the point where we're ready for release or just have released, and the code is pretty solid at that point, and we are ready to do another big project. That's when we branch, and at that point the fixes we make are made to both the branch and the trunk," said Gary Lien, senior systems architect for Life Time Fitness.
ABRUPT REPLACEMENT In some cases, enterprises will replace legacy applications all at once. That was the case at AdvancePCS (www.advancepcs.com), a prescription-drug benefits company formed by the acquisition of PCS Health by Advance Paradigm in 2000. The company decided to replace the existing Web-based client management systems at each of the companies that existed prior to the merger with a new system that would serve the entire enterprise, said John Jackola, the Irving, Texas-based company's change-management manager for Web applications.
The new application is written in Java running on WebLogic's app server. The two companies previously had been running a mix of WebLogic, BroadVision's portal and the iPlanet app server. "We did not have the resiliency we have now, the failovers; we have more redundancy now built into the system than we had in the past. It's better integrated, with better interfaces, and we have higher client satisfaction based on the new systems structures," Jackola said.
Initially, there was no change-management system. Jackola's first task, when hired, was to put one in place. Prior to his joining Advance Paradigm, the company was storing code on a workstation, with no disaster recovery, and no way to track or trace changes made back to where the business owner had requested changes. One of the first things that Jackola did at AdvancePCS was to migrate to a redundant system with RAID and a backup schedule.
The company settled on PVCS Dimensions. A key factor in selecting that software was a strong process engine to manage workflow.
The company decided to replace code rather than integrate existing code simply because it was faster. "We had to keep the clients satisfied, and maintain the system in parallel," Jackola said. "We pulled the functionality from both systems we wanted and rewrote and evaluated the code to make it more efficient. It would have taken more time to integrate than to replace."


|