General Navigation Buttons - Home | Search | Contact Us | Site Map | Whats New
products graphic
white space
products
Software Technology Roadmap
What's New
Background & Overview
Technology Descriptions
Defining Software Technology
Technology Categories
Template for Technology Descriptions
Taxonomies
Glossary & Indexes
Feedback & Participation
Software Engineering Information Repository (SEIR)
white space
About SEI|Mgt|Eng|Acq|Collaboration|Prod.& Services|Pubs
pixel
Rollover Popup Hints for Topic Navigation Buttons above
pixel
Black-box Modernization of Information Systems


Status

Draft

Note

We recommend Maintenance of Operational Systems--An Overview as prerequisite reading for this technology description.

Purpose and Origin

The criticality of enterprise information systems (EISs) in today's businesses requires organizations to manage system evolution as business practices change and new information technologies providing competitive advantage become available. EIS evolution becomes more difficult with time as systems are repeatedly modified and become increasingly outdated. Managing the evolution of outdated systems requires periodically modernizing these legacy systems to support evolving business practices and to incorporate modern information technologies.

System evolution is a broad term that covers a continuum, ranging from adding a field in a database to completely re-implementing a system. These system evolution activities can be divided into three categories [Weiderman 97]: maintenance, modernization, and replacement. Figure 1 illustrates how different evolution activities are applied at different phases of the operational system lifecycle. The dotted line represents growing business needs while the solid line represents the functionality provided by the information system. Repeated system maintenance supports the business needs sufficiently for a time, but as the system becomes increasingly outdated, maintenance falls behind the business needs. A modernization effort is then required that represents a greater effort, both in time and functionality, than the maintenance activity. Finally, when the old system can no longer be evolved, it must be replaced.


Figure 1 Information System Lifecycle

This description focuses on one phase in the life of a system: modernization. Modernization involves more extensive changes than maintenance, but conserves a significant portion of the existing system. These changes often include system restructuring, important functional enhancements, or new software attributes. Modernization is used when a legacy system requires more pervasive changes than previously possible during maintenance, but still embodies business value that must be preserved.

Technical Detail

System modernization can be classified by the level of system understanding required to support the modernization effort [Weiderman 97]. Modernization that requires knowledge of the internals of a legacy system is called white-box modernization, while modernization that only requires knowledge of the external interfaces of a legacy system is called black-box modernization. We concentrate on black-box (or non-intrusive) modernization techniques because they provide a useful way to leverage the existing investment in the legacy systems with limited effort.

Black-box modernization technologies possess various goals, strengths, and weaknesses. However, all are based on a similar approach consisting of wrapping the interface exported by the legacy system with a new, more homogeneous and usable interface. Wrapping, or encapsulation, is a technique to remove mismatches between the interface exported by a software artifact and the interfaces required by current integration practices [Weiderman 97]. Enumerated below are several of the most extended, non-intrusive modernization techniques in the market.

Screen scraping

A common technique for user interface (UI) modernization is screen scraping. Screen scraping [Carr 98], as shown in Figure 2, consists of wrapping old, text-based interfaces with new graphical interfaces. The old interface is often a set of text screens running in a terminal. In contrast, the new interface can be a PC-based, graphical user interface (GUI), or even a hypertext markup language (HTML) light client running in a Web browser. This technique can be extended easily, enabling one new UI to wrap a number of legacy systems. The new graphical interface communicates with the old one using a specialized commercial tool.


Figure 2 Legacy System Wrapping Using Screen Scraping

XML Wrapping

The Extensible Markup Language (XML™) is a broadly adopted format for structured documents and data on the Web. XML is a simple and flexible text format derived from standard generalized markup language (SGML) (ISO 8879) and developed by the World Wide Web Consortium® (W3C). XML is expanding from its origin in document processing and becoming a solution for data integration [Karpinski 98].

