|
VMS to Unix Migration Toolkit
When considering what to do with your legacy applications, migration is often significantly more cost-effective than application re-design. Migration is the process of moving an application from one operating system to another while reusing as much code as possible.
Three paths may be considered when performing a migration.
|
Manual Migration
|
This migration option involves manually replacing all unsupported operating system calls and data access calls.
|
|
Toolkit Migration
|
Unsupported calls are left untouched. Instead, the calls refer to exact duplicates of the routines that have been built for the new environment.
|
|
Emulation Migration
|
The original source code is untouched and the original executable is actually utilized. The process of emulation involves imitating the original environment that the application was intended to run in.
|
Often, the latter migration approaches do not produce satisfactory results for complex applications. On the other hand, a manual migration will result in an application that truly "fits" onto the new platform.
The major drawback for VMS to Unix migration projects is that they have a tendency to "evolve" into a complete rewrite. The primary reason for this is because the flow control, process control and inter-process communications mechanisms of VMS applications do not easily map to the Unix model.
What Ibridge has done is develop a software library which combines the manual approach with the toolkit approach. The key to this library is that it provides VMS style flow control on a Unix platform. Ibridge has successfully used this library in order to migrate complex applications without changing existing system design. In these cases, the vast majority of the existing code (which had already been tested, debugged, and commissioned years earlier) was kept.
We helped our customers to leverage the millions of dollars in software development and commissioning costs that were put into their existing VMS applications over several years.
The software library consists of 5 parts:
- VMS Run-Time Library Many of the more commonly used VMS RTL routines have been converted to run under Unix.
- VMS String Manipulation Many of the VMS string manipulation routines have been converted. These are commonly used in large VMS Fortran applications to assist with string handling functions.
- VMS Mailbox Emulation Package (inter-process communications) These routines use a UNIX named pipe in order to mimic the VMS mailbox QIO operations. Mailboxes are the most common form of inter-process communications in VMS applications. Existing VMS mailbox code can be ported using these routines without major redesign.
- VMS $QIO Emulation Package (for asynchronous disk file operations) These routines use a UNIX named pipe in order to mimic the VMS QIO operations for asynchronous disk file access. Asynchronous disk operations are common in VMS applications for logging errors and events from real-time programs. Existing VMS code can be ported using these routines without major redesign.
- VMS Spawn Emulation Package The Spawn emulation routines allow you to mimic the LIB$SPAWN feature of VMS. LIB$SPAWN is commonly used in VMS applications to execute timed tasks or lengthy asynchronous tasks.
For more information on VMUT, please contact Ibridge at marketing AT ibridge.net.
|