Oracle BPM Suite & Oracle WebCenter


By Tamer Qumhieh, Sr. Technology Sales Consultant, Oracle

Lately, the wave of Social Business Process Management (BPM) is picking up really fast, and as a result, Oracle BPM has a tight integration with Oracle WebCenter Portal by enabling ‘Process Space’, but this integration is only with ‘WebCenter Spaces’ based portals & not ‘Custom WebCenter Portal – Jdeveloper based’. In addition, and although Oracle WebCenter Portal offers an out-of-the-box ‘worklist’ taskflow, it has some limitations in terms of offering a full fledged worklist inbox. So, within this article I describe in a step-by-step approach how to enable and add a fully fledged BPM worklist inbox within a customer Oracle WebCenter Portal application. 

Notes: within this article, I do assume a BPM process is already built and deployed to SOA server.

1) Enable Global Trust between domains:

At both WebCenter & SOA domains, navigate to WLS console and set the password highlighted below (for example ‘welcome1’) on both domains, make sure it is the same password.

2) Make sure the below libraries are deployed on WebCenter server, by default they should

3) In WebCenter domain, create ‘foreign JNDI’ reference for SOA server

a. Within WebCenter WLS Console, click ‘Foreign JNDI Provider

b. Navigate to Domain Structure > Services > Foreign JNDI Providers.

c. Click New.

d. In the Name field, enter ForeignJNDIProvider-SOA.

e. Click OK.

f. Click the ForeignJNDIProvider-SOA link.

g. The Settings for ForeignJNDIProvider-SOA page appears.

h. Enter values for the fields listed in below table:

Initial Context Factory

weblogic.jndi.WLInitialContextFactory

Provider URL

t3://soa_hostname:soa_port/soa-infra

User

weblogic

Password

Enter the password for the user

Confirm Password

Enter the same password again

i. Click ForeignJNDIProvider-SOA.

j. Click the Links tab.

k. Under Foreign JNDI Links, click New.

l. The Create a Foreign JNDI Link page appears.

m. Enter values for the fields listed below:

Name

RuntimeConfigService

Local JNDI Name

RuntimeConfigService

Remote JNDI Name

RuntimeConfigService

n. Repeat step (m) six times and enter values shown below:

ejb/bpel/services/workflow/TaskServiceBean

ejb/bpel/services/workflow/TaskMetadataServiceBean

TaskReportServiceBean

TaskEvidenceServiceBean

TaskQueryService

UserMetadataService

 5) Add required libraries to portal application.

a. Make sure jdeveloper ‘BPM’ extension is installed within jdeveloper.

b. Right click portal project then select libraries & class paths and add the ‘WSRP Container’.

c. backup ‘bpm-service.jar’ located at JDEV_HOME\soa\modules\oracle.soa.workflow_11.1.1  to  ‘bpm-service.jar.orig’

d. copy ‘bpm-service.jar’ from SOA_HOME\soa\modules\oracle.soa.workflow_11.1.1  to  the same directory mentioned above.

e. Repeat the above 2 steps but this time replacing the ‘bpm-service.jar’ in WEBCENTER_HOME\soa\modules\oracle.soa.workflow_11.1.1  

f. Add ‘JDEV_HOME\soa\modules\oracle.soa.workflow_11.1.1\bpm-service.jar’ to your portal classpath. 

g. Add ‘adflibTaskListTaskFLow.jar’  &  ‘adflibWorklistComponents.jar’   from  SOA_SERVER\soa\modules\oracle.soa.worklist_11.1.1 into your portal app classpath. 

6) Edit portal project deployment to include those libraries during deployment. Right click project, select deployment and click edit button:

7) Mark libraries as below:

8) Create file ‘wf_client_config.xml’ in ‘src’ folder: 

