Why re-engineering is needed: In almost every IT-user shop where a mainframe computer is still in operation, there are hundreds if not thousands of legacy code modules with several million lines of code. Most of them are written in COBOL, but also many in PL/I and 4GL languages like Natural and PowerBuilder.
Some are running online in dialog mode while others run in batch mode as background jobs. Many of these users would now like to migrate to a service-oriented architecture using the mainframe as a hub where a wide assortment of Web services are available to the client business units to be built into their new business processes.
However, they are inhibited in doing so by the high costs of such a migration. The biggest costs lie in developing the Web services from scratch or adapting those that can be found on the market.
Reasons to go for re-engineering
- To become faster and more flexible in responding to user requirements
- To give the users a wide range selection of ready-made services
- To unify common business functionality
- To cut the costs of maintaining an oversized software base
How many ways we can re-engineer Legacy Applications
- One is to purchase a standard set of Web services from a software vendor and to adapt their business processes to them. This requires them to give up much of their local rules and specific business logic. They can customize the overall processes, but they have to accept the detailed data and algorithms provided by the vendor.
- Web services from the open source community and to modify them to fit his needs. This give him the possibility of inserting his own rules and detailed logic, but it requires him to have specialists who can work with the open source. If such specialists are not available, this approach can become very expensive depending on the degree of change.
- A third option for users is to develop their own Web services. To do that the user must start with an analysis of his requirements and identify each and every Web service he will need in his planned business processes. Once he has identified them, he can begin to develop them, for instance by an agile development process.
- A fourth option is to reuse the existing legacy systems or, at least, parts of them as the building stones of the new SOA architecture. The advantage of this approach is that it is quicker and cheaper. The wrapping of a module requires no more than one person day.
Ref:IBM redbooks migration