|
Draft
We recommend Maintenance
of Operational Systems--An Overview as prerequisite
reading for this technology description.
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.
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].
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
|
|
- Flexibility
- Applicability
|
|
OO Wrapping
|
Any Enterprise Resource
|
OO Model
|
|
|
Table 1 Comparison of Integration
Techniques
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.
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).
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.
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.
This technology is classified under the following categories.
Select a category for a list of related topics.
|
[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).
|
Santiago Comella-Dorda, SEI
Robert C. Seacord, SEI
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
|