Skip to main content

skip to main content

developerWorks  >  SOA and Web services | WebSphere  >

Building SOA composite business services, Part 12: Combine document-centric workflows in IBM FileNet with business state machines in IBM WebSphere Process Server

developerWorks
Document options
PDF format - Fits A4 and Letter

PDF - Fits A4 and Letter
753KB

Get Adobe® Reader®

Document options requiring JavaScript are not displayed

Discuss


Rate this page

Help us improve this content


Level: Intermediate

Li (Tony) Wei (weili@cn.ibm.com), Software Engineer, IBM
Qiang Wang (wangq@cn.ibm.com), Software Engineer, IBM
Dao-Quynh Dang (quynhdang@us.ibm.com), Software Engineer, IBM
Indrajit Poddar (ipoddar@us.ibm.com), Software Engineer, IBM

27 Mar 2008

Integrate event-driven Business Process Execution Language (BPEL) business processes modeled in IBM® WebSphere® Process Server with document-centric business processes in IBM FileNet® P8. This article takes you through the process using a simple loan application scenario in a fictitious banking application.

Introduction

FileNet P8 provides support for document-centric business processes (workflows). WebSphere Process Server supports business processes written in the BPEL standard with IBM extensions for human tasks. It also supports integration of composite business service (CBS) components in a business process with the help of the Service Component Architecture (SCA) standard. This article describes a simple scenario in a banking application, specifically a loan application CBS business process modeled as a business state machine (BSM) in WebSphere Process Server. The BSM is integrated with a simple FileNet P8 workflow, which manages documents associated with the loan application.

The loan application is part of a fictitious banking application called Jivaro. The first article in this series, "Develop SOA composite applications to enable business services," (developerWorks, Oct 2006), introduced some scenarios that the Jivaro banking application supports. In this article, you look closely at the loan application scenario for the role of the bank customer.



Back to top


Loan application process scenario

The loan application process implements the following flow:

  1. A bank customer goes to the bank portal to apply for a loan.
  2. The customer's application is forwarded to a bank employee for review. The bank employee decides that the applicant needs to fill out an online application form to provide supporting documentation, which should be stored for regulatory compliance purposes.
  3. As a result, the customer receives an automatic e-mail with a request to fill out and submit the form.
  4. The customer references the link in the e-mail to log on to the bank portal to launch the loan application form.
  5. After the applicant submits the document, a bank employee receives notification that the document is available for review.
  6. The bank employee approves or rejects the loan application based on the content of the form.
  7. If the bank employee approves the application, a bank manager receives notification to review the application.
  8. The bank manager either approves or rejects the application.


Back to top


Implementing the loan application process

The above loan application flow is a simplified workflow for a loan approval application. This workflow includes both document management tasks and human tasks.

The FileNet P8 platform offers the best solution for the document management task, and WebSphere Process Server offers the best solution for human tasks in a workflow. WebSphere Process Server also supports BSMs for modeling event-driven business processes.

This article demonstrates:

  • The use of the FileNet P8 platform to support the loan application creating, submitting, and electronically storing steps 4 and 5 in the above workflow.
  • How to use WebSphere Process Server to support the loan application approval human tasks (steps 3, 6, and 7).
  • The use of a WebSphere Process Server BSM to integrate the WebSphere Process Server process with the FileNet P8 process based on the occurrence of the loan application submission event generated in step 6.

In the next few sections, you walk through the steps to create this solution.

Step 1. Develop the loan application process in IBM WebSphere Integration Developer

First you create a WebSphere Process Server BSM for the loan application business process in WebSphere Integration Developer V6.0 and deploy it to a WebSphere Process Server V6.0 server. This process receives the loan application request, checks business rules for loan origination, executes human tasks for checking supporting documents by the staff and at a managerial level, sends an e-mail to the customer, and waits for a call back from the FileNet P8 subprocess.

Figure 1 shows the assembly diagram for the LoanApproveSM business process in WebSphere Process Server. It illustrates the main BSM component, LoanApproveSM, and its wiring to the other required components, including the human tasks (StaffApproval, ManagerApproval), the business rules (LoanOriginationRules), and the partner invocations for sending the e-mail requests to the loan applicant (SendEmailForDocument) for storing the requests in the database (JDBCLoanRequestOutboundInterface) and for querying the loan request status (LoanTrackingService).


Figure 1. Assembly diagram for the WebSphere Process Server LoanApproveSM business process
Assembly diagram for the WebSphere Process Server           LoanApproveSM business process

Figure 2 shows the WebSphere Process Server BSM, LoanApproveSM, modeling the loan approval process.


