Legacy system: Difference between revisions

From Computer Science Wiki
No edit summary
 
(One intermediate revision by one other user not shown)
Line 5: Line 5:
Legacy systems are usually '''still in use''' as opposed to retired (or archived) systems, which are no longer in use. Please remember this distinction.  
Legacy systems are usually '''still in use''' as opposed to retired (or archived) systems, which are no longer in use. Please remember this distinction.  


=== All about legacy systems ===
Compatibility issues can arise in situations where a new system or technology must be integrated with an existing system or technology. These issues can be particularly pronounced in situations where the existing system is a legacy system, or in situations where two businesses are merging and their systems must be integrated.


Systems must be compatible with other systems if they are going to be useful. Legacy systems are not always compatible with newer systems. Compatibility is a state in which two things are able to exist or occur together without problems or conflict. When you are planning a new system, you should be aware of compatibility issues with older systems. Frequently, the way a legacy system stores data is the most frequent source of compatibility issues.
Some common compatibility issues that can arise in these situations include:
Please also understand the range of possible problems legacy systems can have:  


# Maintaining old systems often includes old application programs
# Incompatibility of hardware or software: If the new system uses hardware or software that is not compatible with the existing system, it may be necessary to make changes to the existing system in order to enable the two systems to work together.
# Legacy systems can be hard to understand and expensive to change because programs might be disorganized
# Incompatibility of data formats: If the new system uses data formats that are not compatible with the existing system, it may be necessary to convert the data between the two systems in order to enable them to work together.
# Documentation might be missing
# Incompatibility of protocols: If the new system uses protocols (e.g. communication standards) that are not compatible with the existing system, it may be necessary to implement protocol conversion in order to enable the two systems to work together.
# Poor maintenance might introduce security problems
# Incompatibility of processes: If the new system uses processes (e.g. workflows) that are not compatible with the existing system, it may be necessary to modify the processes in order to enable the two systems to work together.
# It may be difficult to find people who have the knowledge and skills to work with old systems
# Incompatibility of user interfaces: If the new system has a user interface that is significantly different from the existing system, it may be difficult for users to adapt to the new system and may require training or other support to enable them to use the new system effectively.
# Legacy system are typically quite large and complex
 
 
A few hypothetical examples may help you understand this:  
 
# A new system accepts input for a date as 11 November 2017, but the legacy system only accept input as 11 November 17
# A new system is web-based, but an older system is not web-based
# A new system allows [https://en.wikipedia.org/wiki/UTF-8 UTF-8] (Unicode Transformation Format-8) characters but the legacy system does not.
# A new system assumes all currencies are in US dollars, while the legacy system does not.
# A new system stores time as HH:MM:SS:MS (HH: hour, MM: minute, SS: second, MS: millisecond) but the legacy system stores time as HH:MM:SS.
# A new system assumes all numbers can have 4 decimal places, while a legacy system assumes all numbers only have 2 decimal places.
# A new system stores data in XML while a legacy system stores data in plain text.


== Real-world practical advice ==
== Real-world practical advice ==

Latest revision as of 08:42, 8 January 2023

System Fundamentals[1]

In computing, a legacy system is an old method, technology, computer system, or application program, "of, relating to, or being a previous or outdated computer system."Often a pejorative term, referencing a system as "legacy" often implies that the system is out of date or in need of replacement.[2]

Legacy systems are usually still in use as opposed to retired (or archived) systems, which are no longer in use. Please remember this distinction.

Compatibility issues can arise in situations where a new system or technology must be integrated with an existing system or technology. These issues can be particularly pronounced in situations where the existing system is a legacy system, or in situations where two businesses are merging and their systems must be integrated.

Some common compatibility issues that can arise in these situations include:

  1. Incompatibility of hardware or software: If the new system uses hardware or software that is not compatible with the existing system, it may be necessary to make changes to the existing system in order to enable the two systems to work together.
  2. Incompatibility of data formats: If the new system uses data formats that are not compatible with the existing system, it may be necessary to convert the data between the two systems in order to enable them to work together.
  3. Incompatibility of protocols: If the new system uses protocols (e.g. communication standards) that are not compatible with the existing system, it may be necessary to implement protocol conversion in order to enable the two systems to work together.
  4. Incompatibility of processes: If the new system uses processes (e.g. workflows) that are not compatible with the existing system, it may be necessary to modify the processes in order to enable the two systems to work together.
  5. Incompatibility of user interfaces: If the new system has a user interface that is significantly different from the existing system, it may be difficult for users to adapt to the new system and may require training or other support to enable them to use the new system effectively.

Real-world practical advice[edit]

When you are planning a new system you should include compatibility planning as part of your new system. If you are a system administrator, programmer, network administrator, much of your work will involve getting different systems to be compatible. It's always nice when you have a new system, new company, and a new process, but this isn't the norm.

There is a lot more to say about this, but my advice is to assume any system you are involved with needs to be compatible with other systems and legacy systems.

Standards[edit]

  • Outline compatibility issues resulting from situations including legacy systems or business mergers.

References[edit]