Integrate IBM FileNet Business Process Manager and IBM Content Manager using IBM WEBi as a widget

Enable BPM with CM8 content in a runtime integration solution

Many companies need an out-of-the-box solution for integrating IBM® FileNet® Business Process Manager (BPM) and IBM Content Manager V8 (CM8). Today, using new capabilities provided by IBM Enterprise Content Management Widgets (ECM Widgets) 4.5.2 and IBM WEB Interface (WEBi) 1.0.4, IBM's Enterprise Content Management products bring you an easy way to integrate BPM and CM8 at the runtime tier. Using these new features, enterprise business analysts can manage their business processes using CM8 content without having to invest any additional development effort. In this article, understand the business background, the architecture, and the procedures for integrating BPM and CM8 repositories at runtime.

Share:

Harris Yang (yanghes@cn.ibm.com), Advisory Software Engineer, IBM

Harris Yang photoHarris Yang is the QA architect of IBM ECM Widgets and is responsible for the quality improvement of the product since the beginning of 2009. Prior to that, Harris was QA lead of several important IBM ECM products, such as CM8, Document Manager, and Records Manager, and successfully led the DoD 5015.02 v3 certification for IBM Records Manager.



Hong Wei Guo (guohongw@cn.ibm.com), Staff Software Engineer, IBM

Hong Wei Guo photoHong Wei Guo is currently working in IBM CDL as a functional test lead for ECM products. He has extensive experience with J2EE development in the telecom industry and a deep understanding of ECM and BPM products.



Xu Bo Zhou (zhouxubo@cn.ibm.com), Software Engineer, IBM

Xu Bo Zhou photoXu Bo Zhou is a QA engineer from ECM team. He has been involved in several projects, including IBM Records Manager and IBM ECM Widgets. He focuses on automation testing and has a lot experience with RFT and dojo automation testing.



05 August 2010

Why integrate FileNet Business Process Manager and IBM Content Manager?

To understand the business requirement for integrating these two Enterprise Content Management products, let's start with a fictional example—ABC Insurance, Inc., a national insurance company. Its business includes life, property, vehicle, and other types of insurance coverage. The headquarters of this company is located in a city in northern China. It has branch offices in most provinces and cities of China. The challenges and problems that ABC Insurance must face are similar to problems faced by many organizations. In this article, follow the approach taken by ABC Insurance as an example of how many companies can solve similar problems.

The main business operations of ABC lie in two categories: client registration and insurance claims. ABC uses two systems to run its business:

  • The client registration information is stored on a system running under an IBM Content Manager V8 application.
  • The insurance claim business runs under a FileNet Business Process Manager application.

As ABC's business grows, the interoperability and productivity of these two applications are becoming increasingly important to support that growth. ABC has been looking for ways to integrate their two applications to support their business transformation and corporate strategy. What options do they have to achieve that goal?

Let's take a look at each option.

Server layer integration

About two years ago, ABC had to rely on the integration solution at the server layer. They needed to kick off a project and have a team develop an application to combine these two system on the server side. As shown in Figure 1, the newly developed program extends the BPM capability to access content stored in CM8 repository. This effort would typically take about six months to complete.

Figure 1. Integration solution at server layer
Diagram shows BPM with capability to access content stored in CM8 repository and indicates large development effort

Runtime layer integration

Today, ABC can leverage IBM ECM Widgets, Version 4.5.2 and IBM WEBi, Version 1.0.4 to integrate their systems during runtime. This is the most straightforward, efficient, and economical approach. Figure 2 shows such a runtime integration solution.

Figure 2. Integration solution at runtime layer
Diagram shows simpler integration at the runtime layer using ECM Widgets and WEBi

The next section introduces the architecture of ECM Widgets and explains the details of the runtime layer integration.


Architecture of IBM ECM Widgets

IBM ECM Widgets system is composed of four software layers (from bottom to top):

Repository tier

IBM ECM Widgets 4.5.2 supports both FileNet Content Engine and Content Manager V8 repositories. The content repository is responsible for storing diverse business content and providing access for the upper business process layer.

