Encapsulating windows-based software applications into reusable components with design patterns

Abstract Reusing software by integrating Commercial Off-The-Shelf (COTS) applications into a software system is maturing in practice. Our previous work [1] presented a component wrapping approach to convert Windows-based COTS applications into CORBA objects. A formal and generalized representation of the conversion process for a Windows-based COTS application into a reusable software component would be useful and desirable for applying such software reuse to COTS-based system development. This study addresses a pattern-based representation of our experience. The patterns in this study offer clear documentation and sufficient information for a software developer to develop a COTS-based software system rapidly. An example system, Graphic Mechanical Part Management System (GMPMS) assembling two COTS applications under MS-DOS and MS-Windows 2000/XP, respectively, is also developed in this study to reveal how the patterns are utilized.

[1]  Isaac Lopez,et al.  Migrating legacy scientific applications towards CORBA‐based client–server architectures , 2001, Softw. Pract. Exp..

[2]  Hewijin Christine Jiau,et al.  Constructing COTS-based software components with reusing COTS products , 2000, Proceedings International Symposium on Multimedia Software Engineering.

[3]  Hewijin Christine Jiau,et al.  Reengineering windows software applications into reusable CORBA objects , 2004, Inf. Softw. Technol..

[4]  Arun Lakhotia,et al.  A Unified Framework For Expressing Software Subsystem Classification Techniques , 1997, J. Syst. Softw..

[5]  Gerardo Canfora,et al.  An improved algorithm for identifying objects in code , 1996 .

[6]  Shang-Rong Tsai,et al.  Integrating existing software packages using the virtual machine technique , 1992, J. Syst. Softw..

[7]  Doris L. Carver,et al.  Reengineering legacy systems for distributed environments , 2002, J. Syst. Softw..

[8]  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).

[9]  Doris L. Carver,et al.  Evolutionary migration of legacy systems to an object-based distributed environment , 1999, Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360).

[10]  Douglas C. Schmidt Wrapper facade: a structural pattern for encapsulated functions within classes , 1999 .

[11]  Aniello Cimitile,et al.  Migrating legacy systems to the Web: an experience report , 2001, Proceedings Fifth European Conference on Software Maintenance and Reengineering.

[12]  Aniello Cimitile,et al.  Incremental migration strategies: data flow analysis for wrapping , 1998, Proceedings Fifth Working Conference on Reverse Engineering (Cat. No.98TB100261).

[13]  Peter Sommerlad,et al.  Pattern-Oriented Software Architecture , 1996 .

[14]  Diomidis Spinellis,et al.  Component mining: a process and its pattern language , 2000, Inf. Softw. Technol..

[15]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[16]  Harry M. Sneed,et al.  Creating Web services from legacy host programs , 2003, Fifth IEEE International Workshop on Web Site Evolution, 2003. Theme: Architecture. Proceedings..

[17]  Jim-Min Lin,et al.  Cross-platform software reuse by functional integration approach , 1997, Proceedings Twenty-First Annual International Computer Software and Applications Conference (COMPSAC'97).

[18]  Aniello Cimitile,et al.  Decomposing legacy systems into objects: an eclectic approach , 2001, Inf. Softw. Technol..

[19]  Michael Stonebraker,et al.  Migrating Legacy Systems: Gateways, Interfaces, and the Incremental Approach , 1995 .

[20]  Uwe Zdun,et al.  Piecemeal legacy migrating with an architectural pattern language: a case study , 2002, J. Softw. Maintenance Res. Pract..

[21]  Doris L. Carver,et al.  Mapping Object-Oriented Systems to Distributed Systems Using Data Mining Techniques , 2000, IEA/AIE.

[22]  Aniello Cimitile,et al.  An Extensible System for Source Code Analysis , 1998, IEEE Trans. Software Eng..

[23]  Harry M. Sneed,et al.  A case study in software wrapping , 1998, Proceedings. International Conference on Software Maintenance (Cat. No. 98CB36272).

[24]  Rod A. Fatoohi,et al.  Migration of DCE applications into CORBA and SOAP environments , 2003, Softw. Pract. Exp..

[25]  Harry M. Sneed The rationale for software wrapping , 1997, 1997 Proceedings International Conference on Software Maintenance.