Legacy systems in a large organization are comprised of tens of millions of lines of code with a replacement value in the billions of dollars. These application systems are essential to the continued operation of complex enterprises around the world. These initiatives are strategic, but still require access to legacy data and transaction based systems. These new systems need to access legacy environments to leverage the intelligence embedded in these older systems. A more effective approach to integrating strategic and legacy environments is to address this challenge during the design and development cycle.
New systems leverage reusable components to streamline development and future upgrade tasks.
Reusable component libraries are traditionally delivered by vendors or developed by Java programmers. Legacy systems, on the other hand, are a rich untapped reserve of business rules that can be componentized and reused as part of the development process. Componentization of legacy systems requires decomposing systems into major functions and sub-functions and extracting and reconciling selected business rules from those systems. The next step requires categorizing extracted components for reuse and compiling them so that they can be made available to development and maintenance teams. While this is not a simple endeavor, software tools and techniques have matured to the point where legacy componentization is feasible with commercially available technology.