BPM tier

The Business Process Management (BPM) layer is the FileNet Process Engine (PE) in the ECM Widgets environment. The PE version that ECM Widgets 4.5.2 supports is Version 4.5.1. The BPM layer provides management functions such as process design, deployment, milestone activities, business rule and role management, and all other process-related items.

Runtime tier

The ECM Widgets server is an IBM WebSphere® application that provides a runtime environment for all ECM Widgets. ECM Widgets is a collection of widgets that can be used to assemble user interfaces for business process management applications without requiring any programming effort. Part of the value of widgets is that they can be easily connected to each other, which is also called "wiring (events)." Once they are wired, they can communicate with each other by sending events. The communication between runtime widgets server with the back-end BPM and content repositories is through a set of REST interface services provided by the back end.

Presentation tier

The topmost presentation layer in ECM Widgets architecture is the user interface, accessed through a web browser. Users can operate individual widgets to perform daily operations or work items, or compose several widgets to complete a transaction. A widget is a small application or piece of dynamic content that can be easily placed onto a web page during runtime.


Embeddable WEBi

One of the important capabilities that make a solution possible is the embeddable WEBi. Embeddable WEBi is the latest feature provided by IBM WEBi, Version 1.0.4. Embeddable WEBi provides a set of APIs to the end user so that you can easily embed WEBi into your own applications, especially web applications. ECM Widgets leverages the embeddable WEBi to turn the WEBi into a widget. By doing so, you can embed WEBi capabilities in ECM Widgets. Having introduced a WEBi widget in the application, you can then operate CM8 content through the WEBi widget. After that, all that is left to do is the simple work of configuration. If you have a workable IBM WEBi 1.0.4 server, then you only need a single WEBi URL to complete integrating BPM and CM8.

A new generation for Content Manager clients

IBM WEBi is a new generation of CM8 client, based on the Web 2.0 technology. It provides a better user experience than earlier Content Manager client products, and includes more function for accessing and managing business content. Version 1.4.2 of IBM WEBi supports IBM ECM Widgets integration. Figure 3 shows the graphic user interface provided by IBM WEBi.

Figure 3. IBM WEBi UI - Contentlist
Screen shot shows navigation area, message area, toolbar, information bar, search pane, and content list pane of IBM WEBi UI

Figure 4 shows the worklist in the user interface.

Figure 4. IBM WEBi UI - Worklist
Screen shot shows navigation pane and worklist pane of IBM WEBi UI

New feature of IBM WEBi 1.0.4

IBM WEBi, Version 1.0.4 includes several new features, such as folder navigation, new themes, IE8 support, single sign-on, tabbed navigation, and embeddable WEBi. Embeddable WEBi is a set of APIs exposed on the WEBi server. Users can execute WEBi functionality through this set of APIs. This set of APIs improves ease of customization and adds capabilities for users to embed WEBi into their applications. Embeddable WEBi provides alternate layouts for optimizing search-only, contentlist-only, worklist-only, and viewing-only interfaces. It also provides additional parameters for the WEBi launch to allow other application to set an initial state and launch an initial action of WEBi. ECM Widgets can then use these functions to support building a WEBi widget to access the CM8 content.


Integrate BPM and CM8

Integration architecture

BPM and CM8 are integrated at the runtime layer. The runtime layer has two major components: the IBM ECM Widgets server and IBM WEBi server. IBM ECM Widgets server is running in the WebSphere Business Space, which is also the container of ECM Widgets. ECM Widgets communicates with the CE REST API to access the content stored in the Content Engine (CE). It also communicates with the Process Engine (PE) using the PE REST API. The Process Engine is responsible for controlling and handling all process-related operations. In order to extend the Process Engine to manage content stored in the CM8 repository, you can use IBM WEBi as a bridge to interconnect ECM Widgets and the CM8 repository. In this configuration, IBM WEBi behaves like the CM8 REST APIs, providing communication between ECM Widgets and CM8 content. At the presentation layer, users can access both CE and CM8 content, attach them to a process work item, and take appropriate actions at the appropriate stage in the lifecycle. All these benefits are available through the out-of-the-box integration solution provided by IBM ECM Widgets and IBM WEBi.