9) Copy and paste below xml code:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<workflowServicesClientConfiguration  xmlns="http://xmlns.oracle.com/bpel/services/client" clientType="REMOTE">

   <server default="true" name="FEDERATED_SERVER_NAME">

      <localClient>

         <participateInClientTransaction>false</participateInClientTransaction>

      </localClient>

      <remoteClient>

         <serverURL>t3://SOA_SERVER:SOA_PORT</serverURL>

         <initialContextFactory>weblogic.jndi.WLInitialContextFactory</initialContextFactory>

         <participateInClientTransaction>false</participateInClientTransaction>

      </remoteClient>

      <soapClient>

         <rootEndPointURL>http://SOA_SERVER:SOA_PORT</rootEndPointURL>

         <identityPropagation mode="dynamic" type="saml">

            <policy-references>

               <policy-reference enabled="true" category="security"

                uri="oracle/wss10_saml_token_client_policy"/>

            </policy-references>

         </identityPropagation>

      </soapClient>

   </server>

</workflowServicesClientConfiguration>

10) make sure to substitute the values marked in red:

a. SOA_SERVER: soa server IP address or name.

b. SOA_PORT: with your soa server ports (for example 8001)

c. FEDERATED_SERVER_NAME:

i. Within SOA enterprise manager, you can get the federated server name as described in below screenshot:

 11) Create a new page, for example ‘worklist.jspx’ and add the ‘tasklist-task-flow-definition’ to the page as a region. Make sure to select ‘adfLibTaskFlow.jar’ from component palette

12) Set taskflow parameter as below:

taskFlowMode

worklist

federatedMode

false

all other parameters that starts the word ‘show

true

13) Go to ‘Application/security/resource grants

14) And add security privileges as below

15) Add ‘worklist.jspx’ to portal navigation and set security as below

16) Run/deploy portal and test page:

Within this article I hope you gained a better understanding of the details required for building a Social BPM portal by injecting Oracle fully fledged BPM worklist application within Oracle WebCenter Portal. If you have questions please leave them in the comments or contact me tamer.qumhieh@oracle.com

Comments:

what are the differences between worklist vs process spaces ?

Posted by guest on May 08, 2012 at 07:50 PM PDT #

Oracle BPM offers a dedicated standalone application 'worklist app' for users to interact with human workflows in addition to modeling processes. Also Oracle BPM offers an integration with WebCenter Portal that enables users to access the worklist app functionalities from within WebCenter Portal. This integration is offered as a dedicated WebCenter Portal space called 'process space'. If you have further questions, please feel free to contact Tamer directly tamer.qumhieh@oracle.com

Posted by Tamer Qumhieh on May 09, 2012 at 06:30 AM PDT #

Hi Tamer,
I followed your blog to create an app using version 11.1.1.6. Clicking on the page that contains the task list page results in this error though:
java.lang.IllegalStateException: The expression "#{bindings.externallinkstaskflowdefinition1.regionModel}" (that was specified for the RegionModel "value" attribute of the region component with id "r2") evaluated to null.
This is typically due to an error in the configuration of the objects referenced by this expression.
If it helps, the expression "#{bindings.externallinkstaskflowdefinition1}" evaluates to "null".
If it helps, the expression "#{bindings}" evaluates to "pramRole_portal_abcPageDef". Now using an empty RegionModel instead.
at oracle.adf.view.rich.component.fragment.UIXRegion.getRegionModel(UIXRegion.java:450)
at oracle.adf.view.rich.component.fragment.UIXRegion._beginInterruptibleRegion(UIXRegion.java:682)
at oracle.adf.view.rich.component.fragment.UIXRegion.processRegion(UIXRegion.java:498)

Dev

Posted by guest on May 09, 2012 at 02:09 PM PDT #

Hi,

Is it not possible to intigrate BPM application with Custom webcenter portal app. if yes how?

Thanks in advance.
Yogesh

Posted by guest on May 14, 2012 at 05:48 AM PDT #

This Blog post actually explains how you can integrate BPM application with Custom WebCenter Portal app.

Posted by Tamer Qumhieh on May 14, 2012 at 07:18 AM PDT #

Briefly, your solution involves using the tasklist task flow from the BPM worklist application (called BPM workspace) rather than using the one in Process Spaces?
But from the screenshot, both the worklists (from process spaces & standalone worklist app) seem to be the same..

Posted by JVS on August 21, 2012 at 10:08 AM PDT #

Oracle BPM offers the flexibility of allowing ADF based applications to Integrate with by consuming its set of TaskFlows in the same mechanism I demonstrated in this blog post. Now Oracle WebCenter Spaces leverages this functionality and uses the same BPM workspace TaskFlows and package those Taskflows in a ready made space which is the process space.

