Efficient collaboration in the workplace contributes greatly to a company's success. But knowledge sharing and information are often lost under the inability to collaborate effectively, either within the same department or across departments. This results in customer dissatisfaction and eventually leads to loss of revenue.
Today, most enterprise content management solutions provide a means for information to flow seamlessly to the intended recipient. The means to route information, documents, and memos in a timely manner to users or groups of users holding different roles is the key to successful business practices in a highly collaborative environment.
Workflow is an integral part of the IBM Enterprise Content Management solution. And there are different flavors of workflow available. IBM DB2 Content Manager offers an integrated workflow solution, namely built-in document routing. For more complex environments, customers can opt for WebSphere® MQ Workflow. In this series of three articles, you will be brought to a deeper understanding of IBM DB2 Content Manager document routing. We also provide a comparison between IBM DB2 Content Manager document routing and WebSphere MQ Workflow to help you better understand the differences and capabilities of each. The series of three articles are broken down as follows:
- IBM DB2 Content Manager document routing, Part 1: A guided tour to
- Introduction to IBM DB2 Content Manager document routing
- Capabilities of IBM DB2 Content Manager document routing
- What is new in IBM DB2 Content Manager document routing
- Case Study - Claim Process
- Implementation - Claim Process
- Table of Comparisons - WebSphere MQ Workflow vs IBM DB2 Content Manager document routing
- IBM DB2 Content Manager document routing, Part 2: A guided tour to API usage
Using the same case study, this article demonstrates the usage of APIs for solution development.
- IBM DB2 Content Manager document routing, Part 3: A guided tour to client usage
Experience the fruits of your labor by actually using the workflow defined in the same case study. The following client applications are considered in this article:
- eClient - Web-based client
- pClient - Windows-based client
- CM Portlet - Portlet-based client
Introduction to IBM DB2 Content Manager document routing
Document routing is an integral part of DB2 Content Manager. It provides a foundation for production level document-based workflow in support of document management. CM document routing also plays an important role in the overall Enterprise Content Management framework, where CM document routing complements and provides a collaborative document-based workflow that can participate in the Enterprise Business Process Integration.
As an integrated workflow service, document routing incorporates an embedded workflow engine with a high performance, small memory footprint, integrated access control list checking, and robust and flexible workflow modeling capability. In addition to the document routing support provided by the DB2 Content Manager system administration client, out-of-the-box eClient, and the DB2 Content Manager client for Windows, there is also the capability to develop custom workflow applications. You can do this by using the DB2 Content Manager development toolkit that includes Java and C++ APIs and JavaBeans covering comprehensive document routing workflow services for operational and system administration functions.
Modeling capabilities of IBM DB2 Content Manager document routing include the following:
- Sequential routing
- Branching based on the specified action
- Collection points
- Server exits on entering/leaving work nodes
- Graphical workflow builder * (* V8.3 feature)
- Decision points *
- User-defined actions/action lists *
- Parallel routing *
- Line of business *
In addition to modeling capabilities, DB2 Content Manager document routing provides the following runtime capabilities:
- Start a process
- Terminate a process
- Continue a process
- Suspend a process by duration
- Suspend a process by a resume list
- Resume a process
- Get work from a work list by suspend state, notify state, or owner
- Get the next work item from a work list
- Access to data container (a collection of name/value pairs)
- Combined query between documents and workflow
Capabilities of IBM DB2 Content Manager document routing
Document routing is a document-based workflow service specifically designed so that each unit of work is created and associated with a document or a folder of documents, along with other necessary information for carrying out this work. An administrator or a business analyst can define a specific business process as a graph of interconnected steps. After a process has been defined, you can route documents through a process that assigns work to individuals or groups for processing until the entire process has been completed. Document routing is integrated with access control checking, user management, and general system management to facilitate document management and processing in a business environment.
Document routing consists of processes, work nodes, work lists, and work packages. The system administrator creates the work nodes, processes, and work lists through the system administration client. A process consists of work nodes. Each work node in the process is a distinct step in the process. An administrator can define a work process by assigning the name and description and associating a work process with a sequence of routes from the start node through one or more work nodes to the end node. The administrator can assign selections such as "continue," "approve," "reject," or any other meaningful selections to each routing path from a node to another node. The user can choose from a list of possible selections that the system administrator defines. The administrator configures an access control list that is assigned to each process, so that there is a business control to define who can do what in which process.
A work node is similar to the concept of a work basket, which is essentially a list of items awaiting processing. You can set these external functions to activate based on whether a work request is entering or leaving that work node, or when the specified overload limit has been reached at that work node. An administrator can also assign an access control list to each work node for additional security control at the work node level.
You can create a work request by selecting the document or folder and starting the workflow process selected by the user, either through the IBM DB2 Content Manager client for Windows™ or eClient, or some other application that uses the object-oriented API. The work package is a set of information related to the selected item (document or folder) and other workflow information related to that item. Users can perform predefined workflow operations including start, terminate, continue, suspend, and resume.
In one organization, there can be many different work requests at multiple work nodes waiting to be processed in several workflow processes. To help each user see the items among many that they must process, an administrator can organize work lists for each user selecting from the work lists. You can have one or more work lists. Each work list can include one or more work nodes. You can specify the order of the work packages in the work list by priority or date. You can also define the order of work nodes in the work list. When you retrieve work lists, you can filter the results to include or exclude suspended work. A suspend state is when work packages have been suspended. Work packages can also be in the notify state. A notify state is when work packages have been at the node for longer than the time specified by the administrator. Remember that a work node can be in more than one work list. The number of work packages returned in a work list is defined by the system administrator.
When a worker makes a request to retrieve the next work package from a work list based on priority or other criteria, the next work package in the work list is returned. Depending on the filtering level that is set for the work list, either all work packages in the work list or only those work packages in the work list for the logged on user ID are displayed to the user. The system designates a referenced item in the returned work package as being checked out so that only that user can work on the item.
When a process is started, a work package is created. The work package is the routing element and contains the attributes of the work. Workflow applications can assign variables to a work package. You can use these data strings in decision point logic or other workflow-dependent application code. You can assign to document routing data containers any collection of name-value pairs and provide a convenient store for workflow global data state. The object-oriented API provides interfaces to set and query this state.
When a user is ready to move a work package to the next work node in the process, there is an update to the current work node to point to the next node based on the selection that was defined by the administrator. The item referenced in the work package checks back in to the DB2 Content Manager system if it has been checked out. In addition to branching, decision points are supported for conditional routing based on application data. Decision points allow an administrator to define decision rules based on work package attributes, workflow variables, or attributes of the document/folder being routed. The decision point will automatically route the work package to a branch based on the result of the decision rule at runtime. A cascade of decision points will allow an administrator to define a complex combination of work package attributes, document/folder attributes, and workflow variables. An otherwise condition will always be provided, and it will be selected if all other conditions are false.
Collection points are work nodes with additional function. A work package at a collection point node continues to the next work node in the process once the specified number of items with the specified item types exist in the specified folder that you route with the process.
If a worker decides to suspend a work process for any reason, the work package goes into the suspend state. The work package resumes the process based on the specified condition or criteria. This event can be a time-out for a specified duration, or it can be based on the arrival of documents in a given resume list. To resume a process, the work package in the suspend state moves to the active state after the specified suspend condition or criteria is satisfied. An administrator can define a number of fixed collection points in a process. However, any workflow application can be programmed to dynamically assign a resume list to any work package.
In addition, parallel routing allows a document or folder traverse multiple routes in parallel. A "Split" node indicates the beginning of parallel routes, and a "Join" node waits for completion of all routes. Split and join nodes come in pairs. A pair of split and join nodes encompassing multiple parallel routes can reside on a parallel route in the scope of another pair of split and join nodes.
In order to accommodate more flexible modeling, any valid process can be a subprocess of another process. A subprocess can be on a sequential route or one of the parallel routes. Subprocess encapsulates a process to allow simpler modeling by reusing definitions.
Document routing also supports a business application node, which is a special work node with a DLL (on Windows) or a shared library (on UNIX® platforms) defined and run on the server side. It passes the work package ID (component ID), plus a pointer, to workflow variables. The exit may return the route name (route selection) to control which route gets followed. It can be used to launch an external business application, such as CICS® or IMS™ program. The invocation is basically unattended and synchronous. Furthermore, the capability of creating a user-defined action is dependent on whether it is a user-defined operation at the client side. It can be an executable, such as .exe, .class, .bat, and so on. An action list is simply a named collection of actions. Both action and action list are defined through the system administration client.
A work package automatically terminates when it is moved to an end node. The work package then completes its process. The DB2 Content Manager event log records all movement of items through a work process. The record includes complete work history for the specified item types that are routed through the workflow process. The query capability can include searching for those items for the current work nodes, work processes, states, or assigned user IDs. An example of this capability is: "Find claims for California that are at any node in the arbitration process." You can perform a query of any attribute on the parent or child component of the item and on any field defined in the work package, work node, or process.
Case study - Auto claim system
A business process requires an insurance claim folder to contain a claim form, a police report, and a repair estimate of a wrecked automobile before continuing on to review the claim for either approving or rejecting the claim.
The claim process is modeled through the graphical workflow builder for CM document routing.
First, a claim folder containing a claim form is submitted for processing. The claim folder would wait at the collection point until the proper documents have been added.
If the required documents are added into the claim folder, the claim folder will automatically advance to the first decision point in the claim process. The first decision point evaluates an attribute Claim Amount in the claim folder.
If the claim amount is greater than $500, the claim folder will automatically advance to a set of parallel routes for handling the claim folder with a claim amount larger than $500. Otherwise, the claim folder will automatically advance to the other route for handling the claim folder with a claim amount less than or equal to $500 for reviewing the small claim and advancing to the second decision point.
There are two parallel routes to handle the claim amount larger than $500. A split node indicates the beginning of the parallel routes. One parallel route will first review the credit and then launch an external Line-Of-Business application (it could be a CICS or IMS application) checking the fraud history.
The other parallel route will review the large claim. The join node waits for the completion of these two parallel routes before advancing to the second decision point.
The second decision point evaluates a workflow variable Approve. If APPROVE = ACCEPT, a pay claim subprocess will be started, and a Thank you letter will be sent. If APPROVE = REJECT, a rejection letter will be sent. Finally, the claim folder reaches the end of the claim process.
Figure 1. A sample claim process workflow
Implemention - Auto claim system
Prior to implementing the workflow, first familiarize yourself with the icons used in IBM DB2 Content Manager document routing. The table below lists the icons with their explanations.
Table 1. List of icons used in IBM DB2 Content Manager document routing
|Start Node - Starting point of a work node|
|Stop Node - End point of a work node|
|Business application - Line of business|
Step by step implementation
In this section, you will walk through the document routing implementation in a step by step manner. Assuming you already have a Content Manager server running, the following steps guide you through building the workflow using the GUI Workflow Builder. If you don't have a Content Manager system, refer to the section "Where to obtain a copy of IBM DB2 Content Manager 8.3" below.
Login into the Content Manager System and locate the document routing icon in the left panel of the System Administration Client.
Figure 2. System admin client view
In this step, please load the data from the First Step to create the necessary users, groups, and access control lists (for example: ACL's). Here, it is assumed that you are familiar with creating these definitions and the following ACL should have already been defined in First Step. For simplicity, only use this ACL for all the objects (for example: workbaskets and so on) used in the workflow builder throughout the entire example.
Table 2. Access control list to create
|XYZClaimFolderACL||Access Control List|
Define an action list containing all predefined actions. The action list will be used by the workbasket definition. The actions in an action list will be listed in the drop down menu during the execution of IBM clients (pClient, eClient, and so on).
Table 3. Action list to create
Create seven workbaskets, one collection point, and one business application
Table 4. Workbasket, collection point, and business application to create
Define a work list for all the work nodes created in the previous step.
Table 5. Work list to create
Figure 3. Define a worklist
Define an attribute for the claim amount. This attribute will be part of the XYZClaimFolder itemtype.
Table 6. Attribute to create
Figure 4. Define an attribute
Figure 5. Define a claim folder
Right click on the process icon and launch the workflow builder.
Figure 6. Launch builder
SimpleAutoClaimProcess as name,
Simple Auto Claim Process as the description,
XYZClaimFolderACL as access control
Figure 7. Enter name and description
From the menu bar, create the seven work baskets (Refer to the details in Table 4). Once you create the work baskets, also create the collection point, WaitForReportAndEstimate.
Figure 8. Icon for creating work basket
Link the workbasket and collection point, as the following figure shows.
Figure 9. Building workflow, stage 1
Create two decision points (a split and a join), workbaskets (ReviewSmallClaim, ReviewLargeClaim) and the business application, CheckFraudHistory. Link them as shown below. Save it as draft. Close the current process.
Figure 10. Building workflow, stage 2
Create decision connectors for the first decision point.
Table 7. Decision connectors to create for the first decision point
|Claim > 500||Decision connector|
|Claim < / = 500||Decision connector|
Build a sub process,
click at Process to launch new builder. Name it
PayClaimSubProcess, with description
Pay claim process, and access control list
Figure 11. Building workflow, stage 3
Build and link the PayClaimSubProcess, as shown below.
Figure 12. Building workflow, stage 4
Go to File > Verify. Save and close the process. You should be seeing a green round button at PayClaimSubProcess.
Figure 13. Building workflow, stage 5
Launch the process builder, SimpleAutoClaimProcess. Add a sub process. Double click on the sub process icon. Select from the drop down the sub process PayClaimSubProcess.
Figure 14. Building workflow, stage 6
Create two decision connectors for the second decision point, APPROVE = ACCEPT and APPROVE = REJECT. Connect to subprocess PayClaimSubProcess and work basket SendRejectionLetter. From PayClaimSubProcess, connect to work basket SendThankYouLetter. Connect to stop node to end this exercise. Verify the process, save, and close it. You should be seeing two green round buttons for the two processes.
Figure 15. Building workflow, stage 7
Create decision connectors for the second decision point.
Table 8. Decision connectors to create for the second decision point
|APPROVE = ACCEPT||Decision connector|
|APPROVE = REJECT||Decision connector|
At last, the fruit of your labor is shown below.
Figure 16. Complete workflow
Comparisons of WebSphere MQ Workflow and IBM DB2 Content Manager Document Routing
A table of comparisons of WebSphere MQ Workflow and IBM DB2 Content Manager Document Routing is shown below. It compares both products based on the following criteria:
- Main objective
- Integration focus
- Multiple content repositories
- Heterogeneous content
- Staffing model
Table 9. Table of comparisons between WebSphere MQ Workflow and IBM DB2 Content Manager Document Routing
|Category||MQ Workflow||IBM DB2 Content Manager Document Routing|
|Integration focus||Process integration||Content integration|
|Decision point||The decision point criteria are generic.||The decision point criteria can be content specific.|
|Collection point||It is not supported.||A folder at a collection point waits for the specified documents. The folder will move to the next step in the process if all the required documents are available in the folder.|
|API usage||Workflow API is generic. No content specific semantics is provided.||Workflow and content semantics are seamlessly integrated.|
|Client experience||Workflow runtime client does not carry content semantics.||Workflow and content semantics are seamlessly integrated.|
|Multiple content repositories||Flows may go across multiple content repositories.||A single content repository.|
|Heterogeneous content||Flows may carry heterogeneous content data.||Flows carry a single document or a folder of documents.|
|Monitoring||Tooling is available.||Custom coding is required.|
Samples of RFP
Some samples of RFP (Request For Proposal) are listed in the following table. These samples of RFP will facilitate the understanding of what capabilities IBM DB2 Content Manager Document Routing can bring to workflow solutions and applications.
Table 10. Some samples of RFP
|IBM DB2 Content Manager Document Routing||Compliant/Partial/Non-compliant||Comment|
|Business process can easily be described in a rigorous manner.||Compliant||IBM DB2 Content Manager Document Routing provides a means to build business process requirements with Workflow builder. There is virtually no limitation of nodes/processes that can be built using a graphical workflow builder which include decision points, collection points, parallel routing and and subprocesses, etc. For external business applications, IBM DB2 Content Manager Document Routing provides the capability to integrate external business logic with a workflow using user exits (e.g., entering, overloading and exiting user exits).|
|Workflow should support parallel execution of various tasks.||Compliant||Parallel execution is a built in feature. Parallel routing can be modeled using split and join nodes.|
|Scanned image can automatically trigger a workflow. The system should support both manual and automated workflow.||Compliant||Both manual and automatic workflow triggering are supported. Manually users can start, continue, suspend, resume, or terminate a workflow. The auto-workflow feature is available that a workflow will start automatically when an item is created. Decision points and collection points support automatic routing when decision criteria or resume list criteria are met respectively.|
|The proposed workflow should allow the existence of multiple workflows within the main workflow.||Compliant||Subprocess (i.e., sub workflow) is a built in feature for IBM DB2 Content Manager Document Routing|
|The workflow should be able to integrate with the external workflows and applications within the organization.||Compliant||The integration of IBM DB2 Content Manager Document Routing with external workflows and applications is via user exits. Currently entering, overloading and exiting user exits are supported. At this moment, only C linked library code (DLL for Windows platforms and shared library for Unix platforms) is supported, and Java user exit is not available.|
|The workflow should allow assignment of different steps to users or groups of users with the proper rights.||Complaint||This is a standard feature. users and groups will be responsible for different steps in the workflow. However, a user or group can be responsible for various steps in the workflow.|
|The workflow should allow delegation of jobs.||Non-compliant||In IBM DB2 Content Manager Document Routing, there is no Delegation. "Delegation" means active management of users. One can be marked gone for vacation. Then the system will balance the workload and assign the work to other people in the group.|
|The workflow should optionally allow tagging of status such as Received, Checked.||Partial Compliant||Customization is required for this extra bit of information to be tagged alone to the work package.|
|The workflow should support suspension, abort and expiration of packages within a workflow.||Compliant||These are the standard features of IBM DB2 Content Manager Document Routing|
|The workflow should have the capability to execute single or multiple task simultaneously.||Compliant||This is a standard feature.|
|Integration with Lotus Notes and MS Outlook||Partial Compliant||Customization is required to integrate IBM DB2 Content Manager Document Routing with Notes and Outlook.|
|Detailed workflow report for each user, user group should be easily accessible. Audit trails of users and user groups detailing each activity should be provided.||Compliant||Detailed event logging is provided in a relational tables. Both administrative and user events are logged in IBM DB2 Content Manager Document Routing. Reporting tools such as Crystal Report can be deployed to generate reports by querying these tables.|
|Detailed workflow status for a document should be easily accessible. Monitoring workflow status and progress for a document in GUI format should be available.||Partial Compliant||Workflow status is available. However, there is no graphical workflow monitoring tool.|
It is important to have a proper workflow system within an enterprise management system to ensure a smooth and efficient collaboration. The concepts of IBM DB2 Content Manager Document Routing were discussed in length in this article. Key enhancements of Document Routing in IBM DB2 Content Manager Version 8.3 were also highlighted. You familiarized yourself with the icons used for the graphical workflow builder, and went through steps of building a workflow using the workflow builder. Then, a quick comparison WebSphere MQ Workflow and IBM DB2 Content Manager document routing was presented. Finally, sample RFPs are given to further elaborate the capabilities of IBM DB2 Content Manager document routing.
At the end of this article, we believe readers have a definite understanding of IBM DB2 Content Manager document routing.
Special thanks to Glenn Williamson, Senior Presales Specialist, Content Management, IBM Australia for taking his time to review this article.
Where to obtain a copy of IBM DB2 Content Manager 8.3
There are numerous ways to download Content Manager installation and depending on who you are, you could either download or order online. Follow the methods below accordingly.
There are four ways you can get the install codes:
- OPTION 1. Download from the Xtreme Leverage Intranet Web site.
- OPTION 2. Download the OneClick. Follow the steps below
(Thanks to Jose Bravo and his team):
- Go to DemoPkg online.
- Click on One Click at the left frame.
- Login using your id.
- Choose One Click Content Manager 8.3 to download.
- Follow the instructions given to install.
- OPTION 3. Ordering a Content Manager DemoPkg.
- OPTION 4. Order a copy of Demo Platform 8.3.
- Contact the FTSS at your locality.
- Business Partners
There are two ways you can get hold of the install codes:
- OPTION 1. Partner World
- OPTION 2. Order a copy of Demo Platform 8.3.
- Contact the FTSS in your location.
There is only one option:
- OPTION 1. Buy Content Manager 8.3 from IBM
|Steps to build workflow from xml files||workflowsteps.pdf ( HTTP | FTP )||132KB|
|download file||Workflow.zip ( HTTP | FTP )||3KB|
|download file||itemtypes.zip ( HTTP | FTP )||5KB|
|download file||ClaimFolderACL.zip ( HTTP | FTP )||7KB|
- Visit the IBM DB2 Content Manager support site for further help.
- Find more documentation in the IBM DB2 Content Manager Enterprise Edition Version 8.3 publication library.
- Visit the Content Management Information Center to access the information that you need for DB2 Content Manager.
- Visit the developerWorks DB2 zone to learn more about DB2. You'll find technical documentation, how-to articles, education, downloads, product information, and more.
- Visit the developerWorks blogs to get involved in the developerWorks community.