In today's fast-changing technology landscape, the term "legacy" often receives a negative connotation. But for many companies, legacy systems are mission-critical. They run the purchasing, manufacturing, financial, customer and payroll applications that form the very backbone of the business. They house the data and business processes that differentiate a company from its competitors and represent years of intellectual property. While these systems might have been developed several years ago, they still reliably meet the business' requirements. Replacing them with new systems in a single grand gesture rarely makes technical or economic sense.
As real-world examples prove, rip and replace can be costly and prone to failure. When a major automobile manufacturer wanted to replace a mainframe-based purchasing system, one of its primary applications platform vendors advised the customer to re-write the application in Java and run it on Solaris. Four years and millions of dollars later, the customer scrapped the Java project because it did not meet the company's needs, and returned to the mainframe. Even for projects that succeed, rip and replace is a costly, time-intensive approach.
If you decide to take a more calculated and less radical path to maximize the value of your legacy systems, what options do you have? There are four approaches to preserving and extending legacy applications - from simple to sophisticated:
- Leave the system as it is. If executives, partners and customers aren't complaining, you most likely can keep what you have.
- Make minor enhancements. You might decide to make a few changes to comply with executive requests, but you are essentially preserving what you have.
- Begin extending and modernizing the legacy applications. You might replace a green screen terminal with a new GUI or Web browser, giving the application a new, modern feel.
- Move toward a service-oriented architecture (SOA) by extending legacy applications as Web services. By providing a library of services that can be called on to deliver features and perform tasks, SOA enables companies to roll out products faster and adapt applications to meet changing customer demands. It is based on open standards, widely supported across all vendor environments, and will not lock you into an architecture that could prove difficult to support in the future.
How do you decide which approach to take? Focus on applications that are most valuable to your business.
Determine what impact the application's lack of availability would have on day-to-day operations; also consider the application's overall quality and complexity, your team's knowledge of the actual code, and how much time and money you are willing to invest.
Preserving and extending is not a "one size fits all" strategy, but rather a prudent way to adapt to the environment you are in today, as well as prepare for future changes in the business and technology landscape.
Joe Gentry is vice president of Enterprise Transactions Systems at Software AG