130 likes | 249 Views
Typical Steps in Building a Component-Based Application (1). Gather requirements Decide scope of application Analyze requirements Identify parts that can be componentized Define interfaces. Typical Steps in Building a Component-Based Application (2).
E N D
Typical Steps in Building a Component-Based Application (1) • Gather requirements • Decide scope of application • Analyze requirements • Identify parts that can be componentized • Define interfaces
Typical Steps in Building a Component-Based Application (2) • Decide which components to buy, reuse in-house ones, or build • Implement components • Integrate and compose application • Test components • Test application increment composed from components
Typical Steps in Building a Component-Based Application (3) Understand the Requirements Define the Architecture Implement the solution Test the implementation
Components & Software Architecture • Compositional style of developing application • Application components adhere to some set of predefined convention to support composition • Components implement two interface types • functional, that reflects its role in the system • extrafunctional, reflecting the model imposed by the underlying component framework
Model for component reuse • There are three steps for reuse • locating the component • understanding the component by an introspection mechanism • adapting and integrating components for business workflow
Key to Successful CBSD • Successful component-based development of sophisticated applications requires • an effective application architecture • proper controlled iterative development approach • high quality testing • For significant SW systems, the quality of the SW architecture is a key determinant of a project’s success than the set of available components.
Role of Component Technologies for developing Distributed Applications • Distributed applications have 3-tier or N-tier architecture • Presentation tier • Business logic tier • Data access tier • Component technologies play a significant role in developing all three tiers • Component infrastructures provide several services that help ease development of middle-tier components
Popular Component Technologies for Developing Distributed Applications • Bus Microsoft’s COM+, and now the .NET framework • Sun Microsystem’s EJB and J2EE specifications • OMG’s CORBA specifications
Benefits of CBSD (1) • Enables reuse of core functionality across applications • Applications can be developed more quickly • Can result in higher quality, more reliable software • Lets developers focus more on the application problems rather than low level programming details • Can be cheaper than traditional development
Benefits of CBSD (2) • Flexibility in choice of tools and languages to implement parts of solutions as interoperable components • Offers the best of both alternatives in the build vs buy decision • Encapsulates organizational best practices such that they can be adapted as business conditions change
CBSD Scenario Today (1) • Improved and functionality rich Component infrastructures are available to facilitate CBSD • Microsoft’s COM/ActiveX, COM+, .NET, • Sun’s --JavaBeans, EJB, J2EE • Commercial CORBA implementations • Large third-party component market is in place • Types of components available are expanding rapidly
FINE CBSD Scenario Today (2) • Not only desktop applications but also Enterprise applications can be built using server side components that run within an Application Server • Component technology is playing a significant role in building Web applications • Powerful tools have become available for designing and testing component-based applications