Editor's note: This article introduces a series of articles on composite applications to be published on developerWorks Lotus over the next few months. This article describes a sample composite application that is now available on developerWorks Lotus and previews some of the soon-to-be-published companion articles.
IBM Lotus Notes V8 brings the power and benefits of composite applications to the Lotus Notes user community. These composite applications, called business style mashups by some, can be accessed from the local Lotus Notes data directory, the IBM Lotus Domino V8 server, or even a server running IBM WebSphere Portal, allowing users to work anywhere, anytime. Using new functionality and runtime capabilities, you can combine multiple Lotus Notes applications and other technologies giving users a unified interface in which to conduct their business more effectively and to supply innovative business solutions.
Components are the reusable building blocks of composite applications. They can expose an application's data or process and, when combined with other components, can enable the on-the-glass integration of multiple systems. Taken together, components create a business application by integrating multiple backend IT applications.
In the Lead Manager composite application sample, the goal is to combine several existing Lotus Notes applications into one application that is more productive and integrated. The application is described here both before and after, and the process used to create the application is described in a series of articles previewed here.
At ZetaBank, a fictional enterprise, the account sales team uses an application called Lead Manager that consists of four Lotus Notes applications containing information they need to track leads and make sales. Figure 1 shows a view from each of the following applications:
- Lead Manager Core. This application contains information about sales leads, including the business name, contact information, financial information, and other useful data.
- Lead Manager Discussion. This application allows the sales team to track conversations about any company or item. They find it useful to exchange information about past success at companies, to discuss the best sales approach, and to look through sales presentations used previously.
- Lead Manager Legal. The contracts that are in place for companies reside here, and new contracts can be requested. Sales agents can track the progress of requests here.
- Lead Manager NAB Plus. This is a directory that contains extensive contacts for each prospective company.
When a sales lead is identified, the account representative checks to see if the company is listed already in the Core application. A quick check of the Discussion application is done by using a bookmark to launch the application and to search on the company name or to find the appropriate category. If the account representative cannot find a customer name in the Core application, still another bookmark is used to open the contacts application, known as the NAB Plus. Later when a contract is needed, the Legal application is used to request it. The information needed to request the contract is copied from the Core application and pasted (or retyped) into the contract request form. The sales team is accustomed to the process, but its members find that they spend a lot of time cutting and pasting and training new employees in this process.
Figure 1. A view of the four original applications
The account sales team asked the application developers to revamp the entire process and to build a new application that helps them to be more efficient and to focus on their work instead of constantly jumping between four applications. Because Lotus Notes and Domino V8 are being rolled out at ZetaBank, the developers decided to create a composite application that uses the existing applications in a cohesive application that allows the sales team to be more productive immediately with no training.
Now, when a sales representative opens the Lead Manager application, all the information is easily accessible. Figure 2 shows the new Lead Manager application. A list of companies is shown on the left with the lead information for the selected company front and center with tabs for Pending Leads and Closed Leads. In the two panes shown in figure 2, there are summaries of the company information and the lead selected.
Figure 2. The Lead Manager application
When you double-click a lead, a new page opens and the details appear in the center of the screen. A section below has tabs for Contracts, Discussions, Sales Lead Company Detail, and Contacts as shown in figure 3.
Figure 3. Lead Manager details
These tabs open the applications directly; previously, the sales team members had to use bookmarks to access the applications. Furthermore, these applications open with the correct context displaying the appropriate information. Figure 4 illustrates this.
Figure 4. Lead Manager detail open to correct context
The sales representative can also focus on managing companies or shared contacts using the navigator at the top of the page. The user moves to a new context without leaving the composite application or starting another application. The user can also navigate back to the Sales Lead context at any time using the navigator.
In the next phase of the application, the sales representatives can prefill or select information from another domain. For example, they want the Contract application to prefill the company information, and a new Sales Lead document to prefill information from the Contacts application. The developers agreed that this is relatively easy to add, and they are pleased that the sales representatives are using the new application so efficiently.
The sales team enjoys the easier navigation and the time savings. In addition, they started using it immediately with no additional training classes required. It looked like (and used) the existing Lotus Notes applications and processes, but the integration on-the-glass, information flow, and navigation were much easier. The sales team has started listing new requirements that the developers will address by adding new components.
Download the Sales Lead composite application sample and documentation. This sample helps you become more familiar with composite applications in Lotus Notes V8 and provides context to your review of the related articles.
The ZetaBank development team decided to use new features and functionality in Lotus Notes V8. They turned to various sources of information, including the information found in these developerWorks articles, some of which are still to be published, to guide their work.
First, the ZetaBank developers researched composite applications, determined that they could create one, and discussed which components to consider domain-centric, domain-contexual, or utility components. The article, "Designing composite applications: Component design," is useful in determining the directions to take in design. Architects and developers will find this article useful.
Next, the developers modified the existing Lotus Notes applications to make them useful as components in the final composite application. The article, "Developing composite applications: IBM Lotus Notes components," to be published later on developerWorks Lotus describes the process and steps for evaluating current Lotus Notes applications, determining the appropriate components to expose, and choosing properties and actions. This article covers ideas to make the components reusable in future composite applications as well. Architects and developers will find this article useful.
The ZetaBank team needed to have a solution quickly and wanted to understand how other components and solutions have been created. For this, they reviewed the concepts covered in the future article, "Designing composite applications: Composite application design patterns," and learned about component patterns, layout patterns, and application patterns. This helped them to determine the best layout of the components for optimum productivity and to design the application with components to do the work needed. Architects, developers, and those who assemble composite applications will find this article helpful.
The topics covered in a future article, "Developing composite applications: Debugging and developing composite applications - unit testing," helped the developers create a test component designed to test each part of the new application to ensure each component worked properly before assembling. This allowed the line-of-business user to focus on assembling and wiring the composite application because each component had already been tested. Developers and architects will find this information vital in ensuring robust solutions.
During the process of designing the application and components, the team determined that two new IBM Lotus Expeditor components were needed. One component was a navigator to replace the navigator provided by the default composite application framework. The other component was a Sales Lead browser that provided a different user experience than that exposed with a Lotus Notes View component. The future article, "Developing composite applications: IBM Lotus Expeditor components," provides suggestions for designing components that interact with the property broker. The two new components were developed quickly because they use the property broker helper classes. Architects and developers will find this article helpful.
Assembling the Lead Manager application involved some new concepts such as wiring, layout, and navigation so the process took two articles to explain all the steps and concepts. The future articles, "Designing composite applications: Composite application assembly, parts 1 and 2," explain all you need to know about assembling a composite application and making it easier to extend. Architects as well as assemblers who may be in lines of business can benefit from reading these articles.
Managing the process for composite application design is new for many organizations. The article, "Designing composite applications: Managing the process," will help you learn the best practices for developing reusable components across departments in an organization and for utilizing them in composite applications. Other development and IT teams at ZetaBank are investigating Lotus Notes and Domino 8 as well. This process supports rapid development by implementing reusable components. Managers and architects need to be familiar with the ideas in this article.
Finally, the ZetaBank development team needed to determine how to deploy the application. After researching the information covered in the future article "Deploying composite applications" and doing more research in the Lotus Domino 8 Administration Help, they developed a plan that supported a phased deployment approach including development, test, and production phases. Administrators and developers who will deploy composite applications need this information.
The Lead Manager sample is one example of what can be done with existing Lotus Notes applications to make them easier to use and more efficient in an existing process. The articles and the sample are intended to provide a complete description for developing one style of composite application. There are many other types of components and composite applications.
Get started with IBM Lotus Notes and Domino V8 technical content.
Read the developerWorks article, "Designing composite applications: Component design."
Read the developerWorks article, "Designing composite applications: Design patterns."
Read the developerWorks article, "Designing composite applications: Unit testing."
Read the developerWorks article, "Designing composite applications: Writing an Eclipse component for IBM Lotus Notes."
Read the developerWorks article, "Designing composite applications: IBM Lotus Notes components."
Read the developerWorks article, "Designing composite applications: Composite application assembly, part 1."
Read the developerWorks article, "Designing composite applications: Composite application assembly, part 2."
Read the developerWorks article, "What's new in IBM Lotus Notes and Domino V8."
Read the developerWorks article, "Extending the IBM Lotus Notes V8 mail with Eclipse."
Read the developerWorks article, "Integrating IBM Lotus Notes data into the Lotus Notes V8 sidebar and toolbar."
Read the developerWorks article, "Extending the IBM Lotus Notes V8 sidebar and toolbar."
Read the developerWorks article, "Leveraging user context in the IBM Lotus Notes V8 sidebar and toolbar."
Refer to the Lotus Domino Designer 8 Help, Composite Application Design and Management.
Refer to the developerWorks Lotus Composite Applications page.
Read the "Lotus Notes and Domino 8 Reviewer's Guide."
Read about the Eclipse project resources on developerWorks.
Read more about IBM Lotus Notes and Domino V8.
Get products and technologies
Download a trial of IBM Lotus Domino V8.
Download a trial of IBM Lotus Notes, Domino Designer, and Domino Administrator clients V8.
Susan Bulloch has been with IBM since 2000. Before that she worked in various industries as a Lotus Domino Administrator. After spending six years on the road as a Field Support Engineer, Susan settled into a new role in 2007, working as a Technical Enablement Engineer helping Business Partners develop and deploy solutions for Lotus Notes and Domino. Susan maintains a blog at http://notesgoddess.net, and she is a regular speaker at technical conferences.