Information about Legacy System

A legacy system is an old computer system or application program which continues to be used because the user (typically an organisation) does not want to replace or redesign it.

Overview

Legacy systems are considered to be potentially problematic by many software engineers (for example, see Bisbal et al., 1999) for several reasons. Legacy systems often run on obsolete (and usually slow) hardware, and sometimes spare parts for such computers become increasingly difficult to obtain. These systems are often hard to maintain, improve, and expand because there is a general lack of understanding of the system. The designers of the system may have left the organisation, leaving no one left to explain how it works. Such a lack of understanding can be exacerbated by inadequate documentation or manuals getting lost over the years. Integration with newer systems may also be difficult because new software may use completely different technologies.

Despite these problems, organisations can have compelling reasons for keeping a legacy system, such as:
  • The costs of redesigning the system are prohibitive because it is large, monolithic, and/or complex.
  • The system requires close to 100% availability, so it cannot be taken out of service, and the cost of designing a new system with a similar availability level is high.
  • The way the system works is not well understood. Such a situation can occur when the designers of the system have left the organisation, and the system has either not been fully documented or such documentation has been lost.
  • The user expects that the system can easily be replaced when this becomes necessary.
  • The system works satisfactorily, and the owner sees no reason for changing it – or in other words, re-learning a new system would have a prohibitive attendant cost in lost time and money. A.K.A: If it isn't broken don't fix it.
If legacy software runs on only antiquated hardware, the cost of maintaining the system may eventually outweigh the cost of replacing both the software and hardware unless some form of emulation or backward compatibility allows the software to run on new hardware. However, many of these systems do still meet the basic needs of the organisation. The systems to handle customers' accounts in banks are one example. Therefore the organisation cannot afford to stop them and yet some cannot afford to update them.

A demand of extremely high availability is commonly the case in computer reservation systems, air traffic control, energy distribution (power grids), nuclear power plants, military defence installations, and other systems critical to safety, security, traffic throughput, and/or economic profits. For example see the TOPS database system.

The change being undertaken in some organisations is to switch to Automated Business Process (ABP) software which generates complete systems. These systems can then interface to the organisations' 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. (At least, that's the intention.)

Note that "legacy" has little to do with the size or even age of the system — mainframes run 64-bit Linux and Java, after all, right alongside 1960s vintage code. In fact, some of the thorniest legacy problems organisations now face are in trying to leverage or replace existing "fat client" Visual Basic code as customers demand reliable Web access.

Legacy support

The term legacy support is often used with reference to obsolete or "legacy" computer hardware, whether peripherals or core components. Operating systems 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, for obsolete or "legacy" products.

In some cases, "legacy mode" refers more specifically to backward compatibility.

The computer mainframe era saw many applications running in legacy mode. In the modern business computing environment, n-tier, or 3-tier architectures 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 technology allows for a resurgence of modern software applications entering legacy mode. As system complexity and software costs increase, many computing users are keeping their current systems permanently in legacy mode.

Alternative view

There is an alternate point of view — growing since the "Dot Com" bubble burst in 1999 — that legacy systems are simply (and only) computer systems that are both installed and working. In other words, the term is not at all pejorative — quite the opposite. Perhaps the term "legacy" is only an effort by computer industry salesmen to generate artificial churn in order to encourage purchase of unneeded technology. Bjarne Stroustrup, creator of the C++ 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. Shareholders and managers are increasingly asking, "Why are we spending so much money on new technology with so little to show for it?" Ideally businesses would never have to rewrite most core business logic. After all, debits must equal credits — they always have, and they always will. Businesses and governments are also recoiling at well-publicized system failures and security breaches that all too commonly arrive with new software — failures which are utterly catastrophic in many cases. (A regional airline fired its CEO due to the failure of an antiquated legacy crew scheduling system during Christmas, 2004, for example.[1]) There's also a growing backlash against large, packaged software products (SAP, Oracle, PeopleSoft, and others) which were oversold and in some cases have proven too costly, inflexible, and poorly matched to business needs.

Increasingly the IT industry is responding to these understandable business concerns. "Legacy modernization" and "legacy transformation" are now popular terms, and they mean reusing and refactoring existing, core business logic by providing new user interfaces (typically Web interfaces) 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.). Technology companies involved in "enterprise transformation" are growing and profiting by what many people feel is a more rational approach toward legacy systems.

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, 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. Thus, many organisations are rediscovering not only the value in the legacy systems themselves but also their philosophical underpinnings.

References

Further reading

See also

This article was originally based on material from the Free On-line Dictionary of Computing, which is licensed under the GFDL.
computer is a machine which manipulates data according to a list of instructions.

Computers take numerous physical forms. The first devices that resemble modern computers date to the mid-20th century (around 1940 - 1941), although the computer concept and various machines
..... Click the link for more information.
Application software is a subclass of computer software that employs the capabilities of a computer directly and thoroughly to a task that the user wishes to perform. This should be contrasted with system software which is involved in integrating a computer's various capabilities,
..... Click the link for more information.
A monolithic architecture is where processing, data and the user interface all reside on the same system .

Mainframe computers used a monolithic architecture with considerable success.
..... Click the link for more information.
availability has the following meanings:

