Now that we understand both the legacy and target architectures, we can develop an architectural transformation strategy: How do we get there from here? In our case study, we refer to this architectural transformation as "componentization"; we are moving from a largely unstructured legacy system to a modern, component-based architecture. Architectural transformation is a principal goal of the RSS modernization effort. The existing architecture ”or lack thereof ”is considered to be a major cause of the lack of maintainability in the existing system. Therefore, the ability of each transformation strategy to achieve the as-desired architecture is a critical consideration. Of course, the architectural transformation strategy in our case study is further complicated in that it must take place within the context of an incremental development and deployment strategy. Carving up the legacy system into " chunks " that can be incrementally developed and deployed makes it challenging to achieve the as-desired architecture. This initial " chunking " of the system is, in effect, the initial architectural decomposition of the system. This means that the as-desired architecture is influenced, or constrained, by the legacy architecture and that our ability to transform the architecture is localized to the boundaries of each chunk . As the use of adapters can play a major role in addressing this issue, we begin this chapter by examining the development and use of data and logic adapters in legacy system modernization before discussing the overall transformation strategies. |