Wrapping legacy systems for use in heterogeneous computing environments

Abstract With the advent and widespread use of object-oriented and client–server technologies, companies expect their legacy systems, developed for the centralized environment, to take advantage of these new technologies and also cooperate with their heterogeneous environments. An alternative to migrating legacy systems from the mainframe to a user-centered, distributed object computing, and client–server platform is to wrap the legacy systems on the mainframe and expose the interfaces of the legacy systems to the remote clients. The enabling middleware technologies such as Common Object Request Broker Architecture (CORBA), Component Object Model/Distributed Component Object Model (COM/DCOM), and Java RMI make the migration of the legacy systems to a heterogeneous distributed computing environment possible. In this paper, we present an approach and practical experience for integrating the legacy systems to a heterogeneous distributed computing environment by adopting the CORBA technology. It has been reported quite often that an approach like this will improve system maintainability, portability, and interoperability. We also illustrate this approach with an industrial project. The project is viewed as a reengineering effort where a centralized reengineering system is wrapped to operate in a heterogeneous distributed computing environment by leveraging CORBA technology. The reengineering approach is a combination of redesign and simple facelift. The resulting legacy integration architecture through the application of the approach is evaluated using the equality attributes proposed by Bass, Clements, and Kazman.

[1]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[2]  Wojtek Kozaczynski,et al.  Automated support for legacy code understanding , 1994, CACM.

[3]  Mario Iona Remember properties of conic sections , 2001 .

[4]  Peter H. Aiken,et al.  DoD legacy systems: reverse engineering data requirements , 1994, CACM.

[5]  Aniello Cimitile,et al.  Decomposing legacy programs: a first step towards migrating to client-server platforms , 1998, Proceedings. 6th International Workshop on Program Comprehension. IWPC'98 (Cat. No.98TB100242).

[6]  Dan Harkey,et al.  Instant CORBA , 1997 .

[7]  Raghu V. Hudli,et al.  CORBA fundamentals and programming , 1996 .

[8]  Ron Ben-Natan,et al.  CORBA - a guide to common object request broker architecture , 1995, J. Ranade Workstation series.

[9]  Lawrence Markosian,et al.  Using an enabling technology to reengineer legacy systems , 1994, CACM.

[10]  Dale Rogerson,et al.  Inside COM , 1997 .

[11]  Matjaz B. Juric,et al.  Performance comparison of CORBA and RMI , 2000, Inf. Softw. Technol..

[12]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

[13]  Marshall Brain,et al.  Understanding DCOM , 1998 .

[14]  Peter Fingar,et al.  Next generation computing - distributed objects for business , 1996 .

[15]  Aniello Cimitile,et al.  Decomposing legacy programs: a first step towards migrating to client-server platforms , 2000, J. Syst. Softw..

[16]  Robert S. Arnold Software Reengineering , 1993 .

[17]  Rosemary Rock-Evans DCOM Explained , 1998 .

[18]  Hall Chapman,et al.  Software Reuse and Reverse Engineering in Practice , 1992 .

[19]  Giuseppe A. Di Lucca,et al.  Migrating legacy systems towards object-oriented platforms , 1997, 1997 Proceedings International Conference on Software Maintenance.

[20]  James Coplien,et al.  Advanced C++ Programming Styles and Idioms , 1991, Proceedings. Technology of Object-Oriented Languages and Systems, TOOLS 25 (Cat. No.97TB100239).