Developing an application that integrates business process management and case management

This article shows you how to integrate the two leading ways of managing business processes and documents: business process management and case management. Using IBM® Business Process Manager V7.5.1 with IBM Case Manager V5.1, it shows you how step-by-step how to develop an application that effectively uses both products together. This content is part of the IBM Business Process Management Journal.

Gary Bist (bist@ca.ibm.com), Staff Technical Writer, IBM

Gary Bist photoGary Bist has worked as a technical writer on several WebSphere products at IBM’s Canada Lab. Gary contributed the information for the IBM Case Manager Integration service in IBM Business Process Manager V7.5.1.



Sebastian Carbajales (sebastia@ca.ibm.com), Senior Software Engineer, IBM

Sebastian Carbajales photoSebastian Carbajales is a senior developer at the IBM Canada Lab who has worked on several WebSphere products. Sebastian led the development of the IBM Case Manager Integration service addition to IBM Business Process Manager V7.5.1.



Tony Chau (tonychau@ca.ibm.com), Software Engineer, IBM

Tony Chau photoTony Chau has worked with several teams on product integration. He was a key developer of the IBM Case Manager Integration service editor in IBM Business Process Manager V7.5.1, and previously helped integrate IBM Process Designer and IBM Integration Designer.



Nita Maheswaren (nitam@ca.ibm.com), Software Developer, IBM

Photo of Nita MaheswarenNita Maheswaren has worked on several WebSphere products at the IBM Canada Lab. He was a key developer of the IBM Case Manager Integration service editor and also played an important role in integrating IBM Process Designer and IBM Integration Designer.



15 February 2012

Also available in Russian

Introduction

Business process management (BPM) and case management are the two leading ways to manage business processes and documents. Together they form a complementary and complete way of managing most complex, enterprise-level business transactions. With IBM Business Process Manager Advanced V7.5.1 (hereafter Business Process Manager), you can access case management cases through services in a business process. The reverse is also true. IBM Case Manager V5.1 (hereafter Case Manager) can also interact with business processes created in Business Process Manager.

In this article we'll show you how to access a case from a business process by creating Case Manager Integration services. We'll then build a business process that includes a user interface along with these services. Finally, we'll look at the business process at run-time as a user would work with it. The application is available with this article as a download.

The case used in this article is from the Credit Card Dispute Management sample, a well-known Case Manager sample (see Acknowledgments).


Developing Case Manager Integration services

Business Process Manager Advanced provides a new integration service editor. This editor has four operations you can use to build services that work with case management cases. In this article, we'll use all four of the following operations:

  • Create case: A case is an instance of a case type in IBM Case Manager. The case type we use is ManageDisputeItem. Using the create case operation creates an instance of the ManageDisputeItem case type. From a user’s perspective a user can register a dispute over a credit card bill with this create case operation.
  • Search case: This operation searches for a case using a Content Management Interoperability Services (CMIS) query. From a user’s perspective a search case operation lets him find his disputed claim at a later date.
  • Retrieve case: Once a case has been found, the retrieve case operation retrieves it. A user can browse the status of his disputed claim with a retrieve case operation.
  • Update case: The update case operation lets a user add additional comments to the credit card dispute created earlier.

As mentioned, we used the Credit Card Dispute Management sample from IBM Case Manager for this article. Because the sample on the IBM Case Manager server has a solution name of Credit Card Dispute Management, we used that same name for the process application developed in this article. The reason for this is that the name of a process application containing IBM Case Manager Integration services must match the name of the case management solution with which the services interact.

To use the editor operations, you must connect the process application in which you are developing your business process to an IBM Case Manager server. You can configure that connection in the Servers section of the Process App Settings page, which is the first page you encounter when opening a process application. It takes only a few minutes to add the hostname, port, target object store, and other information to connect to an IBM Case Manager server. We created a connection called ICM_SERVER.

Creating a service with a case operation

In this section, we'll build the first service, which creates a case instance using the Create case operation.

  1. Open the IBM Case Manager Integration Service editor and drag an IBM Case Manager Integration icon from the palette to the canvas to create the basic service.
  2. To select a case operation, open the Properties view, select the Implementation tab and choose the operation from a drop-down list. These operations are available only when you've connected to the IBM Case Manager server, as described earlier. In our example application, we specified ICM_SERVER, as shown in Figure 1.
    Figure 1. Select the Create case operation
    Select the Create case operation
  3. Next you need to decide which case type do you want to instantiate. There may be many case types available to you. Click Select to see the available types. In our example, we chose CCDM_ManageDisputeItem. Then click Generate Types to generate business objects (complex types) for the case, as shown in Figure 2. These business objects are used as data types for variables that pass data between the business process and the case.
    Figure 2. Select a case type
    Select a case type
  4. The final part of creating our service is data mapping; that is, mapping input and output parameters of the service to variables. Variables are needed to pass the data between the business process and the case. Select the Data Mapping tab in the Properties view. You can generate private variables automatically by clicking an auto-map function. Alternatively, you can manually create your own variables and map the input and output to them, as shown in Figure 3.
    Figure 3. Generate variables
    Generate variables

Creating a service with search and retrieve operations

Our new service creates a case instance. From a user's perspective, this new service at run-time becomes a claim that disputes a credit card charge. However, a user might also want to return to that claim at a later time to check its progress. Next we'll create a service to provide that function by searching and retrieving cases.

Creating a service with a search operation is similar to the first service you created: select the search operation, choose a case type, generate types and map the variables. However, the search operation involves a search. Remember that the IBM Case Manager server will likely have many cases available but you are looking for just one.

