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 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 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 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
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
Figure 6. 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
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
As shown in the following main workflow map, we define two sub-maps.
Figure 9. 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
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 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 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 archive sub-map will archive the contract case process information, and then end the business process flow.
Figure 14. The archive sub-map
Figure 15. The termination sub-map
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.
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.
|Data model definition in Enterprise Manager||Set1_CEExport_Group1_1.xml||403KB|
|Manifest file in Process Configuration Console||PCC_Exported.xml||122KB|
|Process definition in Process Designer||Contract_Management_Workflow.zip||6KB|
- Visit the developerWorks resource page for Enterprise Content Management to read articles and tutorials and connect to other resources to expand your skills on FileNet and other content management products.
- IBM FileNet P8 4.0: Learn how FileNet P8 4.0 provides a unified Content, Process, and Compliance platform.
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®.