Getting started with Lotus Forms in the WebSphere business process management suite

Learn different methods for integrating IBM® Lotus® Forms into your business processes and human tasks using IBM WebSphere® business process management V6.1 products. This content is part of the IBM WebSphere Developer Technical Journal.

Dr. Johny Mathew, Senior Software Engineer, IBM

Johny Mathew photoJohny 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, Senior Software Developer, IBM

Billy RoweBilly 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.



18 June 2008

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:

  1. Builds a model of the business process in Modeler
  2. Converts the paper form into a Lotus Form
  3. Imports the form into Modeler
  4. 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:

  1. 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
    Figure 1. The Lotus form promotion.xfdl
  2. Create a new business process model, by doing the following:
    1. Start WebSphere Business Modeler with a new workspace. The Start Process Modeling wizard opens.
    2. 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
      Figure 2. Create a new business process model
    3. In the next dialog, uncheck Create business item and click Finish.
    4. The ProductPromotion process diagram displays. Delete the Start and Stop nodes from the process diagram, and change the modeling mode to WebSphere Process Server.
  3. Import the Lotus form by doing the following:
    1. Right-click Process in the process tree and select Import.
    2. Select Lotus Forms from the list and click Next.
    3. Click Browse and select the directory containing the Lotus form.
    4. Select promotion.xfdl and click Finish to import the form.
    5. 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
      Figure 3. ApprovalForm business service object
  4. Create the process diagram by doing the following:
    1. Open the ProductPromotion process diagram by double-clicking ProductPromotion under Processes in the project tree.
    2. Click the create local human task icon in the palette, and then click the process diagram to create a human task in the process.
    3. Rename the human task to Promotion Approver.
    4. Right-click the Promotion Approver human task and select Associate Form.
    5. Click Browse and select the promotion form as shown in Figure 4.
      Figure 4. Select the promotion form
      Figure 4. Select the promotion form
    6. Click OK, then OK again.
    7. Click the Connections icon in the palette and wire the process diagram as shown in Figure 5.
      Figure 5. Wire the process diagram
      Figure 5. Wire the process diagram
  5. To export the process model, do the following:
    1. Right-click SaleCampaign in the left pane and select Export.
    2. Select WebSphere Integration Developer from the list and click Next.
    3. Select a target directory and click Next.
    4. 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.
  6. Start Integration Developer with a new workspace, and import the SaleCampaign process model exported from Modeler.
  7. Open the ProductPromotion assembly diagram and delete the ProductPromotion Export. Later you'll add an inline invocation human task to start the process.
  8. Save the updated assembly diagram. Figure 6 shows the modified assembly diagram.
    Figure 6. Modified assembly diagram
    Figure 6. Modified assembly diagram
  9. Expand Interfaces and open ProductPromotion.
  10. 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
    Figure 7. Change Input and Output to INSTANCE
  11. Expand Business Logic and open the ProductPromotion process diagram.
  12. Click the Properties tab, then the Details tab.
  13. 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
    Figure 8. Specify not to delete processes after completion
  14. 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:
    1. From the process diagram, select ProductPromotionReceive, then click the Properties tab, then the Details tab.
    2. Select Variable and select ApprovalFormVariable, then click the Authorization tab.
    3. Click New to open the human task wizard.
    4. Click the + sign under UserInterface and select IBM Lotus Forms Client.
    5. Click Browse under Client Settings, and select the promotion.xfdl form as shown in Figure 9.
      Figure 9. Select promotion.xfdl
      Figure 9. Select promotion.xfd
    6. Select ProductPromotionReply from the process diagram, then click the Properties tab, then the Details tab.
    7. Change Variable to ApprovalFormVariable.
  15. 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:
    1. Right-click SaleCampaign and select Generate User Interfaces.
    2. Select IBM Lotus Forms client for Generator type, and click Next.
      Figure 10. Select generator type
      Figure 10. Select generator type
    3. In the next dialog, specify SaleCampaignUI and click Finish.
  16. 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:
    1. If not already started, start the server.
    2. Use Add and Remove Projects to add both of the projects you created (SaleCampaignApp and SaleCampaignUIEAR).
    3. Open a browser to http://localhost:9080/SaleCampaignUI, and log in.
    4. Select New => ProductPromotion_InputCriterion. The Promotion Approval Form displays, as shown in Figure 11.
      Figure 11. Promotion Approval Form
      Figure 11. Promotion Approval Form
    5. Enter appropriate data and click Create.
    6. Select Open under My ToDo’s in the left navigation, then select the item under Task Name.
    7. Select Claim so that you can work on the form.
    8. Click Add Signature and sign the form.
    9. Click Complete to complete the process.
  17. 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.

  1. 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
    Figure 12. Create SaleCampaign module in Integration Developer
  2. To create a business process from the Lotus form:
    1. Right-click the SaleCampaign module in the left pane and select New => Business Process.
    2. Select New from Pattern.
    3. Expand Business Processes and select Human Task Client from Lotus Form.
    4. Click Next as shown in Figure 13.
      Figure 13. Create human task client from Lotus form
      Figure 13. Create human task client from Lotus form
    5. In the next dialog, specify ProductPromotion as the Name and click Next.
    6. 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
      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 15. New business objects
      Figure 16. New interface
      Figure 16. New interface
  3. To generate the client, change Automatically delete the process after completion to No as you did in the Modeler scenario.
  4. 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:

  1. Start Integration Developer with a new workspace, and create a new module called SaleCampaign
  2. To create the business process, do the following:
    1. Right-click SaleCampaign and select New => Business Process.
    2. 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
      Figure 17. Create new business process
  3. To create the business objects, do the following:
    1. In the left pane, expand SaleCampaign, right-click DataTypes, and select New => Business Object.
    2. Specify OrderItems as the Name and click Finish, as shown in Figure 18.
      Figure 18. Create OrderItems business object
      Figure 18. Create OrderItems business object
    3. Add two new attributes as shown in Figure 19.
      Figure 19. Add attributes to OrderItems
      Figure 19. Add attributes to OrderItems
  4. Add two more business objects, Promotion and ApprovalForm, as shown in Figure 20 and Figure 21.
    Figure 20. Add Promotion business object
    Figure 20. Add Promotion business object
    Figure 21. Add ApprovalForm business object
    Figure 21. Add ApprovalForm business object
  5. Update the interface by doing the following:
    1. Open the ProductPromotion interface.
    2. Change the type from string to ApprovalForm as shown in Figure 22.
    3. Rename Input and Output to ApprovalForm. This is required for the Lotus Forms attachment to work properly.
      Figure 22. Update the interface
      Figure 22. Update the interface
  6. Update the business process as follows:
    1. In the ProductPromotion business process, click input1 under Variables, then click the Properties tab, then the Description tab.
    2. Change the Data Type from string to ApprovalForm.
    3. Click Receive, then click the Properties tab, then the Details tabs.
    4. Change Variable to input1.
    5. Change Variable to input1 for Reply also.
    6. Select No for Automatically delete the process after completion.
  7. To create the invocation task:
    1. Select Receive, then select Properties => Authorization, then click New.
    2. In the human task wizard, click + under User Interface, and select IBM Lotus Forms client.
  8. To create the Lotus form, click New as shown in Figure 23, then click OK.
    Figure 23. Create new Lotus Forms client
    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
    Figure 24. Generated ApprovalForm
  9. Add the Promotion Approval human task and attach the generated form to it, by doing the following:
    1. In the ProductPromotion business process diagram, click Human Task in the palette and click below the Receive node.
    2. Select the ProductPromotion interface and click OK.
    3. The human task wizard opens. Click + under User Interface and select IBM Lotus Forms client.
    4. Under Properties, click Browse and select ProductPromotionTask1.xfdl, then click OK, as shown in Figure 25.
      Figure 25. Select ProductPromotionTask1.xfdl
      Figure 25. Select ProductPromotionTask1.xfdl
  10. Save and close the human task.
  11. In the business process diagram, click Human Task and rename it to Promotion Approver, as shown in Figure 26.
    Figure 26. Rename human task
    Figure 26. Rename human task
  12. 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
    Figure 27. Change input and output variables
  13. Create the assembly diagram by double-clicking it to open an empty assembly diagram.
  14. Drag the ProductPromotion process to the assembly diagram.
  15. Save all unsaved items.
  16. Generate the client user interfaces the same way as you did in the previous scenarios.
  17. 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.

  1. To create the business model, do the following:
    1. Start Modeler with a new workspace.
    2. In the Start Process Modeling wizard, specify SaleCampaign as the Project name, and ProductPromotionas the Business Process name, and click Next.
    3. Uncheck Create business item and click Finish.
    4. The ProductPromotion business process diagram opens. Delete the Start and Stop nodes from the diagram.
    5. Change the mode to WebSphere Process Server since the completed process will run there.
  2. Click the Create local human task icon and then click in the process diagram to create a human task.
  3. Rename the human task to Promotion Approver.
  4. Click the Connections tool and wire the process diagram as shown in Figure 28.
    Figure 28. Wire the process diagram
    Figure 28. Wire the process diagram
  5. To define business items, expand SaleCampaign in the left pane, then right-click Business items => New => Business Item.
  6. Specify OrderItems as the name of the new business item and click Finish, as shown in Figure 29.
    Figure 29. Create OrderItems business item
    Figure 29. Create OrderItems business item
  7. Click Add to add the attributes as shown in Figure 30.
    Figure 30. Add attributes
    Figure 30. Add attributes
  8. 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 31. Create Promotion business item
    Figure 32. Create ApprovalProcess business item
    Figure 32. Create ApprovalProcess business item
  9. To associate data, do the following:
    1. Open the ProductPromotion process diagram.
    2. Right-click the link to the Promotion Approver task and select Associate Data.
    3. Select ApprovalForm and click OK.
    4. In the same manner, associate ApprovalForm data on the link leading away from the Promotion Approver task.
  10. To generate the Lotus form:
    1. Right-click Promotion Approver and select Generate Form.
    2. Click New Form next to Input Form.
    3. Specify ApprovalForm as the name of the form, and click Finish, as shown in Figure 33.
      Figure 33. Create ApprovalForm
      Figure 33. Create ApprovalForm
  11. Right-click the Promotion Approver human task and select Associate Form.
  12. Browse and select ApprovalForm, and click OK to associate the same form to the input and output of the human task.
  13. Complete the following steps, as described in the first scenario, to execute the new process and form.
    1. Export the model.
    2. Complete the development in Integration Developer.
    3. Generate the client.
    4. 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

DescriptionNameSize
Completed Lotus formpromotion.zip10KB

Resources

Learn

Get products and technologies

Comments

developerWorks: Sign in

Required fields are indicated with an asterisk (*).


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Information in your profile (your name, country/region, and company name) is displayed to the public and will accompany any content you post, unless you opt to hide your company name. You may update your IBM account at any time.

All information submitted is secure.

Choose your display name



The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

Required fields are indicated with an asterisk (*).

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


All information submitted is secure.

Dig deeper into Business process management on developerWorks


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Business process management, WebSphere, Lotus
ArticleID=314763
ArticleTitle=Getting started with Lotus Forms in the WebSphere business process management suite
publish-date=06182008