Legacy system
Encyclopedia
A legacy system is an old method, technology
Technology
Technology is the making, usage, and knowledge of tools, machines, techniques, crafts, systems or methods of organization in order to solve a problem or perform a specific function. It can also refer to the collection of such tools, machinery, and procedures. The word technology comes ;...

, computer system, or application program that continues to be used, typically because it still functions for the users' needs, even though newer technology or more efficient methods of performing a task are now available. A legacy system may include procedures or terminology which are no longer relevant in the current context, and may hinder or confuse understanding of the methods or technologies used.

The term "legacy" may have little to do with the size or age of the system — mainframes
Mainframe computer
Mainframes are powerful computers used primarily by corporate and governmental organizations for critical applications, bulk data processing such as census, industry and consumer statistics, enterprise resource planning, and financial transaction processing.The term originally referred to the...

 run 64-bit Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

 and Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

 alongside 1960s vintage code.

Although the term is most commonly used to describe computers and software, it may also be used to describe human behaviors, methods, and tools. For example, timber framing
Timber framing
Timber framing , or half-timbering, also called in North America "post-and-beam" construction, is the method of creating structures using heavy squared off and carefully fitted and joined timbers with joints secured by large wooden pegs . It is commonplace in large barns...

 using wattle and daub
Wattle and daub
Wattle and daub is a composite building material used for making walls, in which a woven lattice of wooden strips called wattle is daubed with a sticky material usually made of some combination of wet soil, clay, sand, animal dung and straw...

 is a legacy building construction method.

Overview

Organizations can have compelling reasons for keeping a legacy system, such as:
  • The system works satisfactorily, and the owner sees no reason for changing it.
  • The costs of redesigning or replacing the system are prohibitive because it is large, monolithic
    Monolithic system
    Monolithic system can have different meanings in the contexts of computer software and hardware.-In software:A software system is called "monolithic" if it has a monolithic architecture, in which functionally distinguishable aspects , are not architecturally separate components but are...

    , and/or complex.
  • Retraining on a new system would be costly in lost time and money, compared to the anticipated appreciable benefits of replacing it (which may be zero).
  • The system requires near-constant availability
    Availability
    In telecommunications and reliability theory, the term availability has the following meanings:* The degree to which a system, subsystem, or equipment is in a specified operable and committable state at the start of a mission, when the mission is called for at an unknown, i.e., a random, time...

    , so it cannot be taken out of service, and the cost of designing a new system with a similar availability level is high. Examples include systems to handle customers' accounts in bank
    Bank
    A bank is a financial institution that serves as a financial intermediary. The term "bank" may refer to one of several related types of entities:...

    s, computer reservation systems, air traffic control
    Air traffic control
    Air traffic control is a service provided by ground-based controllers who direct aircraft on the ground and in the air. The primary purpose of ATC systems worldwide is to separate aircraft to prevent collisions, to organize and expedite the flow of traffic, and to provide information and other...

    , energy distribution (power grids), nuclear power plant
    Nuclear power plant
    A nuclear power plant is a thermal power station in which the heat source is one or more nuclear reactors. As in a conventional thermal power station the heat is used to generate steam which drives a steam turbine connected to a generator which produces electricity.Nuclear power plants are usually...

    s, military defense installations, and systems such as the TOPS
    TOPS
    Total Operations Processing System, or TOPS, is a computer system for managing the locomotives and rolling stock owned by a rail system...

     database.
  • The way that the system works is not well understood. Such a situation can occur when the designers of the system have left the organization, and the system has either not been fully documented or documentation has been lost.
  • The user expects that the system can easily be replaced when this becomes necessary.

NASA example

NASA's Space Shuttle
Space Shuttle
The Space Shuttle was a manned orbital rocket and spacecraft system operated by NASA on 135 missions from 1981 to 2011. The system combined rocket launch, orbital spacecraft, and re-entry spaceplane with modular add-ons...

 program still uses a large amount of 1970s-era technology. Replacement is cost-prohibitive because of the expensive requirement for flight certification; the legacy hardware currently being used has completed the expensive integration and certification requirement for flight, but any new equipment would have to go through that entire process – requiring extensive tests of the new components in their new configurations – before a single unit could be used in the Space Shuttle program. This would make any new system that started the certification process a de facto
