Documents/PGFSOA/2: Architecture/4.2.6: Legacy Assets

4.2.6: Legacy Assets

Leverage Legacy Assets to Enable Evolutionary Progress

Other Information:

One of the main advantages of adopting SOA as a modernization approach is the fact that it is an incremental or evolutionary approach, rather than a wholesale replacement approach. In the more mature states, an advantage of SOA is the ability to rapidly innovate, that is to experiment with and then adopt new business processes, much faster and more cheaply than with traditional IT systems. The challenge is how to reach that mature state in government agencies where legacy systems are prevalent and tightly coupled with business processes, data, and rules that support critical business and mission capabilities. Based on a services portfolio plan and with a clear understanding of your phased approach to achieving targeted incremental releases of capabilities, legacy assets must be assessed and factored into the analysis for service provisioning in each phase of the plan. In the early phases, there may be no choice: legacy transactions must be wrapped to expose the services. Over time, the four modernization alternatives—replace, consolidate, extend, and re-platform, should be considered for each legacy application. As an initial step, sharing can be achieved by wrapping legacy transactions with service interfaces, where practical. Then, examine service requirements over time to determine whether the wrapped transactions are able to meet future needs. Note that wrapped transactions are still subject to the rigidities of the underlying legacy application. Most applications have an inherent work flow definition; capture that first, then capture as many embedded business rules as possible. Many legacy systems do not have clear architectural delineation among data, business logic, and user interface. You may need to re-factor portions of applications to expose them as services. Business rules (logic) are typically embedded in the code and are not externalized to a separate component such as a business rules engine. Many use older generation database technologies such as hierarchical, networked, or file-based, where there is a lot of data redundancy, and little inherent documentation. Some legacy systems are too old and/or complex to be fully understood and therefore when the services are developed on top of such systems, rigidity, slow performance or maintenance problems may result. Legacy assets are key components of the existing enterprise architecture that can demonstrably add value to the enterprise’s strategic objectives. Consider the following advice. • Reuse existing and still relevant business rules. Use an analysis tool to better understand legacy systems and harvest these rules. Consider the several approaches to decoupling data from business logic and user interface in legacy systems: • For a large or complex application, use discovery tools that facilitate identification of business rules, business processes, and flows. Use tools to perform re-factoring of legacy code to decouple and minimize the risk of developing “rogue” services. • Use, if necessary, the alternative of custom adapters that interface with the legacy code. Use ESB adapters to access legacy code. • As a last resort, consider using standards such as Database Access Integration Services (DAIS) to access data in a database directly as a service [EPRI, 2001]. Top down and bottom up approaches should be used when producing services from legacy systems. Combine both approaches, balancing what the business needs with what the current IT organization is able to support. In the top-down approach, business processes and their flows drive what services are required that can be satisfied by legacy systems and how these services should be orchestrated. Allow business users or their counterparts in IT to drive this approach because of their familiarity with particular business domains. In the bottom-up approach, available services are identified by mining legacy applications and then determining what business processes are feasible to orchestrate. IT personnel should drive this approach. As services proliferate, ensure the utilization of adequate governance criteria in order to maximize the reuse of developed services without compromising security and efficiency. Applying and implementing governance from the beginning will pay rich dividends as the SOA efforts and consequently the service assets grow.

Indicator(s):