Thursday 13 February 2014

Oracle Case Management 11g EURENT Configuration


Case Management is a new addition to Oracle BPM in release 11.1.1.1.7 (PS6). This new release contains the Case Management engine, see blog Léon for more details.
However, currently this release does not contain a case portal.
The case management API's, just like the already existing Oracle BPM API's, help in developing a portal page with relative ease.

In this post I will show how to install, configure and fix common issues for the EURent case management application and portal application developed by Oracle.

Downloads all the files:
Case MGM UI
EurRent
Demo Community
Patches for Case Mgm

Then starts unzipping the EURENT dowloaded file Sample PDF and follow the steps indicated within.

  • Pre-requirements
    • Patch installation for WLS and Java if needed
  • Depoly EURENT
    • Make sure in the property the admin has to point to the ADMIN server and the SERVER has to point to the SOA_SERVER
    • If needed the workflow-001-DemoCommunitySeedApp can be found here
  • Running ANT to create and configure the users and groups, it may happen:
BUILD FAILED
C:\oracle\Middleware\11.1.1.7-JDEV\workspace\EURent\case-permission-grant-build.xml:28: The following error occurred while executing this line:
C:\oracle\Middleware\11.1.1.7-JDEV\workspace\workflow-001-DemoCommunitySeedApp\build.xml:38: The following error occurred while executing this line:
C:\oracle\Middleware\11.1.1.7-JDEV\workspace\workflow-001-DemoCommunitySeedApp\build.xml:42: Problem: failed to create task or type if
Cause: The name is undefined.
Action: Check the spelling.
Action: Check that any custom tasks/types have been declared.
Action: Check that any / declarations have taken place.

This only happens because some Target used in this script are not part of the default ANT installation, which then needs to be imported using the following:
<taskdef resource="net/sf/antcontrib/antlib.xml">
  <classpath>
    <pathelement location="your/path/to/ant-contrib-${version}.jar">
  </pathelement></classpath>
</taskdef>


Another issue which may happen is that the groups are not correctly associated to the users because the users are not already defined in the LDAP. At the end of the ANT script you may note the following:

seedDemoCommunity:
     [echo] Invoking seeding servlet to start seeding demo community...
     [echo] seed.server.url : http://localhost:8001, seed.admin.url : t3://localhost:7001 seed.admin.name : weblogic 
     [java] URL : http://localhost:8001/integration/SOADemoCommunity/DemoCommunitySeedServlet
     [java] inputFile=C:\oracle\Middleware\11.1.1.7-JDEV\workspace\EURent\CasePermissionRoleGrants.xml&adminServer=localhost&adminPort=7001&adminUser=weblogic
     [java] <html>
     [java] <head>
     [java] <title>Demo User Community</title>
     [java] <link rel="stylesheet" type="text/css" href="stylesheet.css"/>
     [java] </head>
     [java] <body>
     [java] <table border="1" style="background-color:#C8C8C8" align="center" width="70%">
     [java] <tr>
     [java] <td>
     [java] <H1 ALIGN="CENTER">Seed Demo Community</H1>
     [java] <BR><B>App-Role Grants : </B>
     [java] </td>
     [java] </tr>
     [java] </table>
     [java] </body>
     [java] </html>


In "App-Role Grants :" we should see the list of Users-Roles granted. As you can see in the Server log:

user:jcooper User (jcooper) specified as grantee for app role EURent.CONFIDENTIA
L.READ.Role does not exist. Please modify the XML input file to create the user
and rerunuser:jstein User (jstein) specified as grantee for app role EURent.CONF
IDENTIAL.READ.Role does not exist. Please modify the XML input file to create th
e user and rerunuser:sfitzger User (sfitzger) specified as grantee for app role
EURent.CONFIDENTIAL.READ.Role does not exist. Please modify the XML input file t
o create the user and rerunJMXAppRoleGranter.getMembersForApplicationRole() : IN
 : appStripe : OracleBPMProcessRolesApp, appRole : EURent.CONFIDENTIAL.UPDATE.Ro
le


Too fix it the users defined in the CasePermissionRoleGrants.xml have to be manually created in the WLS realm, then the script ANT can be re-run again

the result has to be like this:


