Component Based Development approach is the development of software application by selecting appropriate components and then to assemble them.
A component is identified with below main features:
1. an independent part of software application with a clear function.
2. Component communicates with other components by its interface.
The main benefits of Component Based Development are:
1. Reuse: Component can be reused in software applications.
2. Flexibility: This allows for components to be easily versioned and replaced.
Componentizing Web DynPro component
Componentizing Web DynPro component has following advantages:
1. Better structuring of an application
2. Facilitates the Reuse of Web DynPro component
3. Facilitates the use of MVC design pattern for the development of Web DynPro application
The following simple demo application to display the Purchase order item details demonstrates the benefits of Componentizing Web DynPro component. The application displays below three addresses for selected purchase order item.
1. Customer location
This component is the main component and displays the purchase order item details with various addresses.
This component contains the visual part to display the address. The component gets address number and address title from the main component by means of reverse context mapping.
The main component ZWD_POITEM_DISPLAY defines component usages for component ZWD_ADDRESS and passes the address numbers and titles of addresses to be displayed through reverse context mapping. Then the interface view of component ZWD_ADDRESS is embedded in main component to display the addresses.
Componentizing the main Web DynPro application to have one different component to display the address has got following benefits:
1. Reuse: Component ZWD_ADDRESS can be re-used in the same application to display multiple addresses or can be used in different applications to display addresses.
2. Flexibility: Component ZWD_ADDRESS is an independent component and any change can be done easily without changing the main application.
The main application can futher be componentized to have component to display purchase order item details and even the main application can be used as component for some other application. The idea is just to demonstrate the benefits of componentizing the Web DynPro application.