Figure 2. WebSphere Process Server BSM, LoanApproveSM, for the loan application process
WebSphere Process Server BSM,           LoanApproveSM, for the loan application process

  • A new process starts with an invocation of the approveCheck method of the LoanApproveSM BSM. The process goes into the Initialized state and invokes the loan origination business rules component to get the approval type.
  • If the approval type is AutoApproved, the process transitions to the Approved state. In this state, the decision is logged into the database and the process terminates.
  • If the approval type is AutoRejected, the process transitions to the Rejected state where the decision is logged into the database and the process terminates.
  • If the approval type is NeedHumanApproval, the process transitions to the First Review state. Here, if the staff wants to view more loan application documents, the process transitions to the Waiting for documentation state.
  • Upon entering the Waiting for document state, an e-mail is sent to the loan applicant to submit the necessary documentation to the FileNet server. When the loan applicant submits the document to the FileNet server, a FileNet process is invoked. The FileNet process invokes the loandocSubmitCallBack method of the WebSphere Process Server BSM process and provides the URL for the requested document. This external event causes the WebSphere Process Server BSM process to transition back to the First Review state.
  • In the First Review state, if the staff rejects the request and the approval type is approved once, the process transitions to the Rejected state. If the approval type is approved-once and the staff approves the request, the process transitions to the Approved state.
  • If the approval type is approved-twice and the staff approves or rejects the request, the process transitions to the Second Review state.
    • In this state, if the manager approves the request and the staff had approved the request, the process transitions to the Approved state.
    • If the manager rejects the request and the staff had rejected the request, the process transitions to the Rejected state.
    • If the manager rejects the request and the staff had approved the request, the process transitions back to the First Review state.

Step 2. Create a loan application eForm in FileNet Process Designer

Next you create and deploy the loan application submission form and the form submission subprocess using the FileNet P8 eForms Designer and the Process Designer (a feature of IBM FileNet Business Process Manager). In addition to the FileNet P8 V4.0.1 platform, an add-on product, FileNet P8 eForms, and the eForms Designer V4.0.1 need to be installed.

You use the FileNet P8 eForms Designer to create a form template that contains the layout, graphic elements, and intelligence features of an electronic form. After the form design is complete, you can deploy it to the FileNet P8 Workplace (a function within FileNet Content Manager) and configure it within a form template workflow policy. Then you can send a hyperlink representing this workflow policy to a user so he or she can fill out the form and a workflow can be launched. In this scenario, the form is the loan application, and after it's completed, the form submission workflow is launched. This in turn invokes the WebSphere Process Server BSM process with the relevant information.

Figure 3 shows a loan application form template that you create in the FileNet P8 eForms Designer. The template should include an application ID field, which acts as the correlation ID for the WebSphere Process Server BSM process. This ID should be included in the e-mail sent by the WebSphere Process Server BSM process to the bank customer. The form fields need to be published so they can be mapped to the workflow data fields during the creation of the form workflow policy. This form template is then added to the FileNet P8 Workplace


Figure 3. Designing and deploying the loan application form template in the FileNet P8 eForms Designer
Designing and deploying the loan           application form template in the FileNet P8 eForms Designer

For the integration of FileNet P8 eForms with workflow, you need to define the form step processors in the Workplace Process Configuration Console, as shown in Figure 4. Only workflow steps with Form Step Processor are visible for the mapping of form fields and workflow data fields in the creation of a form workflow policy.


Figure 4. Defining form step processors in FileNet P8 Workplace Process Configuration Console
Defining form step processors in           FileNet P8 Workplace Process Configuration Console

From the FileNet P8 Workplace Author/Advanced Tools page, you can find these tools: Process Designer, Add Entry Template Wizard, and Add Form Policy Wizard. These let you create the loan application submission workflow and the form workflow policy necessary to launch the workflow when the form is completed by the customer.


Figure 5. Designing the loan submission workflow in the FileNet P8 Process Designer
Designing the loan submission           workflow in the FileNet P8 Process Designer

Figure 5 shows a simple loan form submit process that you create in the Process Designer. The LaunchStep task starts this workflow and transfers the eForm parameters to this workflow. The Invoke step invokes the WebSphere Process Server BSM loan application process through the loanDocsSubmitCallBack method. The TeminateProcess step stops this workflow.

The workflow needs to have the data fields defined that correspond to the form fields for the mapping in the form workflow policy. The launch step also needs to have the Form Launch (HTML) FileNet P8 Step Processor as the step processor. In addition, to invoke the WebSphere Process Server BSM loan application process, you need to add a Web Services partner link in the Workflow Properties window, as shown in Figure 6.


Figure 6. Partner link for the invocation of WebSphere Process Server BSM process callback method
Partner link for the invocation of           WebSphere Process Server BSM process callback method

Figure 7 shows the details of the Invoke step. The loanCallBack service is a one-way call, and the type is set to Invoke. In the Invoke step you need to select the partner link and operation, and bind the workflow parameter with the corresponding method parameter (for example, requestId to ApplicationId).


Figure 7. Details of the Invoke step
Details of the Invoke step

