Reengineering and Wrapping Legacy Modules for Reuse as Web Services: Motivation, Method, Tools, and Case Studies

Reengineering and Wrapping Legacy Modules for Reuse as Web Services: Motivation, Method, Tools, and Case Studies

Harry M. Sneed (ANECON GmbH, Austria)
DOI: 10.4018/978-1-4666-2488-7.ch004

Abstract

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.
Chapter Preview
Top

Introduction

There are many reasons for users to want to migrate to a service-oriented architecture. There are both business and technical reasons. The business reasons are among others:

  • 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.

In short, the business goal is to provide more business functionality in shorter time with fewer costs.

The technical reasons for migrating are among other:

  • To reduce the complexity of the existing IT-landscape,

  • To eliminate the many redundancies associated with a silo-type software architecture,

  • To reduce the amount of software which has to be maintained,

  • To unify the diverse software solutions in a common architectural mode.

In short, the technical goal is to simplify and unify the user’s software base, thus reducing the costs of maintaining it.

Complete Chapter List

Search this Book:
Reset