Posted by Tamer Qumhieh on August 22, 2012 at 01:35 PM PDT #

Thanks a lot Tamer Qumhieh for sharing this. We spent nearly a month in trying to get a complete process of integrating WebCenter with BPM worklist but could not get any on web.

Great post and hope you will come up with similar posts.

PS. Are there any web services available for only showing the notifications
For example: A person should be able to see the list of tasks in his queue in read only mode etc.

Thanks
Sai

Posted by guest on January 15, 2013 at 10:35 PM PST #

Hi Tamer Qumhieh,

I am using jdev 11.1.1.6.0.
I tried these steps but I got stuck at step
5) Add required libraries to portal application. I couldn't see WSRP Container in project libraries and class path please suggest.

Posted by Ramesh on March 20, 2013 at 02:34 AM PDT #

Make sure BPM extension is installed on your jdeveloper, as the WSRP Container library is bundled with it.

Posted by Tamer Qumhieh on March 20, 2013 at 04:28 AM PDT #

Hi Tamer,

I made good progress in doing this today but it didn't work for me as expected getting below error.

Error showing tasklist. Possible reasons could be : 1. SOA server connection information is not available. 2. If it is run in federated mode, the default server may be down.

Below is my wf_client_config.xml file located at <<App Name>>/Portal/src

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<workflowServicesClientConfiguration xmlns="http://xmlns.oracle.com/bpel/services/client" clientType="REMOTE">

<server default="true" name="default">

<localClient>

<participateInClientTransaction>false</participateInClientTransaction>

</localClient>

<remoteClient>

<serverURL>t3://10.34.156.83:7010</serverURL>

<initialContextFactory>weblogic.jndi.WLInitialContextFactory</initialContextFactory>

<participateInClientTransaction>false</participateInClientTransaction>

</remoteClient>

<soapClient>

<rootEndPointURL>http://10.34.156.83:7010</rootEndPointURL>

<identityPropagation mode="dynamic" type="saml">

<policy-references>

<policy-reference enabled="true" category="security"

uri="oracle/wss10_saml_token_client_policy"/>

</policy-references>

</identityPropagation>

</soapClient>

</server>

</workflowServicesClientConfiguration>

Posted by Ramesh on March 21, 2013 at 03:57 AM PDT #

Any concerns with licensing? I know Webcenter portal includes a restricted use BPEL licence. Is it ok to do this?

Posted by Doug on April 05, 2013 at 03:36 PM PDT #

using version 11.1.1.6. Clicking on the worklist page results in this error though:

[2013-04-07T10:08:50.024+03:00] [AdminServer] [WARNING] [] [oracle.adf.view.rich.component.fragment.UIXRegion] [tid: [ACTIVE].ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: weblogic] [ecid: 55c948639f186661:-4ca282c7:13de3317d12:-8000-000000000000022c,0] [APP: Application12_application1#V2.0] [[
java.lang.IllegalStateException: The expression "#{bindings.processApplicationsTaskflow1 != null ? bindings.processApplicationsTaskflow1.regionModel : bindings.dummyApplicationsTaskflow.regionModel}" (that was specified for the RegionModel "value" attribute of the region component with id "r1") evaluated to null.
This is typically due to an error in the configuration of the objects referenced by this expression. Now using an empty RegionModel instead.

Posted by guest on April 07, 2013 at 12:22 AM PDT #

Hi Tamer,

we have the SOA & CustomePortal managed server on same domain, do we need to setup Foreign JNDI for RuntimeConfigService & 6 others.

Also that what is the value for FEDERATED_SERVER_NAME wf_client_config.xml

Posted by Shantanu on March 07, 2014 at 01:06 AM PST #

In case you have both WebCenter and SOA in same domain; no need for foreign JNDI as they will be available by default. As for federated_server_name you can get it as described in step 10.c

Kindest Regards,
Tamer Qumhieh

Posted by Tamer Qumhieh on March 10, 2014 at 06:46 AM PDT #

Post a Comment:
  • HTML Syntax: NOT allowed
About

Oracle WebCenter portal is a portal and composite applications solution that delivers intuitive user experiences for the enterprise that are seamlessly integrated with your enterprise applications.

Search

Categories
Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today