Next you need to add a form entry template and a form workflow policy to bind the form template, workflow, and data store together. The entry template persists the form data to the object store. For creating a form workflow policy, you need to complete the following steps:

  1. Select the workflow.
  2. Define the Launch step maps by selecting the loan application form template.
  3. Map the form fields to workflow data fields.
  4. Select the entry template used to persist the form data in the object store.
  5. Add simple customizations to the form windows interface by adding HTML banners and sidebars.

Then you can use the form workflow policy hyperlink in the e-mail sent to the customer to fill in the loan application form.

Step 3. Execute the scenario in WebSphere Process Server and FileNet P8

The following steps demonstrate the execution of the scenario:

  1. Bank customer Li Wei with user ID b1u1 logs in to the Jivaro banking application portal to apply for a loan.

    Figure 8. Apply for a loan in the Jivaro banking application portal
    Apply for a loan in the Jivaro           banking application portal

  2. His application is forwarded to the bank employee b1e1 based on business rules that require human approval for all education loans.

    Figure 9. WebSphere Process Server human task: staff approval for loan application
    WebSphere         Process Server human task: staff approval for           loan application

  3. Bank employee b1e1 receives this application and determines that she needs more supporting documents for this application. She sets the required document field as true in the WebSphere Process Server human task manager. The WebSphere Process Server loan application process then sends an e-mail to customer b1u1.

    Figure 10. Human task for requesting supporting documents for the loan application
    Human task for requesting           supporting documents for the loan application

  4. Customer Li Wei receives an e-mail notice with a link to a FileNet P8 server for submitting an application form and providing supporting documentation.

    Figure 11. E-mail sent by the loan application process for providing supporting documentation
    E-mail sent by the loan           application process for providing supporting documentation

  5. Customer Li Wei logs in to the FileNet site to fill out an eForm with the supporting documentation. The application ID should match the application ID referenced in the e-mail.

    Figure 12. FileNet P8 Workplace for submitting the eForm for the supporting loan application document
    FileNet P8 Workplace for submitting           the eForm for the supporting loan application document

  6. After the customer submits his form, the bank employee b1e1 receives a new task item in her task list informing her that the supporting document has been submitted.

    Figure 13. WebSphere Process Server human task for approving the loan after the supporting documents are submitted
    WebSphere         Process Server human task for approving the           loan after the supporting documents are submitted

  7. Now the bank employee can approve this application and let the process go on to the next step for bank manager approval. She sets the isAdditionalLoanDocsRequired field to false and the isApproved field to true.

    Figure 14. WebSphere Process Server human task showing the bank employee approving the loan
    WebSphere         Process Server human task showing the bank           employee approving the loan

  8. In the next step, the bank manager b1m1 approves this application. This terminates the WebSphere Process Server BSM loan application process, and Li Wei's request is approved.

    Figure 15. WebSphere Process Server human task for the bank manager to approve the loan application
    WebSphere         Process Server human task for the bank           manager to approve the loan application



Back to top


Conclusion

Share this...

digg Digg this story
del.icio.us Post to del.icio.us
Slashdot Slashdot it!

Composite business services often require a combination of document-centric activities and SOA-enabled business processes. FileNet P8 and WebSphere Process Server can be integrated in the technique discussed in this article to provide a best-of-breed solution encompassing both types of business processes.

Acknowledgements

The authors would like to thank Ashleigh Brothers and Patrick Flanders for helping to edit this article.



Resources

Learn

Get products and technologies
  • Innovate your next development project with IBM trial software, available for download or on DVD.


Discuss


About the authors

Li (Tony) Wei's photo

Li (Tony) Wei is a software engineer in the China Software Development Lab (CSDL). He is currently working in the SOA development area. You can contact him at weili@cn.ibm.com.


Qiang Wang photo

Qiang Wang works as a software engineer in the China Emerging Technology Institute, China Software Development Laboratory. He concentrates on IBM Incubator projects and SOA-related topics. His interests include J2EE, SOA, MDA/MDD, AOP, RUP, and project management. He is currently working on an SOA pilot named composite business services (CBS).


Dao-Quynh Dang photo

Dao-Quynh Dang is a member of the IBM FileNet Business Process Management Development team in the IBM Software Group where she is responsible for providing SOA capabilities to the FileNet PBM product.


Indrajit Poddar photo

Indrajit Poddar (IP) is a member of the Strategy, Technology, Architecture and Incubation (STAI) team in the IBM Software Group, where he is architecting a number of PoCs for building SOA composite business services using IBM SOA Foundation products.




Rate this page


Please take a moment to complete this form to help us better serve you.



YesNoDon't know
 


 


12345
Not
useful
Extremely
useful
 


Share this....

digg Digg this story del.icio.us del.icio.us Slashdot Slashdot it!



Back to top


FileNet, IBM, the IBM logo, and WebSphere are registered trademarks of IBM in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others.