I have a requirement for migrating/porting an application from Mainframe z/OS environment to UNIX AIX environment. The current application contains
1. COBOL modules + Copybooks
2. C++ modules
3. Assembler modules
4. JOBs + SYSIN
5. REXX execs
with DB2 being used as database.
New environment would be AIX with Oracle as database. Does anyone has any similar experience of migrating from z/OS to UNIX and/or DB2 to Oracle change? I would like to know what are the main challenges in such project. What could be the possible equivalent form of assembler programs in UNIX?
Joined: 23 Nov 2006 Posts: 19270 Location: Inside the Matrix
How large is the applicaton inventory? How many databases/tables?
Is there some business reason to use Oracle? Is this decision already final?
There is no exact equivelent to IBM assembler on unix (unless some vendor now provides such - when i had a similar requirement, there was no assembler alternative). You might re-program the assembler modules in c++ or pl/i on the unix systems. Is there some reason these modules are assembler on the mainframe? What we did with several called utility modules was re-write them in cobol and ensured they worked exactly as the assembler code and then ported the cobol versions.
How much UNIX experience does the conversion group have? This can make a big difference.
We used MicroFocus cobol and all of the code worked properly (copybooks, calls, qsam files, etc).
Two of the biggest hurdles may be the collating sequence (numbers sort before letters in UNIX rather than the alphas, then the numbers on the mainframe). The other is packed or binary numerics. While MicroFocus handles the definitions, the data will not transfer nicely from the mainframe in those formats (again, unless some vendor now provides this).
One other issue (if you have this in your data) is bit-level data. In some older systems (to save dasd space), on/off indicators were implemented at the bit level instead of using an entire byte - which allowed 8 indicators per byte.
REXX will run on UNIX, but keep in mind the largest use of rexx on the mainframe is within tso/ispf - which are not part of unix.
We replaced all of the mainframe jcl with unix shell scripts.
Suggest you pick some modest part of one application and perform a "proof of concept" for the migration strategy. Once the method proves workable, expand the plan for as much as needs to be ported (my team migrated the entire workload of 4 mainframes to unix servers with no performance loss - largely because the brand-new unix boxes were far more powerful than the old mainframes).