Figure 5 illustrates the architecture of the integration solution.

Figure 5. Architecture of integration solution
Diagram shows content engine and process engine communicating through APIs to the ECM widgets server, which then communicates to the ECM widgets client. ECM widgets server is connected to the WEBi server, which is connected to CM8.

Roles involved in the solution

The integration solution supports three roles: Business User, Business Analyst, and IT Administrator. Table 1 shows the responsibilities and working view for each of these roles.

Table 1. Roles of the integration solution
RoleResponsibilitiesWorking View
Business User
  • Perform business operations on client systems
  • Consume services provided by business application and designed by business analyst
Business View
Business Analyst
  • Refine enterprise business requirement and design business process
  • Design end user interface and capabilities
  • Design enterprise business services and incorporate process improvement
Process View
IT Administrator
  • Set up enterprise IT environment
  • Deploy and maintain enterprise IT infrastructure
  • Manage business data migration and backup
IT View

Application communication model

IBM ECM Widgets and IBM WEBi can communicate using either a proxy or a non-proxy model. You can select either of these models to deploy and configure the solution.

  • Proxy: The WEBi server is deployed in a different application server from that of the ECM Widgets. Proxy improves scalability but increases the network load between the two servers.
  • Non-proxy: The WEBi server is deployed in the same application server as that of the ECM Widgets.

The Configuration Manager of ECM Widgets provides you with the following options for the communication method (as shown in Figure 6):

  • Same application server as Business Space
  • Separate application server from Business Space
Figure 6. Communication model
Configuration screen shows the two options for non-proxy or proxy

Security considerations

The transportation between the ECM Widgets and the WEBi server can be either normal HTTP or secured channel, SSL. Users can input the appropriate IBM WEBi URL, as shown in Figure 6 above. For example, http://<hostname>:<port_number>/wccommonservices is for normal HTTP transportation, and https://<hostname>:<ssl_port>/wccommonservices is for secured transportation.

Authentication method

The authentication between CE/PE and CM8 can be either single sign-on enabled or disabled. The solution supports single sign-on of CM8 through the WebSphere Application Server security. In order to enable single sign-on, you need to sync up the Ltpa key between the WEBi server and the ECM Widgets server in the proxy environment. Make sure that the two servers are in the same domain, time, and time zone. Once single sign-on is enabled, you only need to log in one time at the entry of ECM Widgets. All the remaining accesses to WEBi and CM8 in the same session will be automatically enabled. Otherwise, you need to perform a second login to WEBi and CM8.

Configuration of WEBi widget

The business analyst is expected to configure the WEBi widget for end users in the business space. There are four types of display of a WEBi widget:

  • All Components
  • Search Components
  • Search Results Only
  • Worklist Only

Each display shows a set of forms, layouts, and functions to an end user.

