Skip to main content

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

Dr. Johny Mathew, Senior Software Engineer, IBM
Johny Mathew photo
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, Senior Software Developer, IBM
Billy Rowe
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.

Summary:  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.

Date:  18 Jun 2008
Level:  Intermediate
Activity:  321 views

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

DescriptionNameSizeDownload method
Completed Lotus formpromotion.zip10KBHTTP

Information about download methods


Resources

Learn

Get products and technologies

About the authors

Johny Mathew photo

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

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.

Comments (Undergoing maintenance)



Trademarks  |  My developerWorks terms and conditions

Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=WebSphere, Lotus
ArticleID=314763
ArticleTitle=Getting started with Lotus Forms in the WebSphere business process management suite
publish-date=06182008
author1-email=jmathew@us.ibm.com
author1-email-cc=crothemi@us.ibm.com
author2-email=browe@us.ibm.com
author2-email-cc=crothemi@us.ibm.com

My developerWorks community

Tags

Help
Use the search field to find all types of content in My developerWorks with that tag.

Use the slider bar to see more or fewer tags.

Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere).

My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Use the search field to find all types of content in My developerWorks with that tag. Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Special offers