1. The degree to which a system, subsystem, or equipment is operable and in a committable state at the start of a mission, when the mission is called for at an unknown, i.e., a random, time.
..... Click the link for more information.
Computer software is a general term used to describe a collection of computer programs, procedures and documentation that perform some task on a computer system. [1]
..... Click the link for more information.
Computer hardware is the physical part of a computer, including the digital circuitry, as distinguished from the computer software that executes within the hardware. The hardware of a computer is infrequently changed, in comparison with software and data, which are "soft" in the
..... Click the link for more information.
emulator duplicates (provides an emulation of) the functions of one system with a different system, so that the second system behaves like (and appears to be) the first system.
..... Click the link for more information.
In technology, especially computing (irrespective of platform), a product is said to be backward compatible (or downward compatible) when it is able to take the place of an older product, by interoperating with other products that were designed for the older product.
..... Click the link for more information.
bank is a commercial or state institution that provides financial services , including issuing money in various forms, receiving deposits of money, lending money and processing transactions and the creating of credit.
..... Click the link for more information.
This article or section needs copy editing for grammar, style, cohesion, tone and/or spelling.
You can assist by [ editing it] now. A how-to guide is available, as is general .
This article has been tagged since February 2007.
..... Click the link for more information.
Air traffic control (ATC) is a service provided by ground-based controllers who direct aircraft on the ground and in the air. A controller's primary task is to separate
..... Click the link for more information.
Electric power transmission, a process in the delivery of electricity to consumers, is the bulk transfer of electrical power. Typically, power transmission is between the power plant and a substation near a populated area.
..... Click the link for more information.
Nuclear power is a type of nuclear technology involving the controlled use of nuclear fission to release energy for work including propulsion, heat, and the generation of electricity.
..... Click the link for more information.
This article is about the railroad stock management system TOPS. For other uses of TOPS or Tops, see TOPS (disambiguation).


The Total Operations Processing System, better known by its initials TOPS
..... Click the link for more information.
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 (see Business Process Mapping) and documented (such as
..... Click the link for more information.
A repository is a place where data is stored and maintained. A repository can be
  • a place where data is stored
  • a place where specifically digital data is stored
  • a site where eprints are located

..... Click the link for more information.
Mainframes (often colloquially referred to as Big Iron) are computers used mainly by large organizations for critical applications, typically bulk data processing such as census, industry and consumer statistics, ERP, and financial transaction processing.
..... Click the link for more information.
Linux (pronunciation: IPA: /ˈlɪnʊks/, lin-uks) is a Unix-like computer operating system. Linux is one of the most prominent examples of free software and open source development; its underlying source code can be
..... Click the link for more information.
Java

Paradigm: Object-oriented, structured, imperative
Appeared in: 1995
Designed by: Sun Microsystems
Typing discipline: Static, strong, safe, nominative
Major implementations: Numerous
Influenced by: Objective-C, C++, Smalltalk, Eiffel,[1]
..... Click the link for more information.
A fat client is a computer (client) in client-server architecture networks which typically provides rich functionality independently of the central server. Originally just a "client", or "thick-client" in the early days of PC based computing, the word "fat" is in opposition to the
..... Click the link for more information.
Visual Basic

Paradigm: Event-driven
Developer: Microsoft
Typing discipline: Static, strong
Influenced by: QuickBASIC
Influenced: Visual Basic .NET
OS: Microsoft Windows

Visual Basic (VB
..... Click the link for more information.
peripheral is a piece of computer hardware that is added to a host computer ,i.e any hardware except the computer, in order to expand its abilities. More specifically, the term is used to describe those devices that are optional in nature, as opposed to hardware that is either
..... Click the link for more information.
An operating system (OS) is the software that manages the sharing of the resources of a computer. An operating system processes system data and user input, and responds by allocating and managing tasks and internal system resources as a service to users and programs of the
..... Click the link for more information.
Software development process
Activities and steps
Requirements | Architecture | Implementation | Testing | Deployment
Models
Agile | Cleanroom | Iterative | RAD | RUP | Spiral | Waterfall | XP
Supporting disciplines
..... Click the link for more information.
In technology, especially computing (irrespective of platform), a product is said to be backward compatible (or downward compatible) when it is able to take the place of an older product, by interoperating with other products that were designed for the older product.
..... Click the link for more information.
Mainframes (often colloquially referred to as Big Iron) are computers used mainly by large organizations for critical applications, typically bulk data processing such as census, industry and consumer statistics, ERP, and financial transaction processing.
..... Click the link for more information.
In software engineering, multi-tier architecture (often referred to as n-tier architecture) is a client-server architecture, originally designed by Jonathon Bolster of Hematites Corp, in which an application is executed by more than one distinct software agent.
..... Click the link for more information.
In software engineering, multi-tier architecture (often referred to as n-tier architecture) is a client-server architecture, originally designed by Jonathon Bolster of Hematites Corp, in which an application is executed by more than one distinct software agent.
..... Click the link for more information.
Architecture is the art and science of designing buildings and structures. A wider definition often includes the design of the total built environment: from the macrolevel of town planning, urban design, and landscape architecture to the microlevel of construction details and,
..... Click the link for more information.
virtualization is a broad term that refers to the abstraction of computer resources. One useful definition is "a technique for hiding the physical characteristics of computing resources from the way in which other systems, applications, or end users interact with those resources.
..... Click the link for more information.


This article is copied from an article on Wikipedia.org - the free encyclopedia created and edited by online user community. The text was not checked or edited by anyone on our staff. Although the vast majority of the wikipedia encyclopedia articles provide accurate and timely information please do not assume the accuracy of any particular article. This article is distributed under the terms of GNU Free Documentation License.
Herod_Archelaus


page counter