Composite applications are a key element in a service-oriented architecture (SOA) and contextual collaboration strategy. The ability to create and edit composite applications lets you easily integrate different types of components and technologies.
By creating composite applications, you can loosely couple IBM® Lotus® Notes applications NSF components, Eclipse components, and Lotus Component Designer components in context as part of one user experience. Components within a composite application can be wired to together so a user-initiated action in one component can trigger an action in another component.
This functionality is supported by the use of properties, actions, and the property broker. The IBM® WebSphere Portal composition application model and property broker model is now available to the Notes rich client. IBM® Lotus® Domino(TM) Designer has been extended to leverage the property broker experience in NSF components, thereby providing a more productive user experience within the Notes rich client. You can define composite applications using the Composite Application Editor in the Notes rich client or the WebSphere Portal Application Template Editor in the browser.
A composite application is end user facing where multiple components that were independently created are assembled into a single context. A composite application can have one or multiple pages, each page containing one or more components. The single context provided by the composite application means you no longer need to switch windows or to various applications to work with information from disparate applications or systems.
Composite applications can be hosted on either IBM® Lotus® Domino(TM) or WebSphere Portal servers or as a local NSF. You can define NSF-based composite applications using the Composite Application Editor which allows the wiring and connecting of various components within a composite application.
The following illustrates some important points regarding composite applications in Lotus® Notes 8:
- Custom composite applications and components using the property broker can be built.
- Either Lotus® Domino(TM) or WebSphere Portal can be used as composite applications hosts or you can also go offline with a composite defined in an NSF.
- Composite applications hosted on WebSphere Portal can be defined using the Composite Application Editor or the Portal Application Template Editor. Composite applications hosted on Domino can be defined using the Composite Application Editor.
- To enable a Notes database as a component that can communicate to other components, you need to specify Web Services Description Language (WSDL) parts in order to use the property broker for component interaction. To use a Notes database as a composite application component, the database needs to include composite application XML which provides the definition of a composite application.
- You need certain rights to create applications on the WebSphere Portal server. For Domino-hosted composite application definitions, you must be able to create new databases on the Domino server and have manager rights to change database ACLs.
- You can use the Composite Application Application Editor as the tool for defining composite applications.
When working with composite applications it is assumed that you are familiar with creating new Notes databases, modifying Notes views, creating simple Notes forms and using the Programmer's pane to input Notes formulas and LotusScript.
In addition to satisfying the system prerequisites for a Lotus Notes 8 (see the Notes documentation), be sure that you (or your administrator) have installed the following so that you can develop and assemble composite applications:
- IBM® Lotus® Notes® 8 client with the Composite Application Editor feature
- IBM® Lotus® Domino(TM) Designer 8 client
Note: Domino Designer is not currently supported on Linux®.
Distribution of development responsibilities
Development responsibilities for building composite applications can be distributed across several types of application development and administration team members. The process does not have to be restricted to the highly skilled component developer. The roles in composite application development can include the following:
- component developer- responsible for design and creation of Notes and Eclipse components.
- application assembler - responsible for defining and assembling the composite application. May be a line of business user. The application assembler can also deploy portlets to WebSphere Portal via the Composite Application Editor.
- application administrator - responsible for deploying portlets onto WebSphere Portal and maintaining NSF-based composite applications on the Domino server.
Note: A local Eclipse update site may also be used for administration.