Saturday, June 22, 2013

BPM 11.1.1.7 Composer Web Form Creation

Web Forms are one of the most anticipated features delivered as part of the latest Oracle BPM PS6 release (11.1.1.7). What is so special about it? Well, until PS5 Oracle BPM supported only one form of human task UI development - the out of the box ADF style of development which required the use of Oracle JDeveloper IDE and in complex scenarios invariably required the help of IT dept.

Starting PS6, Oracle BPM supports Web Forms which is a welcome feature especially for business analysts/process owners who have very high business process knowledge but little IT/development. Oracle BPM PS6 allows business users to create & implement a complete end-to-end business process (including user task UIs) from a blank canvas via their web browsers.

However, while trying to create a web form from BPM composer, you may encounter the following error;

Error getting form: OrderProcessForm
Caused by: Could not instantiate form: got wrong status=500


This is just a configuration issue which can be resolved in a jiffy.

Just make a note of the fully qualified machine hostname where BPM PS6 is installed.
For eg., sathyam-lap.oracle.com

1. Login to WebLogic console [http://sathyam-lap.oracle.com:7001/console]
2. Expand Environment and choose Servers from the "Domain Structure" panel

3. Click on the managed server where SOA/BPM is installed from the list of servers [Generally, soa_server1 on port 8001]
4. In the "Settings for soa_server1" page, choose "Protocols" tab from top menu & "HTTP" tab in the sub menu bar [You can update this for all servers to keep the URLs uniform]
5. Update the "Frontend Host" entry with the fully qualified machine hostname


Now, login to BPM composer and try to create/access your webform and it must be rendered properly.
Note that you must always access all server URLs using the fully qualified hostname
eg., http://sathyam-lap.oracle.com:8001/bpm/composer

Tuesday, June 4, 2013

BPM 11g Workspace - Initiator Task: No Applications Found

Of late, I have been seeing users getting this issue of not being able to initiate the BPM process due to non-availability of the process under the "Available Processes" panel in the BPM workspace.

This issue is not specific to Initiator tasks and can occur for any human task in a BPM process. Note that this issue is tough to reproduce and is very intermittent.

Not to worry. It is curable ;)

Check 1:

Ensure that the role mapping is done for the BPM application roles in the BPM workspace

Check 2:

1. Login to EM console as administrator
2. Choose your BPM application under soa-infra -> default
3. On the RHS, click on the appropriate human task under the "Component Metrics" section
4. On the resulting screen, go to Administration tab
5. Check if taskform URI information is available

More often, this information might be missing and you may have to manually configure this;

Sample information is provided below (Click on the "Add URI" button)

Application Name: worklist
Host Name: localhost (provide appropriate hostname information here)
HTTP Port: 8001 (SOA managed server port)
HTTPS Port: 0
URI: /workflow/ManageOrderUI/faces/adf.task-flow?_id=ManageOrderTask_TaskFlow&_document=WEB-INF/ManageOrderTask_TaskFlow.xml

URI information is just an example. Update it to match your ADF taskflow definition.

Hope this helps in the resolution of the issue.

Saturday, June 1, 2013

Unable to Login BPM Workspace/Composer

Last week I installed BPM PS6 on one of my local servers. Since it was intended to be a development environment, I configured my WebLogic domain to have a single server which would double up as my SOA/BPM server in additions to its Admin server capabilities.

After a clean install, while trying to login as weblogic [the administrator user] in to the BPM workspace or BPM composer, these applications wouldn't allow access throwing "Login Error" & "Authentication Error" respectively. However, I was successfully able to login to the WebLogic console & EM with same credentials.

On investigating the server logs, the following errors were reported by the managed server;

[APP: BPMComposer] BPM-80102: Error while creating the security service.  Cause: Identity Service Configuration error.[[ Identity Service Configuration has error.
Please refer to the identity service configuration guidelines and correct the Identity Service configurations. Contact Oracle Support Services if error is not fixable.
javax.security.auth.login.LoginException: BPM-80102: Error while creating the security service.  Cause: Identity Service Configuration error.
........
........
........
Caused by: ORABPEL-10555
Identity Service Configuration error.
Identity Service Configuration has error.
........
........
Caused by: oracle.bpel.services.workflow.client.WorkflowServiceClientException: javax.xml.ws.WebServiceException: oracle.fabric.common.PolicyEnforcementException: PolicySet Invalid: WSM-02557 oracle.wsm.policymanager.accessor.BeanAccessor The documents required to configure the Oracle Web Services Manager runtime have not been retrieved from the Policy Manager application (wsm-pm), possibly because the application is not running or has not been deployed in the environment. The query "&(policysets:global/%)(@appliesTo~="WS-Client()")" is queued for later retrieval. WSM-02557 oracle.wsm.policymanager.accessor.BeanAccessor The documents required to configure the Oracle Web Services Manager runtime have not been retrieved from the Policy Manager application (wsm-pm), possibly because the application is not running or has not been deployed in the environment. The query "/policies/oracle/no_authentication_client_policy" is queued for later retrieval.

Clearly the error states an issue with the policy manager under OWSM (Oracle WebServices Manager).

If this is not the error message in your logs, you may review the blog post here to see if that helps.

Solution:

Step 1:

1. Login to WLS console (http://hostname:port/console) as weblogic [Admin user]
2. Under the Data Sources, ensure that the mds-owsm jdbc data source is targeted at the SOA managed server [If you have a single server install verify that it is targeted at AdminServer]. If not, edit the data source & update targets

Step 2:

1. Under the "Deployments" section of WLS console, make sure that the wsm-pm enterprise application is running. If the deployment state is other than "Active", there is a good posibility that this application is not targeted on the SOA managed server.
2. Solution here is to target this application manually on the SOA server. To do this, click on the wsm-pm application -> Go to Targets tab -> choose the wsm-pm root component -> Click on "Change Targets" -> Check the SOA managed server (or AdminServer in case of single server install) and choose "Yes".

Now, you should be able to successfully login to the BPM workspace & BPM composer applications.