You can build a query to find your case in two ways. For the average business user, a graphical interface is provided under the Case Filters tab when you select a search operation. The user makes choices from some controls and fields and a Content Management Interoperability Services (CMIS) query is built. Users familiar with CMIS, can write their own query for the CMIS query field. In our example, we wrote a CMIS query, as shown in Figure 4.

Figure 4. Create a CMIS query
Create a CMIS query

After the CMIS query runs we take the first reference returned and use the retrieve operation to get its properties. Users can now use the search and retrieve operations to view the status of a credit card dispute.

Creating a service with an update operation

Our first service let a user open a credit card dispute item online. Our second service let a user view the status of his dispute. Our final service lets a user add additional comments to update his credit card dispute.

You can create a service with an update operation in a similar manner to the previous two services: select the update operation, choose a case type, generate types and map the variables. The properties of the case, however, are now editable. Figure 5 shows some of these properties.

Figure 5. Case properties used in update operation
Case properties used in update operation

Developing the business process

We've now created three IBM Case Manager Integration services. Next we need to incorporate these services into a business process that includes these services and a user interface. Using IBM Business Process Manager Advanced you can drag services onto the canvas of the human services editor, in which you can create the user interface.

In our example, we started our business process with a user interface that lets the user choose to create a new credit card dispute, check the status of a dispute or update an existing dispute, as shown in Figure 6. The user's choice determines which service is invoked.

Figure 6. Start of the business process
Start of the business process

The second half of the business process completes the decision of the user. If the user opens a new credit card dispute, a new case instance is created. The user is given a response that includes the number of the new dispute. This number is a key that the user can use later to view the status of the dispute or update the dispute claim.

If the user wants to check the status of a credit card dispute, then the status is returned. This path uses the search and retrieve operations.

If the user wants to add comments to the claim, the update operation presents the editable fields. See Figure 7 for the outcome of the user's selections.

Figure 7. Completion of the business process
Completion of the business process

You can quickly create a user interface IBM Business Process Manager Advanced using a feature known as the Coach. The Coach examines the variables, the activities, and the relationships of the activities in a business process and produces forms for the user. If you use the Coach, all you need to do is modify the forms to suit your own preferences for the user interface. Figure 8 shows a user interface we created with the help of the Coach.

Figure 8. Coach-assisted user interface
Coach-assisted user interface

Using the business process at run-time

We've built the IBM Case Manager Integration services, created a business process with them and added a user interface. Now it's time to look at what someone using the application would see at run-time. This user is one who never works directly with IBM Business Process Manager Advanced or IBM Case Manager. If we look at the three kinds of users, as shown in Figure 9, the business process developer and administrator are the ones who build an application. The business worker, who is often a customer, is the one who uses the application each day by filling in forms.

Figure 9. IBM Business Process Manager users
IBM Business Process Manager users

When a business user or customer launches our sample application over the internet and opens a credit card dispute, the interface shown in Figure 10 displays. The user fills in his or her name, some details and the nature of the dispute.

Figure 10. Opening a credit card dispute
Opening a credit card dispute

When the user clicks OK, he or she receives a number to use to reference the dispute, as shown in Figure 11. This number is a reference to the case instance. Later, when the user wants to see the status or add comments about the dispute, this reference number is the way to access the credit card dispute.

Figure 11. Reference number for the dispute
Reference number for the dispute

For example, using this number, the user can update the dispute, as shown in Figure 12. This update is running search, retrieve and update operations behind the scenes.

Figure 12. Updating a credit card dispute claim
Updating a credit card dispute claim

Credit card dispute administration at run-time

We have focused on how a customer would work with our application, which is using Business Process Manager Advanced and IBM Case Manager in the background. However there is another user: the credit card dispute administrator. This person tracks the credit card disputes and their resolution.

This person uses the IBM Case Manager in-basket to track the disputes, as shown in Figure 13. Essentially, he or she is monitoring the cases on the IBM Case Manager server.

There are two ways to use the in-basket: log on to the IBM Case Manager Client and use the available in-basket to monitor items like the credit card disputes, as in Figure 13, or configure an in-basket Business Space application using IBM Business Process Manager Advanced. Configuration is covered in the product information.

Figure 13. Credit Card Dispute Management in-basket
Credit Card Dispute Management in-basket

Using the sample

You can use the accompanying sample to understand how to integrate business processes and case management cases. To use the sample, complete the following steps.

  1. Import the sample into the Business Process Manager Process Center.
  2. In the Process Center, beside the Credit Card Dispute Management process application, click Open in Designer. In the Process App Settings Servers page, select ICM_SERVER and change the Server Location values to the correct ones for your own Case Manager server.
  3. Import the IBM Case Manager Credit Card Dispute Management sample into the IBM Case Manager Builder page of your Case Manager server. You must use the V5.1 version of the sample. Refer to the Resources section for a link to the developerWorks article containing the sample.

Summary

In this article, you've learned how to develop an application that uses both IBM Business Process Manager Advanced V7.5.1 and IBM Case Manager V5.1. From a business process perspective, the key component is the IBM Case Manager Integration service editor, which can access case management cases in several ways through operations. Other functions shown in the article, such as generating types, simplify the creation of applications that integrate IBM Case Manager and Business Process Manager to manage business processes and documents.


Acknowledgments

The authors are grateful to the following people who gave us permission to use the IBM Case Manager V5.1 Credit Card Dispute Management sample: Jeff Douglas, Mike Marin and Jake Levirne. This well-known IBM Case Manager sample is used in both a developerWorks article and an IBM Redbook (see Resources).


Download

DescriptionNameSize
Dispute Management sampleCredit_Card_Dispute_Management.twx483KB

Resources

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 WebSphere on developerWorks


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=WebSphere
ArticleID=792923
ArticleTitle=Developing an application that integrates business process management and case management
publish-date=02152012