De facto
De facto is a Latin expression that means "concerning fact." In law, it often means "in practice but not necessarily ordained by law" or "in practice or actuality, but not officially established." It is commonly used in contrast to de jure when referring to matters of law, governance, or...

legacy system by the time of completion.

Additionally, because the entire Space Shuttle system, including ground and launch vehicle assets, was designed to work together as a closed system, and the specifications have not changed, all of the certified systems and components still serve well in the roles for which they were designed. It was advantageous for NASA – even before the Shuttle was scheduled to be retired in 2010 – to keep using many pieces of 1970s technology rather than to upgrade those systems.

Potential problems

Legacy systems are considered to be potentially problematic by many software engineers for several reasons (for example, see Bisbal et al., 1999).
  • Legacy systems often run on obsolete (and usually slow) hardware, and spare parts for such computers may become increasingly difficult to obtain.
  • If legacy software runs on only antiquated hardware
    Computer hardware
    Personal computer hardware are component devices which are typically installed into or peripheral to a computer case to create a personal computer upon which system software is installed including a firmware interface such as a BIOS and an operating system which supports application software that...

    , the cost of maintaining the system may eventually outweigh the cost of replacing both the software and hardware unless some form of emulation
    Emulator
    In computing, an emulator is hardware or software or both that duplicates the functions of a first computer system in a different second computer system, so that the behavior of the second system closely resembles the behavior of the first system...

     or backward compatibility
    Backward compatibility
    In the context of telecommunications and computing, a device or technology is said to be backward or downward compatible if it can work with input generated by an older device...

     allows the software to run on new hardware.
  • These systems can be hard to maintain, improve, and expand because there is a general lack of understanding of the system; the staff who were experts on it have retired or forgotten what they knew about it, and staff who entered the field after it became "legacy" never learned about it in the first place. This can be worsened by lack or loss of documentation. A regional airline
    Regional airline
    Regional airlines are airlines that operate regional aircraft to provide passenger air service to communities without sufficient demand to attract mainline service...

     fired its CEO in 2004 due to the failure of an antiquated legacy crew scheduling system that ran into a limitation not known to anyone in the company.
  • Legacy systems may have vulnerabilities in older operating systems or applications due to lack of security patches being available or applied. There can also be production configurations that cause security problems. These issues can put the legacy system at risk of being compromised by attackers or knowledgeable insiders.
  • Integration with newer systems may also be difficult because new software may use completely different technologies. The kind of bridge hardware and software that becomes available for different technologies that are popular at the same time are often not developed for differing technologies in different times, because of the lack of a large demand for it and the lack of associated reward of a large market economies of scale, though some of this "glue" does get developed by vendors and enthusiasts of particular legacy technologies (often called "retrocomputing" communities).

Integration with newer systems may also be difficult

Improvements on legacy software systems

Where it is impossible to replace legacy systems through the practice of application retirement
Application retirement
Application retirement is the practice of shutting down redundant or obsolete business applications while retaining access to the historical data. Legacy applications are often maintained solely to provide infrequent or sporadic access to the data within the application database for regulatory or...

, it is still possible to enhance them. Most development often goes into adding new interfaces to a legacy system. The most prominent technique is to provide a Web-based interface to a terminal-based mainframe application. This may reduce staff productivity due to slower response times and slower mouse-based operator actions, yet it is often seen as an "upgrade", because the interface style is familiar to unskilled users and is easy for them to use. John McCormick discusses such strategies that involve middleware
Middleware
Middleware is computer software that connects software components or people and their applications. The software consists of a set of services that allows multiple processes running on one or more machines to interact...

.

Printing improvements are problematic because legacy software systems often add no formatting instructions, or they use protocols that are not usable in modern PC/Windows printers. A print server can be used to intercept the data and translate it to a more modern code. Rich Text Format (RTF)
Rich Text Format
The Rich Text Format is a proprietary document file format with published specification developed by Microsoft Corporation since 1987 for Microsoft products and for cross-platform document interchange....

 or PostScript