The keystone in the XML wrapping architecture is the XML server (Figure 3). The XML server acts as the contact point between the corporate infrastructure and the rest of the world. The XML server communicates by various means with the internal infrastructures including Enterprise Resource Planning (ERP) systems, databases, Electronic Data Interchange (EDIs), and other legacy systems. The XML server also interoperates with external organization by exchanging XML messages. There is an active market of solutions for non-intrusive integration of legacy infrastructures into XML servers. In addition, most commercial XML servers support multiple communication protocols enabling cost-effective integration with common legacy applications.


Figure 3 XML Integration

CGI integration

The Common Gateway Interface (CGI) is a standard for interfacing external applications with information servers, such as HTTP or Web servers. Legacy integration using the CGI [Shklar] [Eichman 95] is often used to provide fast Web access to existing assets including mainframes and transaction monitors. As in screen scraping, a new graphical user interface (in this case always HTML pages) is created, but instead of wrapping the old user interface, the new GUI communicates directly with the core business logic or data of the legacy system.

A typical CGI access configuration is shown in Figure 4. A Web server, powered with a CGI extension to access legacy systems, invokes a function in the legacy system and generates HTML pages to be served to remote browsers. Although not depicted in the figure, CGI is used to access legacy data in addition to the logic.


Figure 4 Legacy System Wrapping Using CGI Extensions

Object-Oriented Wrapping

Objects have been used to implement complex software systems successfully. Object-oriented (OO) systems can be designed and implemented in a way that closely resembles the business processes they model [Phoenix Group]. Additionally, the use of abstraction, encapsulation, inheritance, and other object-oriented techniques make object-oriented systems easier to understand.

The conceptual model of object-oriented wrapping is deceptively simple: individual applications are represented as objects; common services are represented as objects; and business data is represented as objects. In reality, object-oriented wrapping is far from simple and involves several tasks including code analysis, decomposition, and abstraction of the OO model. The project ERCOLE (Encapsulation, Reengineering, and Coexistence of Object with Legacy) describes an exemplifying process to wrap legacy applications with OO systems [De Lucia 97].

Usage Considerations

We have presented several techniques to support legacy system modernization. It would be naive to affirm any of these techniques as superior to the others. Each presented technique has strengths, weaknesses, and tradeoffs between cost, flexibility, and other variables. Table 1 summarizes the discussions of each presented technique.

Artifact Modernized
Target
Strengths
Weaknesses

Screen Scraping

Text-based user interface

Graphical or web-based user interface

  • Cost
  • Time to market
  • Internet support
  • Flexibility
  • Limited impact on maintainability

XML Wrapping

Proprietary access protocol

XML server

  • Flexibility
  • Tool support (future)
  • B2B
  • Tool support (present)
  • Evolving technology

CGI Integration

Mainframe Data or TM services

HTML pages

  • Cost
  • Internet support
  • Flexibility
  • Applicability

OO Wrapping

Any Enterprise Resource

OO Model

  • Flexibility
  • Cost

Table 1 Comparison of Integration Techniques

Maturity

Screen scraping, CGI Integration and OO wrapping are mature technologies widely used and with multiple fielded systems. XML wrapping is newer and consequently less mature. However, XML technology is gaining momentum as XML vocabularies emerge in specific business domains such as finance, supply chains and e-commerce. In addition, a growing number of commercial enterprise application solutions are embracing XML.

Dependencies

Screen scraping, XML wrapping, CGI Integration and OO wrapping require some sort of middleware to connect the wrapper with the legacy system and the wrapper with the user entities. In the case of OO wrapping this middleware is often an Object Request Broker like the Common Object Request Broker Architecture (CORBA), or the Component Object Model (COM).

Alternatives

In some occasions, black-box modernization is not viable. This can be the case, for example, when the legacy interface is so cryptic that it cannot be understood without a previous examination of the legacy system internals. In those cases we need a more pervasive, white-box approach. White-box modernization requires an initial reverse engineering process to gain an understanding of the internal system operation. After the code is analyzed and understood, white-box modernization often includes some system or code restructuring.

