Reengineering and Wrapping Legacy Modules for Reuse as Web Services
This chapter deals with how this reengineering can be done. The goal is to make modular, flexible, and independent Web services from the monolithic, rigid, and dependent legacy modules. The methods used to achieve this goal are static analysis, code restructuring, code stripping, code transformation, and code wrapping. The legacy code can be either left in a procedural form in the original language or translated to an object-oriented architecture in the Java language. The result is in both cases an independent, wrapped service with a standard WSDL interface and a separate database access shell. All of the steps of the migration process are supported by automated tools. The wrapped services are available to all applications capable of sending and receiving SOAP messages. The automated process described here has been successfully applied in three industrial migration projects. The experience gained in those projects is discussed at the end of the chapter.