![]() |
![]() |
IBM Business Process Manager (BPM) has some applications on its presentation layer. The following applications are three of the most important applications on that layer:
-
Process Portal – This application tends to be used as a front end where end users can start process applications, claim activity tasks, and collaborate with business process manager experts to, for example, ask for help in completing a task.
-
Process Admin – This application is a console for administrative things such as granting access to the users, configuring servers like Enterprise Content Management (ECM) servers, monitoring process instance execution time, cleaning the cache, and so on.
-
Business Space – This application encompasses many functions of IBM Business Process Manager. It can be used as a front end for users where they can configure pages and widgets. Unlike portlets, widgets are components that run on the client side.
Some customers already have WebSphere Portal Server running on their Internet or Intranet. When customers acquire other IBM products, the main questions that come up are:
- How can we have this product integrated with WebSphere Portal Server so that the end users have one centralized place to work with its tasks in a collaborative way?
- Is it possible for a customer to claim a task and complete it using WebSphere Portal Server as the main front end?
The answer to these question is yes. This blog will show you how to integrate IBM Business Process Manager and IBM Business Monitor with WebSphere Portal Server that you can see all of the widgets and dashboards on the Portal side with minimal effort.
The integration process is documented in the IBM Business Process Manager Information Center and split into the following sections:
-
IBM Business Process Manager and WebSphere Portal Server Integration
Configuring IBM Business Monitor widgets for WebSphere Portal
-
IBM Cognos BI and Portal Server Integration
Configuring IBM Cognos BI with WebSphere Portal
This blog covers the IBM Business Process Manager and WebSphere Portal Server integration (1) only.
Configuring IBM Business Monitor widgets for WebSphere Portal
In this section, we will define the main points that are needed for this integration. We assume that IBM Business Process Manager and WebSphere Portal Server are already installed and configured. Check the following information:
- Check the IBM Business Process Manager and WebSphere Portal Server integration prerequisites as listed in the Compatibility of IBM Business Process Manager (BPM) and IBM WebSphere Portal releases document.
-
Make sure that you apply the full profile to the pages that contain your widgets or to the entire theme. It is required that you use the Portal theme instead of Page Builder.
-
Make sure that you have configured the REST service provider URL on your IBM Business Process Manager administrative console so that all your widgets are available when they are called by WebSphere Portal Server.
-
Configure SSL certificate between both cells. If you do not have a firewall between WebSphere Portal Server and IBM Business Process Manager, you can use the "retrieve from port" functionality on the IBM Business Process Manager and WebSphere Portal Server consoles in order to exchange the certificates.
-
Configure the Lightweight Third Party Authentication (LTPA) token between cells where you have to export and import the LTPA keys from the admin console or the command line (wsadmin)
-
Copy the service endpoint files from the business space of your IBM Business Process Manager product to a temporary directory in the same machine in order to preserve the original files. The endpoint files are located in the profile_root/BusinessSpace/node_name/server_name/mm.runtime.prof/endpoints/ directory where profile_root is your IBM Business Process Manager Deployment Manager location. For example, the directory might be /opt/IBM/BPM/profiles/Dmgr01
-
Edit the endpoint files content as shown in the following example:
-
Original version:
<tns:Endpoint>
<tns:id>{com.ibm.bspace}bspaceCommonWidgetRootId</tns:id>
<tns:type>{com.ibm.bspace}bspaceCommonWidgetRootId</tns:type>
<tns:version>1.0.0.0</tns:version>
<tns:url>/BusinessSpace/</tns:url>
<tns:description>Location of Business Space Common Widgets</tns:description>
</tns:Endpoint>
-
New version:
<tns:Endpoint>
<tns:id>{com.ibm.bspace}bspaceCommonWidgetRootId</tns:id>
<tns:type>{com.ibm.bspace}bspaceCommonWidgetRootId</tns:type>
<tns:version>1.0.0.0</tns:version>
<tns:url>http://<Business_Space_Host>:<port_number>/BusinessSpace/</tns:url>
<tns:description>Location of Business Space Common Widgets</tns:description>
</tns:Endpoint>
Attention: If you have a web server, such as IBM HTTP Server, in front of your IBM Business Process Manager clusters, you should use its address for the <Business_Space_Host> and <port_number> values.
-
IBM Business Process Manager configuration
You have to run a command to register the IBM Business Process Manager endpoints (URLs) on WebSphere Portal Server console.
-
Connect to the IBM Business Process Manager cell using the following example wsadmin command:
/opt/IBM/BPM/bin/wsadmin.sh -lang jython -conntype NONE -
Run the following Jython command:
AdminTask.updateEndpointBindingsOnPortal('[-nodeName Portal_node_name -serverName WebSphere_Portal_server_name -endpointBindingDirectoryName Directory_containing_endpoints_files -host Portal_server_IP_or_host -port Portal SOAP_port -user Portal_admin_ID -password Portal_admin_password]')
Note: Make sure that you replace the following variables with the appropriate values for your configuration:-
Portal_node_name
-
WebSphere_Portal_server_name
-
Directory_containing_endpoints_files
-
Portal_server_IP_or_host
-
Portal SOAP_port - The default value is 10025
-
Portal_admin_ID
-
Portal_admin_password
For example:
AdminTask.updateEndpointBindingsOnPortal('[-clusterName PortalCluster -endpointBindingDirectoryName /tmp/endpoints -host host1.br.ibm.com -port 8879 -user wsadmin -password $PASSWORD]')
If you see the output 'Command executed successfully', continue to the next steps.
-
-
Run the following command to save you configuration: AdminConfig.save()
Attention: If you are running the command to configure both IBM Business Process Manager and IBM Business Monitor, run the command once for IBM Business Process Manager and again for IBM Business Monitor.
To verify that the previous command was run successfully, you have to:
WebSphere Portal Server configuration
You have to configure the proxy with the policies that are needed to allow calls from the WebSphere Portal Server cell to the IBM Business Process Manager cell. Complete the following steps:
-
On the primary node of WebSphere Portal Server, find the WEB-INF directory that is similar to the following directory:
/opt/IBM/WebSphere/AppServer/profiles/PortalNode01/config/cells/PortalCell/applications/AJAX\ Proxy\ Configuration.ear/deployments/AJAX\ Proxy\ Configuration/wp.proxy.config.war/WEB-INF
-
Edit the file proxy-config.xml file by adding a policy section that points to the IBM Business Process Manager remote URL endpoint as shown in the following code:
<proxy:policy url="<REMOTE_BPM_URL>" acf="none">
<proxy:actions>
<proxy:method>GET</proxy:method>
<proxy:method>HEAD</proxy:method>
<proxy:method>POST</proxy:method>
<proxy:method>DELETE</proxy:method>
<proxy:method>PUT</proxy:method>
</proxy:actions>
<proxy:cookies>
<proxy:cookie>LtpaToken</proxy:cookie>
<proxy:cookie>LtpaToken2</proxy:cookie>
<proxy:cookie>JSESSIONID</proxy:cookie>
<proxy:cookie>CRN</proxy:cookie>
<proxy:cookie>caf</proxy:cookie>
<proxy:cookie>cam_passport</proxy:cookie>
<proxy:cookie>cc_session</proxy:cookie>
<proxy:cookie>userCapabilities</proxy:cookie>
<proxy:cookie>usersessionid</proxy:cookie>
</proxy:cookies>
<proxy:headers>
<proxy:header>User-Agent</proxy:header>
<proxy:header>Accept*</proxy:header>
<proxy:header>Content*</proxy:header>
<proxy:header>Authorization*</proxy:header>
<proxy:header>X-Method-Override</proxy:header>
<proxy:header>Set-Cookie</proxy:header
<proxy:header>If-Modified-Since</proxy:header>
<proxy:header>If-None-Match</proxy:header>
<proxy:header>X-Server</proxy:header>
<proxy:header>X-Update-Nonce</proxy:header>
<proxy:header>X-Requested-With</proxy:header>
<proxy:header>com.ibm.lotus.openajax.virtualhost</proxy:header>
<proxy:header>com.ibm.lotus.openajax.virtualport</proxy:header>
<proxy:header>Slug</proxy:header>
<proxy:header>SOAPAction</proxy:header>
</proxy:headers>
</proxy:policy>
Attention: If you have the IBM Business Monitor on a separate cell from IBM Business Process Manager, you have to create a second section in the proxy-config.xml file for the IBM Business Monitor cell.
-
Run the checkin-wp-proxy-config command to validate the proxy-config.xml file as shown below:
In a clustered environment, run the script on the primary node. For example:
ConfigEngine.[bat|sh] checkin-wp-proxy-config -DProxyConfigFileName=dir_path/temporary_proxy_file.name -DWasPassword=application_server_password -DWasUserid=application_server_user_ID -DPortalAdminId=WebSphere_Portal_administrator_ID -DPortalAdminPwd=WebSphere_Portal_administrator_password
where dir_path/temporary_proxy_file.name is the complete path of your modified wp.proxy.config.xml file.
If you want to check the configuration in the proxy file, complete the following steps:- Access the WebSphere Portal Server console.
- Click Resources > Resource Environment > Resource Environment providers > WP ConfigService > Custom properties > proxy.config.file.
-
Verify that the new policies was added.
-
From the WebSphere Portal Server administrative console, restart the application named AJAX Proxy Configuration.
-
Register the Business Space widgets with WebSphere Portal Server.
Business Space widgets are registered as iWidgets with WebSphere Portal Server by a bulk import using the WebSphere Portal Server-specific widget catalog file with your product. The catalog XML file is available at the root of the product web archive (WAR) file. Each product has a different context root.
There are two types of widgets: common widgets and product-specific widgets.
The context root for the common Business Space widgets is /BusinessSpace, and the catalog file is catalog_commonWidgets_portal.xml. For example, specify the URL to the catalog XML file for the common Business Space widgets as http://localhost:9080/BusinessSpace/catalog_commonWidgets_portal.xml.
The following URLs are examples for business process management products:
-
IBM Business Monitor: http://Business_Space_hosting_Monitor:port/BusinessDashboard/catalog.xml
-
IBM Business Monitor with IBM Cognos Business Intelligence: http://Business_Space_hosting_Monitor:port/CognosWidgets/catalog.xml
-
Human Task Management widgets: http://Business_Space_hosting_Business_Process_Manager:port/HumanTaskManagementWidgets/portal_catalog.xml
-
Administration widgets:
-
http://Business_Space_hosting_Business_Process_Manager:port/BSpaceWidgetsHM/hmCatalog.xml
-
http://Business_Space_hosting_Business_Process_Manager:port/PolymorphicWidget/polymorphicCatalog.xml
-
http://Business_Space_hosting_Business_Process_Manager:port/scaWidget/scaCatalog.xml
-
http://Business_Space_hosting_Business_Process_Manager:port/SecurityManagerWidgets/smCatalog.xml
-
http://Business_Space_hosting_Business_Process_Manager:port/StoreAndForward/sfCatalog.xml
-
http://Business_Space_hosting_Business_Process_Manager:port/ServiceMonitorGraphWidget/smGraphCatalog.xml
-
http://Business_Space_hosting_Business_Process_Manager:port/BSpaceWidgetsBCM/bcCatalog.xml
-
Run the following command from the wp_profile\ConfigEngine directory to register iWidgets using your product catalog XML file:
ConfigEngine.[bat|sh] register-iwidget-definition -DIWidgetCatalog=URL_to_catalog_XML_file -DWasPassword=password -DWasUserid=ID -DPortalAdminId=ID -DPortalAdminPwd=password -DRegistrationAspects=catalogTitlesOverule,considerWidgetParam,considerUniqueName
Note: Make sure that you replace the URL_to_catalog_XML_file, password, and ID variables with the appropriate values for your environment.
Attention: If you have IBM Business Monitor in a different cell, you have to run the previous command to register the Monitor iwidgets catalog.
Share your experience and feedback with us!
This author, Victor Paulo Alves De Almeida, is a WebSphere IT Specialist and is based out of Brasilia, Brazil.