 | Level: Intermediate Wei Wang (wangweiu@cn.ibm.com), Software Engineer, IBM FileNet BPF Development, IBM Bo Li (libocdl@cn.ibm.com), Software Engineer, IBM FileNet BPF Development, IBM Ning Wang (wangning@cn.ibm.com), Staff Software Engineer, IBM FileNet BPF Development, IBM
05 Jul 2007 This article is the third in a series of three articles that guide you in learning how to build a business process management (BPM) application using the FileNet P8 platform and the FileNet Business Process Framework (BPF). Taking a fictitious company, XYZ Company, as an example, the first and second articles walked you through how to build a BPM application called Contract Management, creating a new content model, new process maps, and a new BPF configuration. In this article, you'll see how to use this Web Application. In addition, the article introduces other powerful BPF capabilities to enrich your application.
Introduction
The FileNet P8 platform offers enterprise-level scalability and flexibility to handle demanding content challenges, complex business processes, and integration with existing systems. Part 1 of this series introduced the FileNet P8 and Business Process Framework (BPF) architecture. Then, as an example of this framework in action, it examined a business case for a fictitious trading company called XYZ Company, going from a business requirements analaysis, through modeling a solution design, to implemtation with FileNet P8. Part 2 guided the reader through configuring a sample BPF Web application called "Contract Management Application" in the BPF Explorer. Following an introduction to the Business Process Framework, it showed how to implement a solution.
Now Part 3 examines how the Web application created in Part 2 conforms to the process definition discussed in Part 1. In addition, you'll learn about additional BPF capabilities, including eForm, custom layout, and e-mail notification.
Introduction to Business Process Framework Web application
The BPF Web Application is a user interface that provides access to work by users. The BPF Web Application's user interface is highly configurable and is generated dynamically, based on a user's role. The BPF Web Application serves as host in a J2EE application server and utilizes BPF Business services.
Figure 1. Architecture
Users access the BPF Web Application through a Web browser. The action dispatcher accepts the services requests and provides a response back as an XML message over HTTP-based protocol. The Web Application Toolkit (WAT) is a reusable and extensible component framework for building customized applications. It provides API-level interfaces that are supported by FileNet engineering. Both BPF Web Application and P8 Workplace are built on top of WAT.
BPF Business Services are a set of modules that sit above the Data Tier and encapsulate the case management business logic. BPF utilizes the CE API to communicate with CE for any content-related operations. The PE API is used to talk with PE for any process data operation. All the settings for BPF Web Application, which can be configured in BPF Explorer, are stored in BPF Metastore database.
User scenario review
Suppose there is a large scale trading company named XYZ Company. They have a great deal of contract-related content, such as documents, images, audio files, and video files, that need to be stored safely and managed effectively with their business processes.
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 to approve or reject back
-
Approver: Finally approves or rejects the contract case
-
Supervisor: Can be an indexer or reviewer, can search the finished case
Business process
The flow of the business process is as follows:
- The Indexer creates a new contract case. The newly created case will be saved in the Indexer Inbox. After that, the Indexer sends this case to a Reviewer for review.
- The Reviewer can see the assigned cases after logging in to the system. The Reviewer reviews the case and decides whether to approve or reject each case. In addition, the Reviewer also can hold the case for review later. The case will be put in a personal inbox.
- If the case passes review, an Approver will receive the case after logging in. The Approver reviews the case and approves or rejects it. If the Approver approves the case, the whole process will be completed. Otherwise the case will be terminated.
Figure 2. Business process
Walk through BPF Web application
The entire BPF configuration is set in the BPF Explorer. Please refer to Part 2 of this series for more details. This section briefly goes through the process definition which was described in Figure 2. The path marked in red will be used as an example.
Users and roles
| Role | User | Password |
|---|
| Indexer | joe | joe |
|---|
| Reviewer | mark | mark |
|---|
| Approver | ana | ana |
|---|
| Supervisor | sue | sue |
|---|
Step 1. Indexer creates a new case.
- Launch browser and access http://hostname:port/bpf.
- Login with joe/joe. The main BPF interface will show up.
- Click Create Case on the toolbar. A new case dialog will display for you to fill in the data.
Figure 3. Create new case
- Fill in all fields and click OK. A new case will be created and saved into the Index Inbasket
Step 2. Indexer sends to review
- Click the Index Inbasket on the left. The newly created case will be displayed. Because the Index Inbasket was configured for Sequential mode, all cases in this Inbasket will be shown one-by-one.
Figure 4. Case detail
- After rechecking the information, the Indexer clicks Complete in the Action toolbar. The case will be sent to a Reviewer.
Step 3-1. Reviewer holds the incoming case
This step is optional for the Reviewer role. We're demoing this function in our example. However the reviewer can finish the review work directly.
- Log in with userid mark/password mark and navigate to the Review Inbasket. Because the Review Inbasket was configured for Browse mode, all cases in this Inbasket will be listed on the main page.
- Double click the case, and the details for that case will be shown. Click Pend in the Action toolbar. A dialog will come up to select the pending reason.
Figure 5. Select reason
- Choose Need More Info and click OK. The case will be saved to the reviewer's personal Inbasket "My Work."
Step 3-2. Finish review and send case to Approver
- Navigate to My Work Inbasket. This Inbasket was configured for Bulk Processing mode. Bulk Processing means the user can process a group of cases in one operation. The page is divided into two parts. The reviewer selects a case from the top section and clicks Add. The case will be added to bulk area at the bottom. The Remove button will remove cases from bulk area.
Figure 6. Bulk Process
- Review the case and click Send to Approval in the Acton toolbar. Confirm the bulk process. A dialog will come up for choosing which approver to send the case to.
Figure 7. Assign to Approver
- Choose ana and click OK. The case will be sent to "ana" for approval.
Step 4. Approver approves case
- Login with userid ana/password ana. The case will be listed on the main page.
- Double click the case to review detail.
Figure 8. Attachment in case
- The attachment for this case is at the bottom of the page. The approver can open the attachment by clicking the attachment icon. The attachment will be displayed in the Object Viewer.
Figure 9. Object Viewer
Additional BPF capabilities
The Contract Management scenario showed basic and common BPF features. If your users need more characteristic functions in their application, you may need additional BPF features to implement those functions. This section introduces some features that will help you meet special requirements from your users.
eForms capability
In most of Web-based applications, users fill data in HTML-based forms. However, those HTML forms usually do not look like the traditional paper forms that people are familiar with. eForms for FileNet P8 allows customers to create and manage online forms in a Web browser that can appear the same as hard copy paper forms.
To apply eForms to your application, the form template author must create a form template in eForms Designer. Using Form Policy Authoring Wizards in Workplace, the solution author performs such tasks as associating a workflow with a form, configuring form fields to map to workflow data or to document properties, and so on. The following demo shows you how to apply eForm to the Contract Management Application.
The following steps show you how to create a form template using eForms Designer that will look like the form shown below in Figure 10:
Figure 10. eForm Designer
- Create an eForms entry template.
Log in to Workplace. Then navigate to Author > Advanced Tools > Add Entry Template > Form Data Entry Template. Create the entry template following the wizard. Figure 11 indicates that we can configure the field attributes when eForm is opened.
Figure 11. Create Entry Template
- Create an eForms document policy.
Log in Workplace. Then navigate to Author > Advanced Tools > Add Form Template Policy. Create a Document Policy following the wizard.
Figure 12. Create Document Policy
- Configure Workflow Subscription.
Workflow Subscription is used to launch workflow. For example, the Contract Management workflow may be launched when a new eForm data is added.
- Select Target: This is the document or custom object. Set to the eForm data document.
- Select Workflow: This is the workflow you want to launch.
- Set Properties: Set the subscription name and event.
- Set Property Map: Set the properties mapping between PE and CE data model.
- Set Security: Set the security of this subscription. Just use thedefault.
- Link to Action toolbar.
In order to load the eForm in BPF, toolbar.xml needs to be modified. Add some lines at bottom of the xml file, as shown in Figure 13. The first parameter in invokeFormTemplate means the eForm Template ID. The second one means version series ID. Both of them can be found in the properties list of the eForm template.
Figure 13. Toolbar.xml
- eForm in Web Application UI
Log into the BPF Web Application. Click Create Case on the toolbar. You will see there is a function named "Create Case Using eForm." Using this function, the form will look more like a traditional form on paper.
Figure 14. Create case using eForm
A new eForm case will be created after you click the Save button. The form in this sample may not be complex enough to show the advantages of eForm. You will understand more if you see the form below. The form in Figure 15 is very like a form on paper.
Figure 15. Complex eForm
Customized layout
BPF Web Application supports the customization of your Web layout without changing any code. The user interface consists of several Web modules, such as Inbasket module, toolbar module, and so on. These modules can be in any location on the Web page. Users in the BPF Site Designers role can customize layout using the Layout Designer. The following example shows how to customize the layout in Contract Management Application.
- Log in BPF Web Application and click Edit Layout on the toolbar. The Layout Designer will be launched. The BPF default layout looks like this:
Figure 16. Default Web layout
- Now we need a viewer to display the attachment when a Reviewer opens a case. Create a new layout named "MyLayout" as shown below. The Viewer Web module is added.
Figure 17. MyLayout
- After that, change the layout for Reviewer in BPF Explorer.
Figure 18. Change layout for Reviewer
- Log in reviewer role (userid mark/password mark). There will be an Object Viewer displayed. When a user opens a case and clicks the attachment, it will be opened in the viewer.
Figure 19. Web UI of MyLayout
E-mail notification
Users can be notified by e-mail when process-related events occur. An e-mail can be sent:
- When a new task is assigned
- As a reminder for completing a task
- When a deadline has expired
P8 Process Engine is used to support e-mail notification for BPF. The following steps show you how to configure the e-mail notification.
- Launch Process Task Manager and navigate to Process Engine > Process Service > Notification.
- Stop Process Service.
- Provide all SMTP related information.
- Start Process Service.
- Log into Workplace and navigate to Preference > Task.
- Input your e-mail address and turn on New assignment.
- Log into BPF > Preferences.
- Toggle Receive new work assignment via email checkbox. Input the e-mail address that you want to receive the mail.
Once you have completed the steps above, you will receive a notification e-mail when you have a new assigned work item.
In addition, the new task link can be included in the e-mail by modifying mail template. Users can access the assigned task by clicking the link in the mail directly. The mail template is \fnsw_loc\sd\msg\1\ stp_new.msg.
There are some lines in the template that look like this:
<a href="<$F_WEBSERVER>/eprocess/stepprocs/<$F_STEPPROC>?
queueName=<$F_WORKQUEUE>&wobNum=<$F_WobNum>">
Step Assignment...
</a>
|
Update the lines with the URL to the BPF deployment integration servlet.
The sample below uses the integration and passes the Work Object Number (WobNum) value to identify the Case. The BPF integration servlet will locate the BPF case ID using the WobNum and open the case object. In the URL below the value for SERVERNAME is the name of the application server machine where BPF is deployed. The value for PORT is the port for the application server (defaults are 7001 for BEA WebLogic and 9080 for IBM WebSphere) where BPF is deployed. The BPFDEPLOYMENT value is the deployed Web application name (default of /bpf for BPF).
<a href="http://SERVERNAME:PORT/BPFDEPLOYMENT/Bp8IntegrationServlet?
_commandId=9010&hideInbaskets=1&_mode=1&wobNum=<$F_WobNum>">
Process Case...
</a>
Sample:
<a href="http://p8design:7001/bpf/Bp8IntegrationServlet?
_commandId=9010&_mode=1&wobNum=<$F_WobNum>">
|
Conclusion
In Part 3 of this series, we have discussed the BPF Web Application and described how to use the sample Contract Management Application for XYZ Company. Base on the XYZ Company scenario, you can become familiar with how to build a BPM application with BPF and how to apply the application to a customer business process. In addition, we introduced some valuable BPF capabilities that you can use to enhance the function of your application.
In conclusion, BPF is a highly configurable, flexible, case management framework. It is the best choice to build your customized BPM application.
Acknowledgement
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.
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
About the authors  | 
|  | Wei Wang joined IBM China Software Development Lab (CSDL) as a software engineer in Sep, 2004. Currently he is working on IBM FileNet BPF as a developer. Wei Wang is certified for Solution Designer of DB2 Content Management, IBM DB2 for Linux, UNIX, and Windows Fundamentals, and IBM FilNet WAT Programming. |
 | 
|  | Bo Li works as a software engineer of IBM FileNet BPF development in IBM CSDL. He is certified in IBM FilNet WAT Programming. |
 | 
|  | Ning 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. |
Rate this page
|  |