Experience migrating legacy Cobol/PL1 to Java
- by MadMurf
ORIGINAL Q:
I'm wondering if anyone has had experience of migrating a large Cobol/PL1 codebase to Java?
How automated was the process and how maintainable was the output?
How did the move from transactional to OO work out?
Any lessons learned along the way or resources/white papers that may be of benefit would be appreciated.
EDIT 7/7: Certainly the NACA approach is interesting, the ability to continue making your BAU changes to the COBOL code right up to the point of releasing the JAVA version has merit for any organization.
The argument for procedural Java in the same layout as the COBOL to give the coders a sense of comfort while familiarizing with the Java language is a valid argument for a large organisation with a large code base. As @Didier points out the $3mil annual saving gives scope for generous padding on any BAU changes going forward to refactor the code on an ongoing basis. As he puts it if you care about your people you find a way to keep them happy while gradually challenging them.
The problem as I see it with the suggestion from @duffymo to
Best to try and really understand the
problem at its roots and re-express it
as an object-oriented system
is that if you have any BAU changes ongoing then during the LONG project lifetime of coding your new OO system you end up coding & testing changes on the double. That is a major benefit of the NACA approach. I've had some experience of migrating Client-Server applications to a web implementation and this was one of the major issues we encountered, constantly shifting requirements due to BAU changes. It made PM & scheduling a real challenge.
Thanks to @hhafez who's experience is nicely put as "similar but slightly different" and has had a reasonably satisfactory experience of an automatic code migration from Ada to Java.
Thanks @Didier for contributing, I'm still studying your approach and if I have any Q's I'll drop you a line.