PostScript
PostScript is a dynamically typed concatenative programming language created by John Warnock and Charles Geschke in 1982. It is best known for its use as a page description language in the electronic and desktop publishing areas. Adobe PostScript 3 is also the worldwide printing and imaging...

 documents may be created in the legacy application and then interpreted at a PC before being printed.

Biometric security measures are difficult to implement on legacy systems. A workable solution is to use a telnet
TELNET
Telnet is a network protocol used on the Internet or local area networks to provide a bidirectional interactive text-oriented communications facility using a virtual terminal connection...

 or http proxy server to sit between users and the mainframe to implement secure access to the legacy application.

The change being undertaken in some organizations is to switch to Automated Business Process
Automated business process
Many computer systems are available in the commercial marketplace that address the various aspects of Business Process Management. Most address one specific set of functionality; for instance, some allow the processes to be mapped and documented ; others allow for simulations to take place...

 (ABP) software which generates complete systems. These systems can then interface to the organizations' legacy systems and use them as data repositories. This approach can provide a number of significant benefits: the users are insulated from the inefficiencies of their legacy systems, and the changes can be incorporated quickly and easily in the ABP software .

Legacy support

The term legacy support is often used with reference to obsolete or legacy computer hardware, whether peripheral
Peripheral
A peripheral is a device attached to a host computer, but not part of it, and is more or less dependent on the host. It expands the host's capabilities, but does not form part of the core computer architecture....

s or core components. Operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

s with "legacy support" can detect and use legacy hardware.

It is also used as a verb for what vendors do for products in legacy mode – they "support", or provide software maintenance
Software maintenance
Software Maintenance in software engineering is the modification of a software product after delivery to correct faults, to improve performance or other attributes....

, for older products. A "legacy" product may have some advantage over a modern product, even if not one that causes a majority of the market to favor it over the newer offering. A product is only truly "obsolete" if it has an advantage to nobody
Pareto efficiency
Pareto efficiency, or Pareto optimality, is a concept in economics with applications in engineering and social sciences. The term is named after Vilfredo Pareto, an Italian economist who used the concept in his studies of economic efficiency and income distribution.Given an initial allocation of...

 – if no person making a rational decision would choose to acquire it new.

In some cases, "legacy mode" refers more specifically to backward compatibility
Backward compatibility
In the context of telecommunications and computing, a device or technology is said to be backward or downward compatible if it can work with input generated by an older device...

.

The computer mainframe
Mainframe computer
Mainframes are powerful computers used primarily by corporate and governmental organizations for critical applications, bulk data processing such as census, industry and consumer statistics, enterprise resource planning, and financial transaction processing.The term originally referred to the...

 era saw many applications running in legacy mode. In the modern business computing environment, n-tier, or 3-tier architectures
Computer architecture
In computer science and engineering, computer architecture is the practical art of selecting and interconnecting hardware components to create computers that meet functional, performance and cost goals and the formal modelling of those systems....

 are more difficult to place into legacy mode as they include many components making up a single system. Government regulatory changes must also be considered in a system running in legacy mode.

Virtualization
Virtual machine
A virtual machine is a "completely isolated guest operating system installation within a normal host operating system". Modern virtual machines are implemented with either software emulation or hardware virtualization or both together.-VM Definitions:A virtual machine is a software...

 technology allows for a resurgence of modern software applications entering legacy mode.

Brownfield architecture

IT has borrowed the term brownfield
Brownfield land
Brownfield sites are abandoned or underused industrial and commercial facilities available for re-use. Expansion or redevelopment of such a facility may be complicated by real or perceived environmental contaminations. Cf. Waste...

 from the building industry, where undeveloped land (and especially unpolluted land) is described as greenfield
Greenfield
-Engineering:* Greenfield land, a piece of undeveloped land * One of several related terms:* Greenfield project, a project which lacks any constraints imposed by prior work...

and previously developed land – which is often polluted and abandoned – is described as brownfield.
  • A brownfield architecture is an IT network design that incorporates legacy systems.
  • A brownfield deployment is an upgrade or addition to an existing IT network and uses some legacy components.

