This is a replicated copy of Building Java Apps with Lotus eSuite DevPack, Part I: DevPack Overview. It is provided for completeness and avoid "broken" link.

  DominoPro Article 

    Ask Ben
    News & Notes
    Tips Corner

    Adv Programmability
    Old Forum Archive

    Job Center

    DominoWire Tips

  Site Info
    About Us
    Contact Us
    Media Kit
    Write for Us

Published July 1999

Building Java Apps with Lotus eSuite DevPack, Part I: DevPack Overview
By Richard Sinn

As an application and messaging server, Lotus Domino enables users to host secure, interactive, and robust business solutions for the Internet and corporate intranets. The ability to build applications by creating Lotus databases with Lotus Notes Designer and to deploy those applications quickly in a corporate environment is Domino's strength.

At the same time, the invention of Java has brought the popularity of the Internet and intranets to a new height. Without question, Java is the hottest technology in IT today. From computer chip to operating system, Web browser to Web server, simple Web-based graphical applications to fancy Web pages, Java is everywhere. Java's "write once, run anywhere" capability provides a whole new set of opportunities for rapidly developing and deploying Web-based applications to serve users around the world.

For the business enterprise, however, simple questions remain. How do we leverage existing Lotus technology with Java? How can we develop Java applications without retraining our in-house developers? How can we use both Domino and Java technologies to reduce the cost of computing? How do we integrate Domino with Java and take advantage of both worlds without complicating maintenance?

Lotus eSuite DevPack is a truly new technology that lets Domino enterprises develop and deploy Java-based applications quickly. The integration of Domino and DevPack using Notes Designer brings together the best of both worlds: the number one choice in groupware and state-of-the-art Java technology.

In this article, I introduce you to Lotus eSuite DevPack and describe the basic requirements for using DevPack. In a companion article, "Building Java Apps with Lotus eSuite DevPack, Part II: DevPack in Action," I step through the process of developing a simple, yet elegant, DevPack Java applet in Windows 95/NT for integration and deployment on a Domino server with Notes Designer.

The Benefits of DevPack
You can think of DevPack as a set of software components for building key business functionality. To build a business application, DevPack developers simply select the right Java components from DevPack and put them together. Because all DevPack applets are written in Java, applications built using DevPack are automatically cross-platform. More important, DevPack's tight integration with Notes Designer for Domino lets you configure DevPack applets visually with simple coding. This integration makes it easier for application developers to incorporate DevPack into their already well-established Domino applications. Using DevPack with Domino thus simplifies enterprise-wide deployment and cuts development costs, letting organizations build strategic applications once and deploy them everywhere.

Lotus eSuite DevPack is a powerful complement to Domino. Developers can adopt DevPack and Domino easily to build a host of exciting new Web-based applications, sales-force automation solutions, customer self-service applications, business intelligence systems, and more. DevPack helps users derive greater value from their existing investments in Domino and the Web.

As demonstrated at recent LotusSphere conferences, companies have eagerly adopted DevPack and Domino. Organizations such as Transaction Information Systems have used DevPack to develop realtime cost-analysis, revenue-analysis, and profit-analysis reporting applications from SAP's enterprise resource planning (ERP) system. Bit Image, Inc., has integrated its retrieval and product packages systems using DevPack. And Systems Consulting Group has developed products such as eProject and eProcess to provide Web-based project management and manufacturing management.

Applications created with DevPack and Domino can be controlled and distributed from a central server. Installation and version management hassles are eliminated. With DevPack, developers can simply snap together prebuilt, pretested applets to rapidly deploy dynamic, interactive, network-based Domino applications. The end products are flexible and standards-based (Pure Java, Java Database Connectivity, JavaBeans, and Domino) instead of vendor-specific, one-of-a-kind applications. Software maintenance costs are thus reduced, and current investment values are protected.

Product Overview
DevPack provides a complete set of JavaBeans-based applets for business data presentation, data access, and processing. In addition, it provides powerful connectivity tools for accessing back-end data through Java Database Connectivity (JDBC) and Common Gateway Interface (CGI). Database data, legacy data, and PC-based files can easily be accessed.

When you deploy DevPack applets on a Domino server, all the resources from the server can be shared with DevPack applets. Developers can turn static Web pages and Notes or Domino applications into robust, interactive Web applications that provide easy access to and compelling presentation of enterprise data. For example, a DevPack applet can load or save information in a Domino database, and developers can incorporate spreadsheet or word-processing functionality into a Notes client or a browser to provide a much broader range of application capabilities than is possible with static Hypertext Markup Language (HTML). I cover the technical detail about how to do this in "Building Java Apps with Lotus eSuite DevPack, Part 2: DevPack in Action."

DevPack provides the following applets and data access modules:

  • AddressBook applet
  • AppletContainer applet
  • Calendar applet
  • CGI Gateway applet
  • Chart applet
  • FileReader applet
  • FormReader applet
  • Messaging applet
  • Presentation applet
  • RowsetArrayConverter applet
  • Scheduler applet
  • ScriptHelper applet
  • Sheet applet
  • SQL/JDBC applet
  • TableHeader applet
  • WordProcessor applet

Each DevPack JavaBeans-based applet is prebuilt, pretested, reusable, cross-platform, and integrated. The DevPack distribution also includes documentation, sample code, and application templates.

DevPack Requirements and Installation
You can order Lotus eSuite DevPack online from Lotus's LotusStore (http:// DevPack is available for an estimated price of $1,495 per single processor through the Lotus Passport program and a single developer license price of $99 Estimated Retail Price. All eSuite licenses are sold with a subscription that includes product updates and access to a monitored administrators' forum.

To develop or use applications implemented by DevPack, the following requirements must be met:

Domino client and server. Lotus has tested DevPack 2.0 with Notes 4.6.2 and later clients running Windows 95 and Windows NT. A Pentium 90 MHz processor or higher with 32 MB of RAM is recommended for this configuration. Additional client operating platforms will be tested in the future. For the deployment Web server, Lotus has certified DevPack running on Lotus Domino 4.6.2 on Windows NT 4.0.

Software. You can use other Web clients to access DevPack applets. Web clients (Java-enabled desktops or browsers) must have a Java Developer Kit (JDK) 1.1.5 or later Java Virtual Machine (JVM) installed. Lotus has tested and certified DevPack 2.0 for use with Microsoft Internet Explorer 4.01 with Service Pack 1 and Netscape Navigator 4.06 clients running Windows 95 or Windows NT 4.0 (Windows 98 is not officially supported yet).

Besides the Domino Web server, Lotus has certified Microsoft Internet Information Server on Windows NT 4.0 and Unix Solaris with Internet HTTP support for running DevPack.

Hardware. For clients, a Pentium 133 MHz processor or better with 32 MB of RAM is required. Lotus recommends you have 64 MB of RAM if you're using DevPack with the Notes 4.6.2 client on Windows NT 4.0. The DevPack applets, samples, and documentation total 70 MB in size; server disk space requirements will vary depending on file system format. For servers using a file allocation table (FAT) file system, installation may require 350 MB of free disk space due to a FAT limitation that imposes a minimum allocation unit size of 32 K.

Development environments. Lotus has certified DevPack on Windows 95 and Windows NT 4.0 with a suite of popular development environments: IBM's VisualAge for Java 2.0, Inprise's JBuilder 2.0 (Professional Edition), Lotus's Domino Designer 4.6.2, Symantec's Visual Café for Java 2.5 (Professional Edition and Database Developer's Edition), and NetObjects Fusion 3.0 in conjunction with the EF Connection kit.

Installing DevPack
Whether you order a DevPack CD or download the software directly from an electronic distributor, the software comes in compressed format: a self-extracting .EXE file for Windows platforms or a standard .ZIP file for non-Windows platforms. Once you've obtained the software, copy the file to a directory that's accessible from the workstation on which you want to install DevPack.

To install DevPack on a Windows machine, simply use the Start menu's Run command to run the self-extracting archive named esuiteDP.exe. On other platforms, use your favorite uncompress utility to uncompress the .ZIP archive to the appropriate directory. I recommend using PKUNZIP from PKWare ( to unzip the file on Unix, OS/2, and Open/VMS systems.

For Domino servers, the code should be installed in the notes/data/domino/html directory. After installation, Domino users can run the DevPack online documentation or samples from http://dominoServerName/eSuiteDP20.

DevPack's Key Technologies
Three key technologies form the backbone of DevPack in building Java applications: InfoBus, InfoCenter, and Template Builder. Let's take a look at each of these components.

InfoBus. The eSuite InfoBus is a software mechanism that lets industry-standard Java components, such as JavaBeans and applets, communicate data with each other through structured protocols. With InfoBus's communications mechanism, Java components don't have to use vendor-specific methods on each production or consumption of data, and they can receive automatic notification of data changes. JavaSoft has accepted InfoBus 1.1 as the first public release.

Any component that implements the InfoBus APIs can register as a member of the InfoBus and then produce or consume InfoBus data within a single JVM. An InfoBus object manages the member components that produce or listen for data. The data is transferred asynchronously as a unit object called a data item through events. A data item is a Java wrapper object for applet data, with a public name. The data handled by the data item can be one value, an array of values, or a collection of values. An InfoBus-compliant component typically registers with the InfoBus when it first becomes active. Then, members can identify data items by their public data item names.

InfoBus uses the same kind of event model that the Java graphical user interface uses. To transfer data using the InfoBus, data producers and consumers issue InfoBus Java events. These events request a data item, announce that an item is available, or revoke an item. The InfoBus serves as a communications manager, transferring events and data items between producers and consumers and efficiently enabling multiple consumers to access the same data item. No low-level interprocess data locking need be coded by application developers. To request a data item, a data consumer simply calls a request-data method on the data item.

A Web page developer can link the data of two or more eSuite applets through the InfoBus using standard HTML tags, such as <PARAM>. When one applet makes data available via the InfoBus, other applets can process the data, display the data, and respond to changes in the data.

InfoCenter. The eSuite InfoCenter is the common user interface used to set an applet's properties (e.g., background color, font) and to perform actions (e.g., cutting and pasting, saving, printing). The InfoCenter forms part of the user interface standard in every DevPack applet. It consists of three main elements:
  • an action bar, which displays top-level commands and some of their more frequently used options
  • pop-up menus, which appear when users clicks command options
  • panels, which appear when users choose certain other command options (panels are functionally comparable to the dialog boxes that other applications use to set related groups of properties or perform operations)

Users can use the InfoCenter to change the way data is presented to give a better perception on the fly. Figures 1a through 1e show the power of the InfoCenter to change the data representation from bar charts to pie charts with only a few mouse clicks. Developers can customize the InfoCenter that's displayed for a DevPack applet using the Template Builder, which I cover next.

Template Builder. The eSuite Template Builder is a utility that lets developers create preformatted documents called templates that an eSuite applet can load and display at runtime. Using the Template Builder, you can create spreadsheet, scheduler, chart, presentation graphics, and word processor templates. As I mentioned, you can also use Template Builder to customize an applet's InfoCenter.

After installing the JDK and DevPack, you run the Template Builder by executing the batch file tbuilder.bat in directory eSuiteDP20\tools. The first time you run tbuilder.bat, a series of three dialog boxes prompts you for the location of your preferred browser. The information you provide is written to a file called in directory eSuiteDP20\tools and is read whenever Template Builder is opened. The properties file tells Template Builder where to display help information. If you're running Windows 95, it's a good idea to set the MS-DOS memory properties of tbuilder.bat to a larger value (e.g., 4,096). To change the memory setting, right-click the MS-DOS icon on your desktop and select Properties, then Memory.

DevPack in Action
With that introduction to the key DevPack technologies under your belt, you're ready to create a sample application. For a step-by-step look at the process of developing a simple DevPack Java applet for integration and deployment on a Domino server, see "Building Java Apps with Lotus eSuite DevPack, Part 2: DevPack in Action."

Richard Sinn is a staff software engineer at IBM's Santa Teresa Laboratory in San Jose, California. He is also a lecturer at San Jose State University and a freelance writer for different magazines and journals. You can reach him via e-mail at or at his Web site,

Figure 1
Figure 1.

Figure 2
Figure 2.

Figure 3
Figure 3.

Figure 4
Figure 4.

Figure 5
Figure 5.

For more of Richard's work, check out:
    Archive by Author: Richard Sinn

You are at
Report Bugs | Submit Comments | Read Site Use Agreement | Read Privacy Policy | Contact Us
Copyright © 2000 Duke Communications International.

Duke Communications DominoPro | AS400 Network | Business Finance | SQL Server Magazine | Windows 2000 Magazine