Rethinking Integration

Legacy Overintegration The typical business application has increased in size by an astounding 5,400 percent since the start of the 1980s. A typical mission-critical integrated application has grown to include 1.2 million lines of code — assembled by stringing together what would have been 20 different applications 15 years ago. These numbers begin to illustrate the challenge posed by legacy overintegration.

Spaghetti code — the dominant challenge 15 to 20 years ago — has been replaced by spaghetti integration. Many architectures present numerous opportunities for uncontrolled interactions among applications, programs, code, and data. Structured programming — a widely accepted step forward over spaghetti code — offers some lessons for spaghetti integration. It stresses tight cohesion (i.e., keeping highly related functions together) and loose coupling (i.e., minimal connections between functions).

Unfortunately, in most cases of spaghetti integration and integrated shared databases, the opposite is true. Legacy applications are usually characterized by loose cohesion, with functional logic such as product edits and customer data sprinkled through numerous programs and applications. The applications are tightly coupled both through shared databases, redundant databases, and interface files and through uncontrolled interactions between numerous fields in countless programs. Shifting to Component Architectures Component architectures replace shared data integration with tight cohesion and controlled coupling — practices that have much in common with object-oriented design and analysis. These architectures shift the focus to standardized interfaces and construction guidelines. In addition, communications mechanisms based on the use of components complement the traditional focus on applications and data. Component architectures use such items as desktop integration, a software message bus, remote data access, and data warehouses as building blocks to help applications cooperate through standardized interfaces.

Although the idea of components is readily understandable in terms of new development, it can also be applied to legacy applications. Some organizations are now viewing these applications as reusable components that can be incorporated into new development using object-oriented techniques. Building on component-based message-driven architectures, IS professionals can use a variety of techniques to avoid plunging into the heart of legacy systems and forcing in new levels of complexity. Many of these techniques are now becoming well established, as the following sections on value recovery and transition strategies will discuss.

The shift to component architectures also supports two concrete commitments — reuse and maintainability — that increase the value of IT assets. Reuse increases the value of an asset by reducing future development costs. Maintainability increases value by allowing an asset to evolve as the business changes. Both significantly reduce costs by focusing investment on fewer, more flexible assets. Breaking applications into controllable, standardized components is as important to maintainability as it is to reuse.

Project Management Made Easy

Project Management Made Easy

What you need to know about… Project Management Made Easy! Project management consists of more than just a large building project and can encompass small projects as well. No matter what the size of your project, you need to have some sort of project management. How you manage your project has everything to do with its outcome.

Get My Free Ebook


Post a comment