IBM Lotus Expeditor Toolkit provides a complete, integrated set of tools that allows you to develop, debug, test, package, and deploy client applications to IBM Lotus Expeditor V6.1, IBM Lotus Sametime V7.5.1, and IBM Lotus Notes V8. You can use the toolkit to develop the following types of client applications:
- Eclipse Rich Client Platform (RCP) applications (desktop client only)
- Eclipse embedded Rich Client Platform applications
- Web applications
- Embedded transaction applications
- Portlet applications (desktop client only)
- Database applications
- Messaging applications
- Web services applications
The toolkit provides wizards that enable you to create Client Services projects to develop client applications. The toolkit uses target definitions to provide a convenient method for you to specify the runtime environment, the build-time environment, and the set of components that can run on the platform. For example, when you create a Client Services project, you select a target definition from a list of available targets, and then a set of features from a list in the target definition. The toolkit uses this information to automatically set up the Java build path and runtime for your project. You can then edit, compile, and debug your project. The toolkit provides a default list of target definitions; however, you can also create your own definitions.
Who should use the toolkit?
Lotus Expeditor Toolkit is intended for use by Java, Eclipse RCP, and J2EE developers. Using the provided tools, you can reuse your existing skills and resources to deploy existing applications or to build new applications for your target runtime environment.
A non-warranted and non-supported version of the Lotus Expeditor Toolkit V6.1 is available for download from the DeveloperWorks Lotus Toolkits page. The downloaded file contains an update site that can be installed into an existing Eclipse 3.2.1 or later based IDE, including IBM Rational Application Developer for WebSphere Software V7.0.
At a minimum, Lotus Expeditor Toolkit requires Eclipse 3.2.1. For most functions, including the sample used in this article, you should also install the Eclipse Web Tools Platform (WTP). This can be installed from the predefined Callisto Discovery site available in Eclipse. If you do not already have a version of Eclipse and the Eclipse Web Tools Platform installed, you can download and install the Java EE project bundle of Eclipse from the IBM Callisto Simultaneous Release project page. The Java EE project bundle and Lotus Expeditor Toolkit together provide everything needed for development of Java, Web, and Web services applications for Lotus Expeditor. Most application types can be created using just Eclipse Callisto (3.2.2), WTP, and the toolkit. If you create embedded transaction applications or portlet applications, you need to install Rational Application Developer V7.0. If you are not already a Rational Application Developer customer, you can download and install an evaluation version of the software. Prior to installing Lotus Expeditor Toolkit in Rational Application Developer, be sure to update to the latest fix pack of the Rational software.
Table 1. Required software
|Application type or required function||Minimum prerequisite software for Lotus Expeditor Toolkit|
|Standard Java and Eclipse RCP and eRCP||Eclipse 3.2.2|
|Web Application Java, JSP, Servlet||Eclipse 3.2.2 and Eclipse Web Tools Platform 1.5.4|
|Web Application Portlet Embedded transaction container||Rational Application Developer V220.127.116.11 or IBM Rational Software Architect V18.104.22.168|
After you download the toolkit ZIP file, unzip the file in a temporary location. To access the toolkit installation instructions, release notes, and other documentation, open the autorun.html file in your browser of choice. Lotus Expeditor Toolkit is divided into four features in two categories as shown in figure 1. The desktop category includes Lotus Expeditor Toolkit 22.214.171.12470731, Lotus Expeditor Development Runtimes VM 126.96.36.199707311521, and Lotus Expeditor Development Runtimes 188.8.131.52707311521. The device category includes Lotus Expeditor Tooling for Devices 184.108.40.206-20070626. NOTE: If you use the Lotus Expeditor Toolkit V6.1.2, the version numbers will be slightly different.
Figure 1. Lotus Expeditor Toolkit V6.1.1 update site
Depending upon your target runtime environment, different combinations of these features can be installed. The base feature is the Lotus Expeditor Toolkit V6.1 feature. This contains the core tooling, and it should be installed by all developers. The Lotus Expeditor Development Runtimes VM 6.1.1 contains a version of jclDesktop that can be used with Lotus Expeditor for Desktop and Lotus Sametime V7.5.1. The Lotus Expeditor Development Runtimes 6.1 contains a version of the Lotus Expeditor for Desktop client runtime that can be used to build and test code through Lotus Expeditor Toolkit. You should install the Lotus Expeditor Tooling for Devices 6.1 if you develop applications for devices. This feature contains a win32 version of the device client that can be used for building and debugging applications on the Windows desktop platform. After you decide which features you need to install, follow the detailed installation instructions provided in the autorun.html file. For the purposes of this article and follow-up articles, it is recommended that you install all three of the toolkit features in the desktop category. Regardless of your initial choices, you can always go back to the update site and install the additional components you need. After you install Lotus Expeditor Toolkit and restart Eclipse, you are presented with the configuration dialog box shown in figure 2.
Figure 2. Toolkit Configuration dialog box
To develop applications for Lotus Expeditor for Desktop, select Lotus Expeditor for Desktop in the Test Environment option. Doing so defaults the target platform to the version of Lotus Expeditor for Desktop provided with the toolkit. In addition, the jclDesktop VM is selected for you, and the compiler compliance level is set to 1.4.
To develop applications for Lotus Expeditor for Devices, select the Lotus Expeditor for Devices in the Test Environment option. This option is available only if you installed the Lotus Expeditor Tooling for Device feature. Doing so defaults the target platform to the version of Lotus Expeditor for Devices provided with the toolkit. The jclDevice VM is selected for you, and the compiler compliance level is set to 1.4.
NOTE: You can develop code for the device platform on Linux; however, you cannot run the platform on these systems. You must create an update site with the features you want to install and deploy those to the device. Windows XP is the recommended platform to use when developing for the Lotus Expeditor for Devices platform.
It is also recommended that you select the option "Attempt to configure the toolkit the first time a workspace opens" in the Auto-Configuration Preference dialog box. This selection causes the configuration dialog box to be presented only the first time the toolkit is used in a workspace. You can change this preference later in any workspace. When you click OK, the Eclipse IDE is reconfigured for development against Lotus Expeditor for Desktop.
If you are developing for Lotus Notes V8 or Lotus Sametime V7.5.1, follow the instructions for configuring for Lotus Expeditor for Desktop. This process allows you to complete the tour of the overview of the toolkit provided in this article.
If you want to change the configuration of the toolkit later, you can access the configuration preference by choosing Window - Preferences - Client Services. On this page, you can reconfigure the environment to any of the other supported environments. Click the Configure button, and modify the IDE using the same dialog box as presented at startup. After you save your changes in the dialog box, Eclipse is updated with your new selections.
Applications built to run on Lotus Expeditor must provide information to the platform about their contents through the OSGi Manifest file. For additional information on the OSGi manifest, see the "Creating manifest files" topic in the Lotus Expeditor Developers Guide.
Lotus Expeditor Toolkit also provides the ability to automatically manage OSGi manifest dependencies. (For more information, read the developerWorks article, "Understanding how Eclipse plug-ins work with OSGi." ) The default setting automatically adds Import-Package statements into your manifest file as necessary. If you want to use Require-Bundle statements for manifest dependencies, select the "Give preference to Require-Bundle" option, and click OK. In general, the default selection of Import-Package is the most appropriate. For additional details on the OSGi manifest, Require-Bundle, and Import-Package, refer to the "Class loading" topic of the Lotus Expeditor Information Center. The preference can be modified later by choosing Windows â Preferences â Client Services â Development.
Import a sample
Lotus Expeditor Toolkit provides a large number of samples for both the Desktop and Device applications. When you use Rational Application Developer, you can import the samples using the Samples Gallery. To start the samples gallery from Rational Application Developer, simply choose Help - Samples Gallery. The Samples Gallery is displayed in a new window. There are Lotus Expeditor samples and/or a Lotus Expeditor samples for Devices category under Showcase samples, Application samples, and the Technology samples sections of the Samples Gallery as shown in figure 3.
Figure 3. Order entry sample in Rational Samples Gallery
To import a sample, select the sample you want to import in the left pane and click the option Import the sample in the right pane. Let's use the Order Entry sample, available from the Showcase samples section, to demonstrate the launch capability; import that feature now. When you are presented with the Order Entry sample dialog box as shown in figure 4, click Finish.
Figure 4. Import Order Entry sample
The sample projects are imported into the workspace. If you have configured Eclipse for use with the device client, reconfigure the environment now for Lotus Expeditor for Desktop.
If you are using Eclipse and not Rational Application Developer, you can import the sample from the file system. To import the Order Entry sample using just Eclipse and the Web Tools Platform, follow these steps:
- Choose File - Import - General - Existing Projects into Workspace.
- Click Next.
- Choose the Select archive file option, and then click Browse.
- Browse to <eclipse_install>\plugins\com.ibm.rcp.tools.samplegallery_6.1.1.<date>\archive\orderentry.jar, and then click Open. (Versions will be slightly different in the 6.1.2 version of the toolkit.)
- Verify that the checkboxes next to all the projects have been selected, and then click Finish as shown in figure 5.
Figure 5. Import the Order Entry sample in Eclipse
The Order Entry sample is really two separate interface samples. The Order Entry Web sample is an example of a Web (JSP/servlet)-based application that can run locally on Lotus Expeditor Client. It requires either Rational Application Developer or Eclipse and the Web Tools Platform (WTP) to build the Web application. The Order Entry sample also includes the Order Entry Rich Client sample, which shows an SWT-based user interface. The business logic used in the sample is shared between the Web and the Rich Client versions. The Rich Client version can be built and run using only the Eclipse SDK.
Lotus Expeditor Toolkit provides a custom launcher that can be used to launch Lotus Expeditor for Desktop, Lotus Expeditor for Devices, Lotus Sametime, and Lotus Notes. You can access the launcher by choosing Run - Run from the IDE menu. The launcher is named Client Services. Select the Client Services launcher in the left pane, and then click the New button. This creates a new instance of the Client Services launcher as shown in figure 6.
Figure 6. Lotus Expeditor Toolkit Client Services launcher
The launcher is populated with all the options you need to launch your configured platform. Click the Run button to launch the client platform. Lotus Expeditor Client is launched, and you are asked to create a new password if this is your first launch in the selected workspace; otherwise, you can enter your previously created password.
Start the Web version of the sample by clicking the Open button and choosing Order Entry Web Sample from the drop-down list.
You then see the starting page of the Web version of the sample as shown in figure 7. Click the Start button to begin using the sample application. Create a few new orders using the Web user interface.
Figure 7. Home page for the Order Entry Web Sample
Now start the rich client version of the sample by clicking the Open button and choosing Order Entry Rich Client Sample.
You then see the starting page of the Rich Client version of the sample. If you created orders in the Web version, you see these orders reflected in the Rich Client version as well as shown in figure 8.
Figure 8. Home page for the Order Entry Rich Client Sample
At this point, both the Web and the rich client versions of the sample are running. Because the two different applications share a common set of backend logic, orders that are created in one user interface are reflected in the other. You can move between the two versions of the sample, creating new orders in each interface by selecting the different application tabs at the top of the user interface.
A basic Order Entry Server is also provided as part of the sample. If you want to see the orders processed, refer to the Order Entry Sample instructions provided in the Sample Gallery or in the developers guide.
When you are ready to create your own applications, you can create projects using Lotus Expeditor Toolkit. The toolkit provides five different types of projects, which you can see by choosing File - New - Projects - Client Services category from the Eclipse menu. The five project types are the Client Services Project, the Client Services Web Project, the Client Services Portlet Project, the Client Services Embedded Transaction Project, and the Client Services Fragment Project as seen in figure 9.
Figure 9. Lotus Expeditor project types
Table 2 lists the recommended use of the project types.
Table 2. Project types and their recommended use
|Project type||Suggested use|
|Client Services project||Basic Java code, user interfaces build from SWT and JFace, JDBC access, or other access to most Lotus Expeditor Java APIs.|
|Client Services Fragment project||Packaging of native code, platform-specific code, and translated material in properties, XML files, and so on.|
|Client Services Web project||Servlets, JSPs, Axis 1.3 Web service clients.|
|Client Services Portlet project||JSR-168 portlets; these projects are available only in Rational Application Developer when you install the Portlet tools.|
|Client Services Embedded Transaction project||Enterprise Java Beans (EJBs); these projects are available only in Rational Application Developer when you install the EJB tools.|
In addition to the default configurations that Lotus Expeditor Toolkit provides, there are other advanced configuration options that you may find useful. Lotus Expeditor Desktop Client and Device Client are designed to be configured and installed in a number of custom configurations to meet your needs. Lotus Expeditor Toolkit enhances the Eclipse concept of targets to allow you to simulate different configurations of the clients in your development environment to match the version installed on users' systems. When you configure Lotus Expeditor Toolkit for Desktop, the workspace target is set to the Default Target. Lotus Expeditor Toolkit provides two other configurations of Lotus Expeditor for you to work with. The core target provides a subset of Lotus Expeditor that matches its minimum working set. The Default with Embedded Sametime Target allows you to launch Lotus Expeditor along with the embedded version of Lotus Sametime. Figure 10 shows Lotus Expeditor Client running the Order Entry rich client sample along with the embedded version of Lotus Sametime in the sidebar.
Figure 10. Order Entry rich client sample running with embedded Lotus Sametime in Lotus Expeditor
The target that is used can be selected in a few different places. To set the default for the workspace (that is, for new projects and new launch configurations), set the Default Target Selection on the Window - Preferences - Client Services - Development preference page as shown in figure 11.
Figure 11. Set the workspace default target from the Clients Services â Development page
You can also override the workspace default for each project. During the project creation process, you can select from any of the available targets in the system. To limit the choices, deselect the ones you do not need in the "Select the Targets to be available for development" option on the Client Services â Development preference page (see figure 11). When you create a launch configuration, you can override the launch that is used by selecting the Targets tab of the launcher.
You can use the Core target provided by the toolkit as a template to create your own custom configurations of Lotus Expeditor and to launch them from the toolkit. To create your own target, import the Core target and use the Eclipse target editor to add the features that your custom Lotus Expeditor platform contains. The target file also contains a number of additional fields that are not available in the Eclipse editor. To edit those fields, open the .target file in a text editor. See the "Creating a Target Definition" section of the Lotus Expeditor Developers Guide for more information on creating a custom target.
In this article, you reviewed the process for installing and configuring Lotus Expeditor Toolkit. You learned how to import a sample application and how to launch the application on the embedded Lotus Expeditor Test Environment. You also got a brief overview of the projects you can create with the toolkit. Finally, you saw some advanced features of the toolkit that you can use in developing applications for custom Lotus Expeditor platforms.
- Read the developerWorks Lotus article, "End-to-end integration with pervasive messaging and IBM Lotus Expeditor micro broker."
- Read the developerWorks Lotus article, "Building an offline application in IBM Lotus Expeditor."
- Read the developerWorks Lotus article, "Developing and deploying rich client applications on desktops and mobile devices using IBM Lotus Expeditor V6.1."
- Read the developerWorks Lotus article, "Migrating Eclipse RCP applications to IBM Lotus Expeditor."
- Read the developerWorks Lotus article, "Creating collaborative components for IBM Lotus Expeditor Property Broker."
- Read the developerWorks Lotus article, "Developing an OSGi service as a Web service in IBM Lotus Expeditor."
- Read the developerWorks Lotus article, "Building and deploying a simple Web Services Resource in IBM Lotus Expeditor."
- Read the IBM Redbooks publication, Building Composite Applications in Lotus Expeditor V6.1.
- Read the developerWorks Lotus Expeditor page.
- Refer to the IBM Lotus Expeditor documentation page.
- Refer to the Eclipse project resource site.