Alternative view

There is an alternate point of view — growing since the "Dot Com" bubble burst in 1999 — that legacy systems are simply computer systems that are both installed and working. In other words, the term is not pejorative, but the opposite. Bjarne Stroustrup
Bjarne Stroustrup
Bjarne Stroustrup ; born December 30, 1950 in Århus, Denmark) is a Danish computer scientist, most notable for the creation and the development of the widely used C++ programming language...

, creator of the C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...

 language, addressed this issue succinctly:
IT analysts estimate that the cost to replace business logic is about five times that of reuse, and that's not counting the risks involved in wholesale replacement. Ideally, businesses would never have to rewrite
Rewrite (programming)
A rewrite in computer programming is the act or result of re-implementing a large portion of existing functionality without re-use of its source code. When the rewrite is not using existing code at all, it is common to speak of a rewrite from scratch...

 most core business logic; debits must equal credits — they always have, and they always will. New software may increase the risk of system failures and security breaches.

The IT industry is responding to these concerns. "Legacy modernization" and "legacy transformation" refer to the act of reusing and refactoring existing, core business logic by providing new user interfaces (typically Web interfaces), sometimes through the use of techniques such as screen scraping and service-enabled access (e.g., through Web services). These techniques allow organisations to understand their existing code assets (using discovery tools), provide new user and application interfaces to existing code, improve workflow, contain costs, minimize risk, and enjoy classic qualities of service (near 100% uptime, security, scalability, etc.).

The reexamination of attitudes toward legacy systems is also inviting more reflection on what makes legacy systems as durable as they are. Technologists are relearning the fact that sound architecture
Computer architecture
In computer science and engineering, computer architecture is the practical art of selecting and interconnecting hardware components to create computers that meet functional, performance and cost goals and the formal modelling of those systems....

, practiced up front, helps businesses avoid costly and risky rewrites in the first place. The most common legacy systems tend to be those which embraced well-known IT architectural principles, with careful planning and strict methodology during implementation. Poorly designed systems often don't last, both because they wear out and because their reliability or usability are low enough that no one is inclined to make an effort to extend their term of service when replacement is an option. Thus, many organizations are rediscovering the value of both their legacy systems themselves and those systems' philosophical underpinnings.

Euphemism

Legacy system is also used as a euphemism for an old body of code, working or not. The word "legacy" implies that the system is a thing of value, even if it provides more cost than benefit, and helps to justify not replacing or discarding it.

See also

  • Data migration
    Data migration
    Data migration is the process of transferring data between storage types, formats, or computer systems. Data migration is usually performed programmatically to achieve an automated migration, freeing up human resources from tedious tasks...

  • Legacy code
    Legacy code
    Legacy code is source code that related to a no-longer supported or manufactured operating system or other computer technology. The term can also mean code inserted into modern software for the purpose of maintaining an older or previously supported feature — for example supporting a serial...

  • Legacy encoding
  • Legacy port
    Legacy port
    A legacy port is a computer port or connector that is considered fully or partially superseded. The replacement ports usually provide the functionality of the legacy ports with higher speeds, more compact design, or plug and play and hot swap for greater ease of use; special USB adapters are often...

  • Software archaeology
    Software archaeology
    Software archaeology or software archeology is the study of poorly documented or undocumented legacy software implementations, as part of software maintenance...

  • Software brittleness
    Software brittleness
    In computer programming and software engineering, the term software brittleness refers to the increased difficulty in fixing older software that may appear reliable, but fails badly when presented with unusual data or altered in a seemingly minor way...

  • Stovepipe system
    Stovepipe system
    In engineering and computing, a stovepipe system is a system that is an assemblage of inter-related elements that are so tightly bound together that the individual elements cannot be differentiated, upgraded or refactored. The stovepipe system must be maintained until it can be entirely replaced by...

  • Application retirement
    Application retirement
    Application retirement is the practice of shutting down redundant or obsolete business applications while retaining access to the historical data. Legacy applications are often maintained solely to provide infrequent or sporadic access to the data within the application database for regulatory or...


Further reading


The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK