One aspect of composite applications is the ability to have hidden components. You can create a hidden component with Eclipse by creating a normal view and setting the “com.ibm.rcp.hidden” property to true in the composite application editor. This means your components “createPartControl()” is called but the visual piece is not actually shown. You will still have full access to any points of variability (component properties) like a visible component. These kinds of components can do some interesting things like:
– be driven by a visual component or user action
– call a web service and forward the response
– access back-end data
– run a job to do something in the back ground
– data transformations
I just wrote a neat little hidden component that takes the URL of a selected Notes document and forwards the data in that document on as JSON (an output property of the component). This means when the hidden component is wired to a Notes view it can be wired to another component (that may or may not have access to the Notes API's) and be able to process the JSON object of the Notes data. Since this functionality is a component, it only does the heavy lifting of cracking open the Notes document if it is wired to another component. Having this functionality in another component (and not built into the view) means this baggage only happens when the hidden component it wired to the view. The document in this case will get cracked open only if the hidden component is wired to another component itself.
I will be posting the code for this component soon. This is a small piece of what I will be presenting at Lotusphere this year.