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 V126.96.36.199
- 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
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
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
SaleCampaignUIand 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
ProductPromotionas 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
ProductPromotionas 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.
OrderItemsas 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
- Click Receive, then click the Properties tab, then the Details tabs.
- Change Variable to
- Change Variable to
input1for 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
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
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
SaleCampaignas 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
- 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.
OrderItemsas 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.
ApprovalFormas 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.
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.
The authors would like to thank Stefan Ruettinger (IBM Germany) and Aparna Katti (IBM Canada) for their thorough review of this article.
|Completed Lotus form||promotion.zip||10KB|
- Get started with WebSphere business process management V6.1 software: An introduction to the Clips and Tacks end-to-end BPM tutorial: This article introduces you to IBM WebSphere business process management by describing how to use the Clips and Tacks tutorial to build and deploy a business process and configure a business dashboard to monitor that process.
- WebSphere Business Process Management V6.1 Information Center: Get complete product documentation on WebSphere BPM products.
- WebSphere business process management zone: Get the latest technical resources for WebSphere BPM solutions, including articles, tutorials, events, downloads, and more.
- Business Process Management enabled by SOA: Get complete product information on IBM BPM software, including features and benefits, downloads, and more.
- IBM Lotus Forms 3.0.1 Information Center: Get complete product documentation.
- Installing optional software and documentation: This topic in the WebSphere Integration Developer V6.1 Information Center provides detailed information on how to install Lotus Forms Designer, Viewer and Server 3.0.
Get products and technologies
- "Clips and Tacks: Getting started with the IBM BPM suite of products" tutorial: Take the BPM tutorial and get the sample described in this article.
Dig deeper into Business process management on developerWorks
Get samples, articles, product docs, and community resources to help build, deploy, and manage your cloud apps.
Experiment with new directions in software development.
Software development in the cloud. Register today to create a project.
Evaluate IBM software and solutions, and transform challenges into opportunities.