Steps to configure WEBi widget:

  1. Log in to the Business Space (https://<hostname>:<port_number>/mum/enabler).
  2. Click on Edit Page.
  3. Drag and drop a WEBi widget onto the page.
  4. Access the WEBi widget menus, and select Edit Settings....
  5. Configure the desktop, display, server, search form, and worklist for the WEBi widget, as shown in the following figures:
    • Figure 7 shows the configuration dialog used to configure the WEBi widget to display all components.
      1. On the dialog, select Default Desktop in the Desktop field.
      2. Select All Components in the Components to display field.
      3. Select the CM8 server (CM) in the Server field.
      4. Select the radio button for Search form.
      5. Select the target item type in the Search form drop-down list.
      6. Click on OK to save the settings.
      Figure 7. Configure All Components display
      Configure All Components display

      Figure 8 shows the display of all components of the WEBi widget, after you have configured it (as shown in Figure 7).

      Figure 8. Layout of All Components display
      Layout of All Components display
    • Figure 9 shows the configuration dialog used to configure the WEBi widget to display search components.
      1. On the dialog, select Default Desktop in the Desktop field.
      2. Select Search Components in the Components to display field.
      3. Select the CM8 server (CM) in the Server field.
      4. Select the target item type in the Search form drop-down list.
      5. Click on OK to save the settings.
      Figure 9. Configure Search Components display
      Configure Search Components display

      Figure 10 shows the display of search components of the WEBi widget after you have configured it (as shown in Figure 9).

      Figure 10. Layout of search Components display
      Layout of Search Components display
    • Figure 11 shows the configuration dialog used to configure the WEBi widget to display search results only.
      1. On the dialog, select Default Desktop in the Desktop field.
      2. Select Search Results Only in the Components to display field.
      3. Select the CM8 server (CM) in the Server field.
      4. Select the target item type in the Search form drop-down list.
      5. Click on OK to save the settings.
      Figure 11. Configure Search Results Only display
      Configure Search Results Only display

      Figure 12 shows the display of search results of the WEBi widget after you have configured it (as shown in Figure 11).

      Figure 12. Layout of Search Results Only display
      Layout of Search Results Only display
    • Figure 13 shows the configuration dialog used to configure the WEBi widget to display the worklist only.
      1. On the dialog, select Default Desktop in the Desktop field.
      2. Select Worklist Only in the Components to display field.
      3. Select the CM8 server (CM) in the Server field.
      4. Select the target item type in the Worklist drop-down list.
      5. Click on OK to save the settings.
      Figure 13. Configure Worklist Only display
      Configure Worklist Only display

      Figure 14 shows the display of worklist only of the WEBi widget after you have configured it (as shown in Figure 13).

      Figure 14. Layout of Worklist Only display
      Layout of Worklist Only display
  6. Click on OK to save the settings

A business analyst can also put multiple WEBi widgets onto the same page or several pages. Each of them can use different displays and perform different jobs. All WEBi widgets share the same theme and same authentication in the same session. If a user logs into one WEBi widget in the session, all other WEBi widgets will log in automatically. The same is true for the theme; if the theme is changed in one WEBi widget, all the others are changed to the new theme as well. When leaving a web page, the state of all WEBi widgets will be saved and reconstructed upon switching back.

Table 2 details the event wiring supported by WEBi widgets to work together with other widgets.

Table 2. Event wiring supported by WEBi widget
EventTypeDescription
Search with work itemIncoming
  • Wire In-basket widget (row selected) to WEBi widget
  • Parse the received attribute/value pairs, then put matched ones to target item type attributes, and perform the search
  • Restriction: Not applied to child component attributes
Search with valuesIncoming
  • Wire third-party widget to WEBi widget
  • Parse the received attribute pairs, then put matched ones to target item type attributes, and perform the search
  • Restriction: Not applied to child component attributes
Document IDs retrievedOutgoing
  • Wire to third-party widget
  • Send out the search result in JSON format as payload

After a business analyst configures WEBi widgets, end users can attach CM8 and CE documents to a work item, and operate them along the process.


Conclusion

So, what happened at ABC Insurance? They adopted the runtime layer integration described in this article, successfully integrating the two major systems without extra development effort and expense. After that, the business operations ran more efficiently in the company. Business analysts could then easily design and upgrade the business processes. IT administrators could focus more on the maintenance of IT infrastructure, and business users received a more flexible and personalized user experience. These experiences can easily be applied to other organizations in a similar situation.

This article has described the steps to integrate BPM and CM8 during runtime. The integration solution leverages the out-of-the-box support of IBM ECM Widgets and IBM WEBi. Several roles are supported, while multiple options on communication model, transportation, security, authentication, and display are provided for a business analyst to configure the integrated environment and design business operations.

Resources

Learn

Get products and technologies

  • Build your next development project with IBM trial software, available for download directly from developerWorks.

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, Industries
ArticleID=505098
ArticleTitle=Integrate IBM FileNet Business Process Manager and IBM Content Manager using IBM WEBi as a widget
publish-date=08052010