Book Image

Working with Legacy Systems

By : Robert Annett
Book Image

Working with Legacy Systems

By: Robert Annett

Overview of this book

The IT industry is constantly evolving with the introduction of new technologies. While it is important to keep up with advancements, maintaining legacy systems is equally necessary to ensure that the infrastructure of your organization functions to the best of its ability. Sound knowledge of techniques that can be used for maintaining legacy systems can help you avoid common pitfalls. The book begins with a quick overview of what a real legacy system looks like, how it works, and common issues that may be faced when trying to maintaining it. You'll then explore the architecture of a legacy system in detail and understand each of its components. As you progress, you'll discover a variety of techniques for analyzing a legacy system and how to apply them. Once you get to grips with the security constraints associated with legacy systems, you'll explore ways to secure them. Finally, you'll be able to easily make changes in legacy systems to enhance their performance. By the end of this book, you’ll have developed the skills and confidence to work with legacy systems and efficiently maintain them.
Table of Contents (7 chapters)

Preparation Issues


The previous section, on making changes safely, all sounded too good to be true – and, of course, it is. There are many issues that might cause you to deviate from this plan or require a workaround. Some possible issues and suggestions for solving them follow – I encourage you to send me any that I've missed.

External Dependencies Required for Testing

This is probably the biggest issue you will face. Completely standalone systems are rare, and you are likely to have dependencies on external systems you do not control. These external systems might be anything from a simple database through to a payments system. If your system is tightly coupled, you may not even be able to start it without its external dependencies in place.

We're trying to create a test system that is as close to production as possible, so if we modify it to remove these dependencies, then the resultant test system is of limited use.

How can we solve this issue? Well, some suggestions are:

  1. Connect to an External...