Build BPM applications using FileNet, Part 1: A guided tour to content and process modeling with the FileNet P8 platform

Explore the "XYZ Company" scenario

This is the first of a series of three articles introducing you to the process of building Business Process Management (BPM) applications using the IBM® FileNet® P8 platform and the Business Process Framework (BPF). Taking a fictitious trading company called XYZ Company as an example, we walk you through the process of building a BPM application called Contract Management. You'll see how to start from scratch and create a new content model, new process maps, and a new BPF configuration. Read on to see how FileNet BPF enables rapid BPM application development and deployment.

LaiFeng Zhang (laifengz@cn.ibm.com), Software Engineer, IBM FileNet BPF Development, IBM

LaiFeng ZhangLai Feng Zhang works as a FileNet BPF developer in IBM China Software Development Lab (CSDL) and is certified as a DB2 for Linux, UNIX, and Windows administrator and in IBM FileNet WAT programming.



Wei Liao (liaowei@cn.ibm.com), Software Engineer, IBM FileNet BPF Development, IBM

Wei LiaoWei Liao works as a software engineer for IBM FileNet BPF development in IBM CSDL. He is certified in IBM FilNet WAT Programming.



Ning Wang (wangning@cn.ibm.com), Staff Software Engineer, IBM FileNet BPF Development, IBM

Ning WangNing Wang is a staff software engineer in IBM China Software Development Lab (CSDL). He works on IBM FileNet BPF development and technical support. He is a certified DB2 Content Management V8 solution designer and in IBM FileNet WAT Programming.



14 July 2007

Also available in Japanese Vietnamese

Introduction to FileNet P8 and BPF architecture

The FileNet P8 platform offers enterprise-level scalability and flexibility to handle the most demanding content challenges, the most complex business processes, and integration to all your existing systems.

As you see in Figure 1, the FileNet P8 Platform provides the baseline components for enterprise content management solutions, including a content engine, a process engine, an application engine, and a rendition engine. These components address Enterprise Content Management (ECM) and Business Process Management (BPM) requirements.

Figure 1. FileNet P8 architecture
FileNet P8 architecture

FileNet BPF has a configurable framework that facilitates rapid development of BPM applications, enabling efficiency and speeding the development and deployment of BPM applications.

Figure 2. BPF integration with P8
BPF integration with P8

BPF not only provides a solution that integrates content storage and process management (as you see in Figure 2), but also has an extensive framework that companies can use to develop and customize their own applications to meet their business requirements.

The Contract Management application, which you'll walk through in this article, is an example showing how to build a BPM Web application based on FileNet BPF. Use this article as a reference to aid in developing your own BPM Web application with FileNet technology. We will demonstrate it with a sample business scenario of a fictitious company, the "XYZ Company."


Business requirements of the XYZ Company

"XYZ" is a large scale trading company. They have a large amount of content data related to business contracts, including documents, images, audio files, and video files. All this content needs to be stored safely and managed effectively within the company's business processes.

The XYZ Company has the following business requirements to serve:

  • All structured and unstructured content needs to be stored and managed.
  • All content needs to be searchable.
  • All access to content must be secured.
  • The change history of content needs to be recorded.
  • The content needs to be classified automatically.
  • The business process can be defined, versioned, analyzed, simulated, tracked and managed.
  • A business task can be executed by an individual user, by a group of users, or by an automated application.
  • The business process can be executed by different roles in a parallel way, and can support voting criteria.
  • The business task can be processed in a timely manner or can be restricted with a deadline.
  • A business process participant can be assigned work by another participant.
  • A business process participant can get e-mail notification when the work arrives.
  • The business process administrator can see the milestone where the current process is.

XYZ Company's business requirements analysis

In the XYZ Company, indexers collect and analyze contract information, then create contract cases and store related documents into the FileNet P8 System. Then each contract case is timed for subsequent processing.

The indexers can suspend the contract cases so that later they can modify them, or they can directly submit contract cases for review.

The reviewer sees a list of contract cases submitted by indexers, so can examine each contract case and the attached documents, and also the process history or audit information. After checking these documents and adding annotations if necessary, the reviewer chooses one approver when the contract case is acceptable and then sends out the case for approval. The reviewer can also suspend the contract for later processing, or reject the contract directly.

After logging on, the approver can see all contract cases sent for approval. The approver can select multiple contracts for "bulk processing", or just select one, then approve or reject it.

Finally, the business process ends with an archive step, which archives the contract case process information.

For now, we can summarize the business process that XYZ Company requires as follows:

  • Collect contract information and index the corresponding case.
  • Review and evaluate the contract case.
  • Finally approve or reject the contract case.
  • Record audit trace information of the process.

There are several roles involved in this process flow.

  • Indexer: Collects the contract information, then creates and indexes the contract case
  • Reviewer: Reviews the contract case, then sends to approver or rejects back
  • Approver: Finally approves or rejects the contract case
  • Supervisor: Can be an indexer or reviewer, can search the finished case