Replacement (AKA big bang approach or cold turkey) [Bisdal 97] is appropriate for legacy systems that cannot keep pace with business needs and for which any kind of modernization is not possible or cost effective. Replacement is normally used with systems that are undocumented, outdated, or not extensible.

Complementary Technologies

Screen scraping can benefit by using Graphical User Interface Builders to generate the new graphical screens.

When deciding between modernization and system replacement the Maintainability Index Technique can provide insight into how fragile the system has become after repeated modifications.

Index Categories

This technology is classified under the following categories. Select a category for a list of related topics.

Name of technology

Black-box Modernization of Information Systems

Application category

Adaptive Maintenance (AP.1.9.3.2)
Perfective Maintenance (AP 1.9.3.3)

Quality measures category

Maintainability (QM.3.1)
Interoperability (QM.4.1)
Reusability (QM.4.4)

Computing reviews category

Software Engineering Distribution and Maintenance (D.2.7)
Software Engineering Management (D.2.9)

References and Information Sources

[Bisdal 97]

Bisdal, Jesus; Lawless, Deirdre; Wu, Bing; Grimson, Jane; Wade, Vincent; Richardson, Ray; & O'Sullivan, D. An Overview of Legacy Information System Migration, Proceedings of the 4th Asian-Pacific Software Engineering and International Computer Science Conference (APSEC 97, ICSC 97), 1997.

[Carr 98]

Carr, David F. Web-Enabling Legacy Data When Resources Are Tight. Internet World. August 10 1998.

[Comella-Dorda 00]

Comella-Dorda, Santiago; Wallnau, Kurt; Seacord, Robert C.; Robert, John. Survey of Legacy System Modernization Approaches, A (CMU/SEI-00-TR-003). Pittsburgh, Pa.: Software Engineering Institute, Carnegie Mellon University [online]. Available WWW: URL: http://www.sei.cmu.edu/publications/documents/
00.reports/00tn003.html (2000).

[De Lucia 97]

De Lucia, A.; Di Lucca, G.A.; Fasolino, A.R.; Guerra, P.; & Petruzzelli, S. Migrating Legacy Systems towards Object-Oriented Platforms, International Conference of Software Maintenance (ICSM97), 1997.

[Eichman 95]

David Eichmann. Application Architectures for Web-Based Data Access [online]. Available WWW: URL: http://www.cs.rutgers.edu/~shklar/www4/eichmann.html

[Karpinski 98]

Karpinski, Richard. Databases, Tools Push XML Into Enterprise. Internet Week Online. Available WWW URL: http://www.internetwk.com/news1198/news111698-3.htm (November 1998).

[Phoenix Group 97]

Phoenix Group. Legacy Systems Wrapping with Objects [online]. Available WWW URL: http://www.phxgrp.com/jodewp.htm.

[Shklar]

Shklar, Leon. Web Access to Legacy Data [online]. Available WWW: URL: http://athos.rutgers.edu/~shklar/web-legacy/summary.html.

[Weiderman 97]

Weiderman, Nelson; Northrop, Linda; Smith, Dennis; Tilley, Scott; & Wallnau, Kurt; Implications of Distributed Object Technology for Reengineering (CMU/SEI-97-TR-005 ADA326945). Pittsburgh, Pa.: Software Engineering Institute, Carnegie Mellon University, [online]. Available WWW URL: http://www.sei.cmu.edu/publications/documents/
97.reports/97tr005/97tr005abstract.html (1997).

Current Author/Maintainer

Santiago Comella-Dorda, SEI

External Reviewers

Robert C. Seacord, SEI

Modifications

20 Mar 2001: Original



The Software Engineering Institute (SEI) is a federally funded research and development center sponsored by the U.S. Department of Defense and operated by Carnegie Mellon University.

Copyright 2007 by Carnegie Mellon University
Terms of Use
URL: http://www.sei.cmu.edu/str/descriptions/blackbox_body.html
Last Modified: 11 January 2007