z/VSE-to-z/OS migration projects are the latest iteration in a long line of related conversions, starting with the DOS-to-OS implementations in the 1960's, then continuing with all possible combinations of DOS, DOS/VS, DOS/VSE, VSE/SP, VSE/ESA, z/VSE to OS/VS1, OS/VS2, MVS/SE, MVS/SP, MVS/370, MVS/XA, MVS/ESA, OS/390 and z/OS. Although the tools and methods in use today are more sophisticated than those which existed thirty years ago, going from VSE/ESA or z/VSE to z/OS in the 21st century isn't always simpler than going from DOS/360 to OS/360 was in the 1970's. In the interval, DOS/VSE data centers have become more sophisticated, and converting them to z/OS more of a challenge as a result.
This document describes three different methods used to convert VSE applications to MVS and highlights the major differences between them.
A VSE/MVS conversion is the process of taking VSE applications, modifying and testing them to run in the MVS, OS/390 or z/OS environment. The term Migration, which is often used as synonym for Conversion, refers to the broader project of turning a VSE data center into an equivalent MVS, OS/390 or z/OS data center. The migration includes the conversion of the applications, as well as several other tasks such as planning, installing hardware and software, training, etc.
VSE/MVS conversions are easier to automate than most other operating system conversions, due to a large extent to the vast similarities which exist between the source (VSE) and target (MVS) environments. The fact that the same (or very similar) concepts, hardware, programming languages, compilers, and middleware exist in both environments makes it considerably easier to write almost-perfect conversion tools. As a result, a highly-automated method, such as the mass conversion described below, allows a VSE data center to migrate to MVS in a manner that is both predictable and largely transparent to end-users, a goal impossible to attain should the same VSE installation migrate to an unlike environment (e.g AS/400 or Unix) instead of MVS.
Three different methods are used to organise the conversion of VSE applications to MVS.
Note: The term Big Bang refers to the cut-over (or switch-over) of the converted applications en masse, at the end of the project, as occurs in the shelf and mass conversion methods. As a result, the terms Big-Bang method and Big-Bang conversion are sometimes used, inappropriately, to designate the shelf and mass conversion methods.
1. Kernel Method
In the Kernel (or progressive) method, the application inventory is split into several small sets of related applications ("kernels"). Kernels are converted, tested and cut over one by one until all of the applications have been implemented in the target environment. As a result, during most of the conversion project, converted applications run in the new environment while other applications, waiting to be converted, still run in the old one.
This situation, which can last for a year or more, requires the creation of temporary bridges to transfer data files back and forth between the applications already converted and running on the new system, and the rest of the applications, still running on the old system. In addition to the bridges, the operations staff must also manage two production environments (the old one and the new one) simultaneously, thereby creating a significant overhead and increasing the risk of production errors.
The Kernel method is issued from the 1960's, when most application data was on tape and exchanging data between applications running in the old (i.e. DOS) and new (i.e. OS) environments was relatively easy. Gradually, as the availability of disk storage increased, tapes lost their importance in favor of DASD and Data Bases; as a result of this evolution, conversion teams found it more difficult to build bridges between the old and the new environments. In the late 1970's, DOS/VS production environments were often built around a CICS system and on-line files and data bases shared between multiple applications, which made it all but impossible to split the applications into kernels that can be converted on their own.
2. Shelf Method
When management of a Kernel conversion project realises that the applications are too tightly integrated to be separated into independent kernels, the project is generally switched from "Kernel" to "Shelf" mode. In the Shelf method, sometimes referred to as the Snapshot method, applications are converted and tested, then "shelved" until all the other applications are also converted and can be cut over, at the end of the project, all at the same time. In essence, the Shelf method is the Kernel method with a single cut-over at the end.
Although the Shelf method simplifies operations because there is only one production environment to manage at any given time, this method invariably results in having two versions of every application, one in production in the old environment, and a second one sitting on a "shelf" in the new environment. This situation, which can last for months or even years, puts a heavy burden on the applications staff who must track maintenance to the VSE version of the application and apply it again to the MVS version, each time a change is made to already-converted programs or job streams.
Because converted applications are all cut over at the same time, en masse, at the end of the project, the Shelf method is sometimes referred to as "mass conversion". We believe this to be inappropriate, as the Shelf method lacks the iterative element of the true Mass Conversion method, which eliminates the need to freeze applications, as described below.
3. Mass Conversion Method
The Mass Conversion method was created in 1982 in France in conjunction with the Cortex conversion software, as a way to significantly reduce the overhead inherent to the other methods. IBM sponsored the mass conversion method in 1984 when they licensed the Cortex product, which they later distributed to their VSE customers under the name MVS Migration System (MVS-MS). The Mass Conversion method is a structured method, described in great detail in the IBM Documentation, and based on three main elements:
After a number of dummy conversions have occured and testing results have been consistently positive, VSE production is shut down, a last mass conversion and transfer of application data are carried out and operations are resumed in the target environment. This event, called the "switch-over", generally occurs during a week-end.
The mass-conversion method is complex, technically demanding and requires specialised software, skilled personnel and a lot of discipline. Its iterative aspect is quite unusual and often misunderstood: when a sophisticated product like Prism-CS™ is used, inexperienced conversion team members may be discouraged by the amount and complexity of customization required and start freezing programs and JCL, gradually abandoning the mass conversion method for the more traditional shelf method, without realising the enormous overhead this will generate in the long term.
The mass-conversion method causes minimal disruption to operators, applications staff and end-users. Programmers can continue to update existing programs, or write new ones without impacting, or being affected by, the conversion project.
When software tools are used to automate the conversion, it is frequent that these tools fail to produce perfect source code or JCL.. This creates situations known as conversion exceptions which all require corrective action from the conversion team. On an average-size project, the occurrence of thousands of conversion exceptions is common. How conversion exceptions are corrected depends on the conversion method:
How Long Does It Take?
Most VSE/MVS conversions take from three months to three years, depending on three groups of factors:
What does this mean in real life? Well, it's difficult to say, but over the past 25 years we have noticed that most average-size projects done in-house (i.e. without the help of sophisticated tools or skilled consultants) lasted two years or more. In contrast, most average-size projects we performed with sophisticated tools such as Prism-CS lasted ten months or less.
Emulators allow VSE objects programs (PHASEs) to run in the MVS environment, directly, without having to convert source programs and compile them. An emulator may be a useful option when a significant amount of source code is not available, but we believe emulators to be a counter-productive solution in all other cases.
Emulators have their roots in the 1960's and 1970's, when available language conversion programs (LCPs) were not apt at properly converting certain programming elements in wide usage at the time, such as COBOL D or assembler programs which used ISAM, EXCP or overlays. In that context, using a product such as UCC2/DUO (which still exists today as CA-DUO) made sense, even if it made JCL conversion more of a challenge, and required maintaining programs in DOS format for months or years in an OS world. The situation changed dramatically in the 1980's, when COBOL D and ISAM largely disappeared, Data Base Management Systems (DBMS) and CICS became commonly used, and enhanced LCPs became available which were able to better convert programs written in commonly-used languages.
Using an emulation solution today neither reduces the amount of effort for, nor the cost of, converting applications from VSE to MVS, but in fact increases these two factors. In particular:
In conclusion, an installation considering using an emulator as a cost- and effort-saving solution to their VSE/MVS conversion should not rely too much on the vendor's literature and consider all the arguments listed above before making their decision.
VSE to OS/390
Migration Workbook SG24-2043
Return to the Prism-CS™ main page.
Run Time Library
Search key-words: IBM mainframe mainframes main-frame legacy convert conversion conversions converter convertor converting migrate tool migration migrations tools migrating translate translation translator translating difference between vse vse/esa dos/vse z/VSE zVSE versus vs mvs os/390 z/os os390 zos jcl online on-line batch challenge challenges study studies etudes