 | Level: Intermediate Dr. Johny Mathew (jmathew@us.ibm.com), Senior Software Engineer, IBM Billy Rowe (browe@us.ibm.com), Senior Software Developer, IBM
18 Jun 2008
Learn different methods for integrating IBM® Lotus® Forms into
your business processes and human tasks using IBM WebSphere® business
process management V6.1 products.
From IBM WebSphere Developer Technical Journal.
Introduction
This article shows how Lotus Forms is integrated into the IBM business
process management (BPM) suite of products. There are four primary usage
patterns for leveraging Lotus Forms in the BPM V6.1. The pattern you
choose depends on the artifacts that already exist and your preference
for, or expertise with, a particular IBM BPM tool. In this article, you'll
learn about all four approaches to using Lotus Forms in WebSphere Business
Modeler (hereafter called Modeler) and WebSphere Integration Developer
(hereafter called Integration Developer).
This article assumes you have some familiarity with both products. If
you're unfamiliar with the IBM BPM or Lotus Forms products, refer to
Getting
started with WebSphere business process management V6.1 software
for an overview, or
Clips and
Tacks: Getting started with the IBM BPM suite of products
for hands-on experience.
To follow the step-by-step instructions in this article, you'll need the
following software installed:
- WebSphere Business Modeler Advanced V6.1
- WebSphere Integration Developer V6.1.0.1
- Lotus Forms Server V3.1 (installed into Integration Developer)
- Lotus Forms Viewer V3.1 (installed into Integration Developer)
- Optionally, Lotus Forms Designer, if you want to modify the generated
Lotus form.
More information: For more information, see to
Installing optional software and documentation
in the WebSphere Integration Developer V6.1 Information Center.
The following scenarios are based on a fictional company called JK Direct.
Start with a form in Modeler
Whenever a JK Direct sales manager wants to put major items on sale, a
paper form must be completed and sent overnight to headquarters for
approval. This process takes at least three days, which occasionally
results in JK Direct losing the competitive advantage. The JK Direct
management team decides to optimize this process and shorten the time it
takes to get approval by using electronic forms and IBM BPM products. They
ask their in-house BPM team to build a business process to achieve this
improvement.
The BPM team:
- Builds a model of the business process in Modeler
- Converts the paper form into a Lotus Form
- Imports the form into Modeler
- Completes the process integration development and generates a user
interface prototype in Integration Developer.
The steps the BPM team follows to complete and run the business process
are:
- Convert the paper form into a Lotus form using the Lotus Forms
Designer. The completed form, promotion.xfdl, is included for
download with this article. Using the Lotus
Forms Designer to create Lotus forms is beyond the scope of this
article. Refer to
Lotus Forms 3.0.1 Information Center
for more information.
Figure 1 shows the Lotus form,
promotion.xfldl, that was created based on the existing paper
form. This electronic form can be imported into Modeler during
business process modeling, or into Integration Developer during
integration development. You'll see later that this form will
become part of the human task user interface.
Figure 1. The Lotus
form promotion.xfdl
- Create a new business process model, by doing the following:
- Start WebSphere Business Modeler with a new workspace. The
Start Process Modeling wizard opens.
- Enter a Project name and a Business Process
name, as shown in Figure 2, and click Next.
Figure 2.
Create a new business process model
- In the next dialog, uncheck Create business item and
click Finish.
- The ProductPromotion process diagram displays. Delete the
Start and Stop nodes from the process
diagram, and change the modeling mode to WebSphere Process
Server.
- Import the Lotus form by doing the following:
- Right-click Process in the process tree and select
Import.
- Select Lotus Forms from the list and click Next.
- Click Browse and select the directory containing the
Lotus form.
- Select promotion.xfdl and click Finish to import
the form.
- Expand Business service objects in the project tree to
display the business service objects created by importing the
Lotus form. Figure 3 shows the ApprovalForm business service
object. The Lotus form used is an Xform and the data service
object names come from the names of the data items used while
creating the form. XForms create a separate data layer inside
the form, letting you collect data from the form and copy it
into a separate block of XML that you can format as you like.
Figure 3.
ApprovalForm business service object
- Create the process diagram by doing the following:
- Open the ProductPromotion process diagram by double-clicking
ProductPromotion under Processes in the
project tree.
- Click the create local human task icon in the palette,
and then click the process diagram to create a human task in
the process.
- Rename the human task to Promotion Approver.
- Right-click the Promotion Approver human task and
select Associate Form.
- Click Browse and select the promotion form as
shown in Figure 4.
Figure 4.
Select the promotion form
- Click OK, then OK again.
- Click the Connections icon in the palette and wire the
process diagram as shown in Figure 5.
Figure 5. Wire
the process diagram
- To export the process model, do the following:
- Right-click SaleCampaign in the left pane and select
Export.
- Select WebSphere Integration Developer from the list
and click Next.
- Select a target directory and click Next.
- Select Module from the Select the export
context menu and click Finish. Verify that
SelectCampaign appended with the current date is in the
directory you selected.
- Start Integration Developer with a new workspace, and import the
SaleCampaign process model exported from Modeler.
- Open the ProductPromotion assembly diagram and delete the
ProductPromotion Export. Later you'll add an inline invocation human
task to start the process.
- Save the updated assembly diagram. Figure 6 shows the modified
assembly diagram.
Figure 6. Modified
assembly diagram
- Expand Interfaces and open ProductPromotion.
- Change Input and Output to INSTANCE as shown in
Figure 7. The input and output names must match for the Lotus form to
work properly.
Figure 7. Change Input
and Output to INSTANCE
- Expand Business Logic and open the ProductPromotion
process diagram.
- Click the Properties tab, then the Details tab.
- Change Automatically delete the process after completion to
No as shown in Figure 8. This retains the completed
processes for you to review later.
Figure 8. Specify not
to delete processes after completion
- To start the business process with the Lotus form, you'll need an
inline invocation human task using the promotion.xfdl form as input
and output. To create this task, do the following:
- From the process diagram, select
ProductPromotionReceive, then click the
Properties tab, then the Details tab.
- Select Variable and select ApprovalFormVariable,
then click the Authorization tab.
- Click New to open the human task wizard.
- Click the + sign under UserInterface and select IBM
Lotus Forms Client.
- Click Browse under Client Settings, and select
the promotion.xfdl form as shown in Figure 9.
Figure 9.
Select promotion.xfdl
- Select ProductPromotionReply from the process diagram,
then click the Properties tab, then the Details
tab.
- Change Variable to ApprovalFormVariable.
- To interact with the business process you've created, you need to
create a client. Because you're using Lotus form, you need to create
an IBM Lotus Forms client. To do this, complete the following steps:
- Right-click SaleCampaign and select Generate User
Interfaces.
- Select IBM Lotus Forms client for Generator
type, and click Next.
Figure 10.
Select generator type
- In the next dialog, specify
SaleCampaignUI and click
Finish.
- You'll use the Integrated Test Environment supplied with the
Integration Developer to deploy and run the process. To deploy and run
the process, do the following:
- If not already started, start the server.
- Use Add and Remove Projects to add both of the projects
you created (SaleCampaignApp and SaleCampaignUIEAR).
- Open a browser to http://localhost:9080/SaleCampaignUI, and
log in.
- Select New => ProductPromotion_InputCriterion.
The Promotion Approval Form displays, as shown in Figure 11.
Figure 11.
Promotion Approval Form
- Enter appropriate data and click Create.
- Select Open under My ToDo’s in the left
navigation, then select the item under Task Name.
- Select Claim so that you can work on the form.
- Click Add Signature and sign the form.
- Click Complete to complete the process.
- To view the completed processes and forms, select Status and
then follow the links.
 |
