Every modernization project is unique. Mission-critical legacy systems are often complex, large, and poorly understood, probably using technology requiring a scarce skill set and languages like COBOL that are perceived as obsolete. Managers may think that “Going to the cloud” or “Reprogramming in Java” will solve their problems. It’s rarely that simple, and poorly judged “solutions” can cost hundreds of millions while underperforming and destroying careers. If you hope to be successful, you must understand several things.
Firstly, what are the real objectives of this project? Real business objectives are always about functions, cost, and risk. “Get rid of the mainframe” or “Get rid of COBOL” aren’t objectives, they are proposed solutions. What benefits does your project provide? What are its costs and risks? What alternatives did you consider, and how did these compare?
Secondly, how are you going to break the project into manageable parts? Replacing mission-critical systems in one step is suicidal. Pick part of the system where changes provide the best cost/benefit, and implement these changes. Then pick the next part. Repeat until it’s not worth continuing.
The current and new systems will have to run together for an extended period. How are you going to keep data consistent between the two systems? There can be difficult issues, particularly if the new functions use different technology and data structures.
Modernization projects are challenging. MANASYS Jazz can help. Here some issues that it helps with.
Because MANASYS functions by generating COBOL but can be used without any COBOL knowledge, it is a great way to introduce new staff to COBOL. Easy to learn, attractively packaged with a modern Windows-based IDE, anybody familiar with Visual Studio will instantly feel comfortable with it. Jazz programmers working exclusively on new programs may never fully learn COBOL, but those that go on to work with old COBOL programs will have a flying start in learning enough COBOL to understand them.
Newer languages are not necessarily better than COBOL, and using MANASYS Jazz to write your COBOL makes it far simpler. COBOL is widely available (more than 50 platforms, not just mainframes), and its global use is growing, so don’t write it off.
Learning COBOL is easy, it is learning the logic of a legacy system that is difficult. You need to understand what the program is doing, and why, in enough detail that you can replace it with your new function. You will need to understand program relationships. For example, if your task is to replace a sequence of 3270 programs with a modern web interface, you don’t want a web page for each program. Instead, you’ll go back to the fundamentals: what is the data that you’re working with, and what is the sequence doing, to end up with one page (app) handling the whole process.
By creating Jazz-format definitions MANASYS can document the data model, and encapsulate rules that are buried in the logic of COBOL programs. You are now well positioned to create web services and apps using it, as in this example. Freed from the restrictions of 3270 screens you can easily exploit the power and flexibility of modern web and app interfaces. Of course, this is not all there is to discovery, but documenting the data model is the place to start, and as a bonus you’ve now created a data model from which many programs can be quickly generated.
To a future programmer, today’s new system will be a legacy system. It helps if you are already familiar with their language of course, but it is the size of programs (lines of code), not their language, that is the most important factor making them easy or difficult to understand. Their quality – are they well-structured and easy to understand? – is also important. Jazz programs are very concise, and clear logic based on data definition is enforced. Generated COBOL is also very clear.
Perhaps the new function requires its own data store, for example it might be replacing old-format mainframe data with a SQL database on a different platform, using some of the old fields but also some new fields and links. Expect a long period where the current and new functions must be run together, and their data coordinated.
Initially current data will be copied and reformatted to provide new-function test data. MANASYS can help with this. Development of the new function continues. In due course we’re ready to implement the new function, replacing the corresponding old function. But the rest of the old system has to continue functioning, and it needs some of the data that will now be updated by the new function! We need to have our new function update old-system data in real time.
Data coordination has just become very challenging! We will need to develop web services, either client-side services that update the mainframe data, or mainframe services that get the data from the new function’s data when they need it. Or both! And we’ll need to develop and deploy these services before we’re completely sure that the new function is truly ready for production. Fortunately, MANASYS simplifies development of both mainframe-side services that clients can invoke, and mainframe programs that invoke client-side services.
MANASYS Jazz is a valuable tool in any mainframe modernization project, even those where the mainframe will eventually disappear. It should be in your modernization toolkit.
See our web page if you want more information about MANASYS Jazz and to see what else it can do. Contact us if you have any questions, or connect with us on LinkedIn. Download a free evaluation copy if you want to try out MANASYS Jazz.