Introduction
This tutorial is for developers who want to use Lotus Domino's collaborative features in the context of a standard Java 2 Enterprise Edition (J2EE) environment. It covers essential setup and configuration issues but concentrates on how to design and code with the Domino classes in JavaServer Pages (JSPs), servlets, and Enterprise JavaBeans (EJBs).
It is recommended that readers be familiar with the following technologies:
- JSP pages and EJBs
- Domino, especially programming with the Domino classes
See Tutorial resources for more information on these topics.
Lotus Domino and WebSphere Application Server are both platforms for building distributed, server-based applications. They have different strengths: Application Server provides a complete J2EE platform while Domino provides the unique ability to build collaborative applications. The tutorial begins by briefly surveying the various possible ways the two can work together using Java. It then concentrates on how Domino can be used in an Application Server environment using standard multi-tier J2EE design. It pays special attention to the issue of separating presentation logic from business logic and how Domino can participate in the Model-View-Controller (MVC) design pattern using JSP pages, Java servlets and EJBs.
The tutorial uses a sample application that displays the contents of a Lotus Domino discussion database to demonstrate how Domino can work with WebSphere Application Server and J2EE. This will take us from the nuts and bolts of configuring Domino and Application Server to the more abstract realm of designing and building a J2EE application using the MVC methodology.
What the sample application does not cover
The sample application is intended to demonstrate simply and clearly how Domino can fit into the J2EE architecture. It is not intended to be a complete demonstration of J2EE. Specifically, key features of Application Server that make it a compelling platform for distributed application development -- especially EJB and relational database connectivity -- are not demonstrated because these topics would require coverage well beyond the scope of this tutorial.
The sample application might be, for example, part of an online music store where features such as the catalog and transaction processing are built using standard J2EE components such as JSP pages, servlets, EJBs, and a relational database. Although the Domino part can easily be implemented using Domino's Web publishing features, calling the Domino Java classes from a J2EE component, such as a servlet as shown here, provides greater flexibility and control over the application's appearance and behavior, and makes it easier to achieve a seamless integration.
For an example of a larger application, see the IBM Redbook, Domino and WebSphere Together Second Edition , available online (see Tutorial resources). This book provides thorough coverage of integrating Domino, Application Server and DB2 Universal Database using servlets, JSP pages and EJB technology.
Tools and configuration recommendations
In order to follow along with this tutorial, you'll need the following applications installed. Free trial versions are available for all three:
- WebSphere Application Server. You can download a free trial of the latest version of Application Developer.
- WebSphere Studio Application Developer. This tutorial uses version 4.0.3. You can download a free trial of the latest version of Application Developer.
- Lotus Notes and Domino 6 (See the Lotus Developer Domain for details on Notes/Domino 6.)
The tutorial assumes that the Application Developer configuration of WebSphere Studio, WebSphere Application Server, Advanced Edition and Lotus Domino have been installed with default options, preferably, but not necessarily, on the same computer. The instructions for building the sample application have been tested with Application Developer V4.0.3, Application Server V4.0.1 and V3.5, and Domino 6.0. The sample application was built, tested, and deployed on Windows, but will work equally well on Linux.
You'll also need to download DominoWASsrc.zip, the source code for the sample application.
A Pentium® class PC running Windows NT/2000 with a clock speed of at least 500 MHz and at least 256 MB of memory is recommended. The examples here ran well on a 650 MHz AMD Athlon™-based system with 384 MB of memory. Hard disk space requirements for both Application Server and Domino are approximately 1 GB after installation; downloading from the Web and installing from the same hard disk will temporarily require approximately 1 GB of additional space.