Model design of XYZ Company

Based on our analysis, we can model the XMZ Company's business requirements using a UML2 class diagram and sequence diagram.

XYZ Company's content model

The content data model describes how the contract case objects, related documents, and log event items are stored. Here is an example of the Contract Management application business objects.

Figure 3. XYZ Company's business class diagram
XYZ Company's business class diagram

XYZ Company's process modeling

The business process model illustrates how the business process flows and how it interacts with different business roles. Note, a supervisor could be an indexer or a reviewer, and thus can do anything that an indexer or a reviewer can do.

Figure 4. XYZ Company's business sequence diagram
XYZ Company's business sequence diagram

Implementation in FileNet P8

FileNet P8 provides many administration and development tools to help in implementing the models designed in previous steps. The Content Engine and Process Engine will respectively be able to provide content management and business process management services for our BPM application when it is implemented.

Define the content model with Content Engine

All data model definitions can be implemented by Enterprise Manager as you see in Figure 5. You can do this in a step-by-step manner. However, for a quick setup for our example, you can load the data model into FileNet Enterprise Manager from the datamodel.xml file in the Downloads section of this article. It will create all data model definitions of XYZ Company's contract case automatically, including the document class and custom class with their security settings.

Figure 5. The Contract Management Object Class in Enterprise Manager
The Contract Management Object Class in Enterprise Manager
Figure 6. The Contract Management Documents Object Class in Enterprise Manager
The Contract Management Documents Object Class in Enterprise Manager

Define the process model with Process Engine

The Process Configuration Console and Process Designer provide a way to implement the business process model. Here we walk you through XYZ Company's process implementation step by step. For quick setup, you can also load the process definition using XML files in the Downloads section.

First, create a Contract Queue as shown in Figure 7. This holds all the contract case work items during runtime, and exposes those workflow data fields in the queue. In the following process map, we will put some workflow steps into this Contract Queue.

Figure 7. Contract Management queue in Process Configuration Console
Contract Management queue in Process Configuration Console

Then, we create the Contract Management Workflow, which contains several sub-maps as shown in the figures below. Figure 8 shows the workflow properties definition, where you specify the workflow name, the data fields, the workflow attachments, the workflow groups, and the workflow sub-maps.

Figure 8. Workflow properties in Process Designer
Workflow properties in Process Designer

As shown in the following main workflow map, we define two sub-maps.

Figure 9. The main workflow map
The main workflow map

In the review and approve sub-map, we define three sub-maps for indexer, reviewer, and approver respectively. The "20 Day Timer" is used to time the process.

Figure 10. The Review and approve sub-map
The review and approve sub-map

Here is the sub-map definition of indexer, where the "indexing" step, as a kind of general step, is configured to be in the Contract Management queue. Each indexer will see all of the same contract cases at this step. The "Pend" step is a participant step, configured to be in the indexer's personal queue, so at this step indexers can only see those cases they theyselves have suspended.

Figure 11. The index sub-map
The index sub-map

The Review step is also put into the Contract Management queue, so each reviewer will see all of the same contract cases on this step. And the "Pend" step is kind of participant step, so reviewers can only review those cases they themselves have suspended at this step.

Figure 12. The review sub-map
The review sub-map

The approver step is not in the Contract Management queue, but a participant step, which means that the approver can only approve those contract cases sent by the reviewer.

Figure 13. The approve sub-map
The approve sub-map

The archive sub-map will archive the contract case process information, and then end the business process flow.

Figure 14. The archive sub-map
The archive sub-map
Figure 15. The termination sub-map
The termination sub-map

Conclusion

In Part 1 of this article series, we have looked into content and process modeling and implementation with the FileNet P8 platform. Based on XYZ Company's business scenario, we've discussed in detail how to analyze the business requirements, how to develop the content and business process models meeting the XYZ Company's business needs, and how to implement them with FileNet P8 products. You can download our provided xml files, and import them into your system to study.

Part 2 focuses on how to implement the BPF Web application using BPF Explorer based on the content and process modeling and implementation we have already finished in this article.


Acknowledgements

Many thanks to Thanh Pham, Senior Software Engineer, IBM CSDL, for his kind suggestions and review of this article.

Many thanks to Jean Chen, Senior Manager of ECM development, IBM CSDL, for her full encouragement and support for this article.


Downloads

DescriptionNameSize
Data model definition in Enterprise ManagerSet1_CEExport_Group1_1.xml403KB
Manifest file in Process Configuration ConsolePCC_Exported.xml122KB
Process definition in Process DesignerContract_Management_Workflow.zip6KB

Resources

Learn

Get products and technologies

  • Download IBM product evaluation versions and get your hands on application development tools and middleware products from DB2®, Lotus®, Rational®, Tivoli®, and WebSphere®.

Discuss

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 Information management on developerWorks


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Information Management
ArticleID=230874
ArticleTitle=Build BPM applications using FileNet, Part 1: A guided tour to content and process modeling with the FileNet P8 platform
publish-date=07142007