seedDemoCommunity:
     [echo] Invoking seeding servlet to start seeding demo community...
     [echo] seed.server.url : http://localhost:8001, seed.admin.url : t3://localhost:7001 seed.admin.name : weblogic
     [java] URL : http://localhost:8001/integration/SOADemoCommunity/DemoCommunitySeedServlet
     [java] inputFile=C:\oracle\Middleware\11.1.1.7-JDEV\workspace\EURent\CasePermissionRoleGrants.xml&adminServer=localhost&adminPort=7001&adminUser=weblogic
     [java] <html>
     [java] <head>
     [java] <title>Demo User Community</title>
     [java] <link rel="stylesheet" type="text/css" href="stylesheet.css"/>
     [java] </head>
     [java] <body>
     [java] <table border="1" style="background-color:#C8C8C8" align="center" width="70%">
     [java] <tr>
     [java] <td>
     [java] <H1 ALIGN="CENTER">Seed Demo Community</H1>
     [java] <BR><B>App-Role Grants : </B>
     [java] EURent.PUBLIC.READ.Role is granted to user mmitch.
     [java] EURent.PUBLIC.READ.Role is granted to user jausten.
     [java] EURent.PUBLIC.READ.Role is granted to user wfaulk.
     [java] EURent.PUBLIC.READ.Role is granted to user wshake.
     [java] EURent.PUBLIC.READ.Role is granted to user jcoope.
     [java] EURent.PUBLIC.READ.Role is granted to user jstein.
     [java] EURent.PUBLIC.READ.Role is granted to user sfitzger.
     [java] EURent.PUBLIC.UPDATE.Role is granted to user mmitch.
     [java] EURent.PUBLIC.UPDATE.Role is granted to user jausten.
     [java] EURent.PUBLIC.UPDATE.Role is granted to user wfaulk.
     [java] EURent.PUBLIC.UPDATE.Role is granted to user wshake.
     [java] EURent.PUBLIC.UPDATE.Role is granted to user jcooper.
     [java] EURent.PUBLIC.UPDATE.Role is granted to user jstein.
     [java] EURent.PUBLIC.UPDATE.Role is granted to user sfitzger.
     [java] EURent.PUBLIC.INVOKE.Role is granted to user mmitch.
     [java] EURent.PUBLIC.INVOKE.Role is granted to user jausten.
     [java] EURent.PUBLIC.INVOKE.Role is granted to user wfaulk.
     [java] EURent.PUBLIC.INVOKE.Role is granted to user wshake.
     [java] EURent.PUBLIC.INVOKE.Role is granted to user jcooper.
     [java] EURent.PUBLIC.INVOKE.Role is granted to user jstein.
     [java] EURent.PUBLIC.INVOKE.Role is granted to user sfitzger.
     [java] EURent.CONFIDENTIAL.READ.Role is granted to user jcooper.
     [java] EURent.CONFIDENTIAL.READ.Role is granted to user jstein.
     [java] EURent.CONFIDENTIAL.READ.Role is granted to user sfitzger.
     [java] EURent.CONFIDENTIAL.UPDATE.Role is granted to user jcooper.
     [java] EURent.CONFIDENTIAL.UPDATE.Role is granted to user jstein.
     [java] EURent.CONFIDENTIAL.UPDATE.Role is granted to user sfitzger.
     [java] EURent.CONFIDENTIAL.INVOKE.Role is granted to user jcooper.
     [java] EURent.CONFIDENTIAL.INVOKE.Role is granted to user jstein.
     [java] EURent.CONFIDENTIAL.INVOKE.Role is granted to user sfitzger.
     [java] </td>
     [java] </tr>
     [java] </table>
     [java] </body>
     [java] </html>


  • At this stage the UI has to be deployed. Just configure the deploy script with your environment variable and run it. It creates the EAR which can be manually deployed through the WLS console. Deploy it to the SOA_SERVER, if different than the ADMIN. The console can be tested at this point accessing as a granted user (mitch jstein, ...)
  • Now all has been deployed and configured, it is time to start a case! Open the SampleInput XML and call the EURENT.service (note that in some case it may be good to comment "<ns2:updatedDate></ns2:updatedDate>", I got some issue because of this field). The service can be called:
    • through the EM (accessing to the service in SOA-infra)
    • accessing to http://<host>:<port>/soa-infra selecting EURENT.service


  • Now connecting to the sample UI as a mitch, in case you don't see any record it maybe because the Groups in the BPM/workspace have not been configured correctly

Access to the BPM Console and check if the highlighted groups have been granted to someone.
In my case they weren't, then I granted all of them to weblogic.



Then accessing to the CMSampleUI again as weblogic user I see the created records.


  • asas

No comments:

Post a Comment