18.6 Component-Centric Approach


18.6 Component-Centric Approach

Component-based development is the current step in the evolutionary ladder of software development practices. As such, it represents our best understanding of how to build large, complex systems. The idea behind components is not a new one. It is really another means of managing complexity. For many years , we have practiced software decomposition ”taking complex systems and decomposing them into simpler and simpler forms. Eventually, these designs were simple enough to translate to code. This code was then integrated with other code to form more complex constructs, until finally the entire system was assembled from these simple elements. The parallel with component-based development is obvious except that in this newer paradigm, components are formed into separately deployable units that are assembled during the integration process. This requires that more consideration be given to component interfaces. They must allow the component to be reused while conforming to a standard model that simplifies integration with other components.

A component-centric approach can be used to componentize legacy systems, develop small-grain components for a component framework ”such as EJB ”and to develop large-grained business object components. When modernizing legacy systems, each technique supports the others. For example, restructuring the legacy system into components makes it easier to replace them with modernized components. Developing reusable components at different levels of granularity enforces a reuse mentality at all levels of development.

Component-based development can be used with object-oriented programming techniques. A strict OO mind set, however, often results in highly complex and delicate class hierarchies. Component-based development can be thought of as "OO in moderation ." Class hierarchies are maintained with limited levels of nesting, whereas components provide the primary means of functional decomposition.



Modernizing Legacy Systems
Modernizing Legacy Systems: Software Technologies, Engineering Processes, and Business Practices
ISBN: 0321118847
EAN: 2147483647
Year: 2003
Pages: 142

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net