IBM provides several tools to help you build composite application components and to aggregate those components into a composite application. These tools include:
For assembling a composite application, developers have two choices:
The following section takes a closer look at several of these tools, how they are used, and the skills required to use them.
In the Lotus Notes and Domino 8 release, Lotus Domino Designer maintains the familiar user interface but has been enhanced to provide developer support for composite applications. While your current Lotus Notes applications can be used unchanged in composite applications for the Lotus Notes client, you can also use new features of Lotus Domino Designer to enhance your current Lotus Notes applications to take advantage of the component interaction functionality of composite applications.
Component interaction for the specific composite application is defined when the composite application is assembled and wired, but it depends on properties and actions previously defined when the individual components were developed. As Lotus Domino Designer continues as the primary development tool for Lotus Notes and Domino applications, you use Lotus Domino Designer to specify the properties and actions for Lotus Notes components.
In Lotus Notes and Domino 8, Lotus Domino Designer provides new property box options plus new LotusScript classes, methods, and properties to allow the Lotus Notes developer to easily define the properties and actions for a Lotus Notes component.
If your background is in Lotus Domino programming, think of Workplace Designer as a tool for providing Lotus Domino Designer-type application development functionality to the IBM Workplace family of products.
In fact, those familiar with Lotus Domino Designer will notice similarities with many IBM Workplace Designer features and concepts. This is not coincidental; Workplace Designer was created with the Lotus Domino Designer in mind. This allows experienced Lotus Domino developers to leverage existing skills to quickly create new applications for IBM Workplace products.
Workplace Designer is a scripting tool based on JavaScript, but because Lotus Domino Designer shares the same views, data connections, and logic, Lotus Domino developers are able to build components for the Workplace family of products using methods with which they are familiar. Figure B.2 illustrates the Lotus Domino Designer-like Workplace Designer user interface.
Workplace Designer is based on Eclipse and has many of the features usually associated with Eclipse-based products, including a central page designer surrounded by palettes and navigators. This is a fully functional component development environment, with drag-and-drop support of controls onto the page, and an events editor, with which you can create JavaScript event handlers and specify whether they are to be executed on the client or on the server.
Every WebSphere Portal composite application is derived initially from a composite application template. Composite application templates allow users with proper permissions to create composite applications easily in a self-serve model. A composite application template includes the aggregation of components, pages, page layouts, application roles, role mapping, and points of variability to be applied when a new composite application is created from the template. Composite application templates can also be edited by users with proper permissions.
Figure B.3 illustrates how components are placed on a page through the IBM Application Editor. You use this editor to create or modify a composite application or a composite application template.
Application Editor is the tool of choice for the less technical line-of-business user. These folks need to create applications quickly and simply, and they need an application development tool that is intuitive, easy to use, and requires no programming.
For example, assuming they have access rights to the application template, users can modify the template by selecting it. The Application Editor feature then lets the user add, delete, or relocate components on the page.
Under the covers, an application template is a representation of the application in XML and is used to provide an instance of the application. Each WebSphere Portal composite application template has roles that map to the various pages and components. Each composite application instance inherits these initial roles from the template, and these roles can then be assigned to groups or individuals by the application owner, thereby defining the access to the composite application and permissions of the users.
The Application Editor feature also allows you to modify the roles for a composite application instance and the role mapping to pages, components, and other composite application permissions.
IBM Workplace Collaboration Services includes a set of preconfigured application templates targeted at specific business processes, including discussion, document library, chat room, and team project. The templates are managed through a template catalog available on WebSphere Portal. You can modify these templates to suit user requirements, or you can create new templates.
Benefits provided by the Application Editor tool include:
The Composite Application Editor available in Lotus Notes and Domino 8 is a rich client feature that allows you to assemble and edit composite applications. Composite application components can include Lotus Notes databases, portlets from IBM WebSphere Portal, or Eclipse components for rich clients designed using a tool such as IBM Workplace Designer. The integration of information from multiple business components provides application users with content specifically geared to their business roles and tasks.
Figure B.4 illustrates the Composite Application Editor rich client feature used to edit a composite application.
In this figure, the Composite Application Editor feature has been used to place three components into the composite. The components are selected from the component palette on the right-hand side and placed on the page through drag and drop. You can also modify the properties of the components on the selected page.
Components can be reused in different composite applications for flexible quick starts to projects without reliance on administrator support. A composite application can be hosted on either a Lotus Domino server or on WebSphere Portal. No matter where it resides, you can edit the application using the Composite Application Editor.
WebSphere Portal-based composite applications are listed in the Applications Catalog. Composite application templates reside in the Template Library and, using the Composite Application Editor, you can see the composite applications and application templates that you can access and edit.
Application components interact with each other via wires. Lotus Notes and Domino supports the wiring technology used by WebSphere Portal. Wires provide a means for passing values among the components in a composite application. A single component can have multiple wires attached to it, and components can be wired together in a one-to-one or one-to-many fashion.
The wiring interface allows you to configure connections, or wires, between components at design time. At run time, property broker functionality allows properties to be exchanged automatically using the preconfigured wires. As a result, components on the page can react in an integrated and unified manner to the users actions.
The wiring interface is a visual representation that shows you the existing connections between components in an application. It also shows you the properties from one component that can connect to another component. If a match is available between two components, you can create a wire between the two components.
Using the wiring interface, you can:
Components can also be wired so that they exchange properties across pages in a multi-page composite application.
The Template Library available in WebSphere Portal and Workplace Collaboration Services is where you manage application templates, create a new template, or import a template. You can start to work initially with the Blank Template. Application templates define the properties, page layout, roles, and parameters of composite applications belonging to a particular category. The template also defines the components that are deployed on the pages of an application. From templates, you can create multiple applications that share a common definition and customize them for different teams and communities of users. Available templates are listed in the Application Template Library (see Figure B.5).
The Template Library is where you and other users can view all templates that are available for assembling applications along with their locked/unlocked status (a template is locked if another user is editing it). Modifying a template does not alter composite applications that already exist. Template changes affect only the applications that you create after you save template changes.
For each template displayed in the Template Library, you can display its drop-down menu to see the choices available to you for editing it. Your access rights to work with application templates determine which of these actions are available to you. Possible actions include:
While you edit an application template, the template file is automatically locked so that no one else can make changes to it. The locked status of the application template displays as plain text in the status column for the Application Template Library. You can unlock the template if you are the template owner or an administrator; otherwise, the lock is released when the editing session ends.
The Application Library (see Figure B.6) available in WebSphere Portal and Workplace Collaboration Services is the page where you see the composite application catalog. The application catalog is where you can view and open composite applications and create new ones from application templates. You open an application by clicking its name in the catalog.
If the composite application has been built using the Lotus Notes client and rich client standards, it will be accessible for editing from the WebSphere Portal Catalog using the Lotus Notes FileOpen command.
Three applications are displayed in this figure. In addition, the template on which the application is based, the owner of the application, and the date of the last update to the application are also displayed. You open an application for editing by clicking its name in the leftmost column.
Composite applications on WebSphere Portal and Workplace Collaboration Services are assembled from templates that define the properties, page layout, and roles of each application instance. The membership portlet of a composite application lists the members of the application by their assigned roles, and the components of the application are deployed on one or more application pages. After you open an application, you can customize it and the current application page. Your access rights to work with the application and its pages determine the actions available to you.
In summary, components are the building blocks of a composite application and work in concert to address a business need. Components in a composite application can be portlets from WebSphere Portal, Eclipse components, and Lotus Notes components. All components in an application must reside on a page.