Start with a form in
Integration Developer
Starting with a form in Integration Developer is essentially the same as
starting with a form in Modeler, with the team first creating the form in
Lotus Forms Designer. However, the team does process development in
Integration Developer and doesn't use Modeler.
- To create a module in Integration Developer, start Integration
Developer with a new workspace, and create a new module called
SaleCampaign, as shown in Figure 12.
Figure 12. Create
SaleCampaign module in Integration Developer
- To create a business process from the Lotus form:
- Right-click the SaleCampaign module in the left pane
and select New => Business Process.
- Select New from Pattern.
- Expand Business Processes and select Human Task
Client from Lotus Form.
- Click Next as shown in Figure 13.
Figure 13.
Create human task client from Lotus form
- In the next dialog, specify
ProductPromotion as the Name
and click Next.
- In the next dialog, check Process is initiated by
invocation task, then click Browse and select
Import from File System followed by
promotion.xfdl. Click Open, then select
promotion.xfdl and click OK. Click
Add and select promotion.xfdl. (Note that you
can create multiple tasks from a single Lotus form; however,
we'll create only one task.) Click Finish, as shown in
Figure 14, to create the business process.
Figure 14.
Create the business process
The process created from the Lotus form also created the
business object and interface shown in Figures 15 and 16.
Figure 15. New
business object
Figure 16. New
interface
- To generate the client, change Automatically delete the process
after completion to No as you did in the Modeler
scenario.
- Generate the user interface, deploy the artifacts, and execute on the
integrated test servers as described in the Modeler scenario.
 |
Generate a form in
Integration Developer
In this scenario, a data item, or business object, is used to generate the
Lotus form in Integration Developer. This is a great way to prototype an
application while the production-quality forms are being created. To
create and run the business process, do the following:
- Start Integration Developer with a new workspace, and create a new
module called SaleCampaign
- To create the business process, do the following:
- Right-click SaleCampaign and select New =>
Business Process.
- In the New Business Process dialog, specify
ProductPromotion as the
Name, and click Next, then Finish, as
shown in Figure 17.
Figure 17.
Create new business process
- To create the business objects, do the following:
- In the left pane, expand SaleCampaign, right-click
DataTypes, and select New => Business
Object.
- Specify
OrderItems as the
Name and click Finish, as shown in Figure 18.
Figure 18.
Create OrderItems business object
- Add two new attributes as shown in Figure 19.
Figure 19. Add
attributes to OrderItems
- Add two more business objects, Promotion and ApprovalForm, as shown in
Figure 20 and Figure 21.
Figure 20. Add
Promotion business object
Figure 21. Add
ApprovalForm business object
- Update the interface by doing the following:
- Open the ProductPromotion interface.
- Change the type from string to ApprovalForm as
shown in Figure 22.
- Rename Input and Output to
ApprovalForm. This is required for
the Lotus Forms attachment to work properly.
Figure 22.
Update the interface
- Update the business process as follows:
- In the ProductPromotion business process, click
input1 under Variables, then click the
Properties tab, then the Description tab.
- Change the Data Type from string to
ApprovalForm.
- Click Receive, then click the Properties tab,
then the Details tabs.
- Change Variable to
input1.
- Change Variable to
input1
for Reply also.
- Select No for Automatically delete the process after
completion.
- To create the invocation task:
- Select Receive, then select Properties =>
Authorization, then click New.
- In the human task wizard, click + under User
Interface, and select IBM Lotus Forms
client.
- To create the Lotus form, click New as shown in Figure 23, then
click OK.
Figure 23. Create new
Lotus Forms client
Figure 24 shows the generated Lotus form. As you can see, it is
generic and contains only simple representations of the fields
defined in the business objects. You can use the Lotus Forms
Designer to improve the look of this form and add a signature
section. However, we'll just use what we have for prototyping and
testing the process.
Figure 24. Generated
ApprovalForm
- Add the Promotion Approval human task and attach the generated
form to it, by doing the following:
- In the ProductPromotion business process diagram, click
Human Task in the palette and click below the
Receive node.
- Select the ProductPromotion interface and click
OK.
- The human task wizard opens. Click + under User
Interface and select IBM Lotus Forms client.
- Under Properties, click Browse and select
ProductPromotionTask1.xfdl, then click OK,
as shown in Figure 25.
Figure 25.
Select ProductPromotionTask1.xfdl
- Save and close the human task.
- In the business process diagram, click Human Task and rename it
to
Promotion
Approver, as shown in Figure
26.
Figure 26. Rename
human task
- Under Properties, click Details and change the
Variable for Input and Output to
input1, as shown in Figure 27.
Figure 27. Change
input and output variables
- Create the assembly diagram by double-clicking it to open an empty
assembly diagram.
- Drag the ProductPromotion process to the assembly diagram.
- Save all unsaved items.
- Generate the client user interfaces the same way as you did in the
previous scenarios.
- Deploy and run the process the same as in previous scenarios. However,
you'll notice that the form’s look and feel is different. Also note
that this form does not have a signature section for the Approver to
sign. You can add that section using the Lotus Forms Designer if you
like. For more information, see to
Installing optional software and documentation
in the WebSphere Integration Developer V6.1 Information Center.
 |
Generate a form in
Modeler
This scenario is very similar to the previous one. However, in this case
the team builds a business model and Lotus form in Modeler.
- To create the business model, do the following:
- Start Modeler with a new workspace.
- In the Start Process Modeling wizard, specify
SaleCampaign as the Project
name, and ProductPromotionas
the Business Process name, and click Next.
- Uncheck Create business item and click Finish.
- The ProductPromotion business process diagram opens. Delete
the Start and Stop nodes from the diagram.
- Change the mode to WebSphere Process Server since the
completed process will run there.
- Click the Create local human task icon and then click in the
process diagram to create a human task.
- Rename the human task to
Promotion
Approver.
- Click the Connections tool and wire the process diagram as
shown in Figure 28.
Figure 28. Wire the
process diagram
- To define business items, expand SaleCampaign in the left pane,
then right-click Business items => New => Business
Item.
- Specify
OrderItems as the name of the new
business item and click Finish, as shown in Figure 29.
Figure 29. Create
OrderItems business item
- Click Add to add the attributes as shown in Figure 30.
Figure 30. Add
attributes
- In the same way, add the following Promotion and ApprovalForm business
items, as shown in Figures 31 and 32.
Figure 31. Create
Promotion business item
Figure 32. Create
ApprovalProcess business item
- To associate data, do the following:
- Open the ProductPromotion process diagram.
- Right-click the link to the Promotion Approver task and
select Associate Data.
- Select ApprovalForm and click OK.
- In the same manner, associate ApprovalForm data on the link
leading away from the Promotion Approver task.
- To generate the Lotus form:
- Right-click Promotion Approver and select Generate
Form.
- Click New Form next to Input Form.
- Specify
ApprovalForm as the name of
the form, and click Finish, as shown in Figure 33.
Figure 33.
Create ApprovalForm
- Right-click the Promotion Approver human task and select
Associate Form.
- Browse and select ApprovalForm, and click OK to
associate the same form to the input and output of the human task.
- Complete the following steps, as described in the first scenario, to
execute the new process and form.
- Export the model.
- Complete the development in Integration Developer.
- Generate the client.
- Deploy and run the process.
 |
Summary
In this article, you learned about different ways you can create and use
Lotus Forms in IBM business process management products. Depending on your
business situation and familiarity with the products, you can decide which
approach is the best for your team. However, the recommended approach is
to start with WebSphere Business Modeler, and let a business analyst build
the model, use Modeler's simulation and analysis capabilities to optimize
the model before implementing the final version. Leveraging the domain
expertise of business analysts in designing the forms will result in fewer
modifications during the implementation and test cycle.
Acknowledgments
The authors would like to thank Stefan Ruettinger (IBM Germany) and Aparna
Katti (IBM Canada) for their thorough review of this article.
Download | Description | Name | Size | Download method |
|---|
| Completed Lotus form | promotion.zip | 10KB | HTTP |
|---|
Resources Learn
Get products and technologies
About the authors  | 
|  |
Johny Mathew is an architect with the IBM Business Process Management
(BPM) suite of products. Prior to this, he worked on Tivoli® products as an
architect and designer, and Communication Server products as Chief Programmer and
developer. Johny received his doctorate in Electrical Engineering (Computer
Networks) from City University of New York. You can reach Johny at
jmathew@us.ibm.com. |
 | 
|  |
Billy Rowe is a senior architect and manager focused on BPM strategy and partner integration within the IBM BPM suite of products. Billy has held various positions within IBM as a developer, architect, and consultant. You can reach Billy at browe@us.ibm.com. |
Rate this page
|  |