This article charts some basic approaches for designing components for composite application development that have maximum reuse. You can use many different strategies to provide the optimum components.
It takes a village
Composite application components have a very open definition. The ability to do almost anything you like is powerful, but it can also lead to uncertainty about what you should do and how to establish a standard approach to development. Keep in mind that the categories of elements given in this article are suggestions for one possible approach. No approach is wrong. Any one approach either works for your company or does not. If you think our suggestions work for you, then adopt them. Feel free to change them if you have other requirements.
This sort of integration, though, does not happen purely by creating composite applications. It is possible to create components that operate no better together than two separate Web pages side by side. The key to a successful deployment of the component application architecture is establishing a common forum where dialogue takes place about the different development efforts. Be sure to create development processes in your organization for coordinating these efforts and for ensuring that you can capitalize on the potential benefits of composite application design.
If your company has something akin to an architecture review board, that may be an appropriate place for such dialogue to happen. If your company is smaller, even nominating a single person to be the data type owner serves this need. Such an organization must not slow down development. Too much focus on process cancels out the benefits you may otherwise gain. Instead, the review board is more of a brainstorming center, where different groups can inform each other of their ideas, and can realize the potential for benefit across all groups.
Want to read the rest of the article? See Designing composite applications: Component design on the developerWorks website.
This article is the second in a series of articles on composite applications being published on developerWorks® Lotus. See the previous developerWorks articles,"The Lead Manager application in IBM Lotus Notes V8: An Overview," "Designing composite applications: Design patterns," "Designing composite applications: Unit testing," "Designing composite applications: Writing an Eclipse component for IBM Lotus Notes,"and "Designing composite applications: IBM Lotus Notes components".