Wednesday, March 24, 2010

Missing Configuration for Integration between OIM and ORM with JBOSS

I was facing an error after doing the integration between Oracle Identity Manager and Oracle Role Manager where OIM installed on Linux server and ORM in Windows server, here is a snapshot from the log

03:39:40,216 WARN  [IntegrationUtilities] No plugin configuration files found in /oracle/idm-home/jboss-4.2.3/bin/c:\ORMINT_HOME\/config
03:39:40,217 ERROR [TASK] Class/Method: SchedulerBaseTask/run encounter some problems: {1}
java.lang.NullPointerException
    at oracle.iam.rm.imframework.scheduledTasks.ScheduledIntegrationTask.init(ScheduledIntegrationTask.java:135)
    at com.thortech.xl.scheduler.tasks.SchedulerBaseTask.run(Unknown Source)
    at com.thortech.xl.scheduler.core.quartz.QuartzWrapper$TaskExecutionAction.run(Unknown Source)
    at Thor.API.Security.LoginHandler.jbossLoginSession.runAs(Unknown Source)
    at com.thortech.xl.scheduler.core.quartz.QuartzWrapper.execute(Unknown Source)
    at org.quartz.core.JobRunShell.run(JobRunShell.java:203)
    at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520)

I faced this error before when I installed OIM on windows, but for a quick way to solve the problem I moved ORMINT_HOME (ORM Integration Library location on OIM server) to the default location C:\ORMINT_HOME but after we changed OIM server to be Linux server, I had to face that issue again.

I tried to find if someone faced that issue before or not I didn't find help, even I opened Service Request on Metalink but without any help. That's because ORM is a new product and there are only few implementations for it (by the way I am not a fan for that system).

The solution for this error is very simple but not mentioned in documentation, there is a system property that needs to be added to JBoss and it will be used by OIM for integration purposes with ORM. That property is ORMINT_ROOT_DIR and it will be added with a value to properties-service.xml file (you can find it under /server/default/deploy )

<attribute name="Properties">
      ORMINT_ROOT_DIR=/oracle/idm-home/ORMINT_HOME
<\attribute>

Tuesday, March 16, 2010

AD integration in OpenText Hummingbird vs Oracle UCM

I am working in Oracle IDM project currently, and I have to provision users to Hummingbird and Hummingbird in this case integrated with Active Directory. So I were in my mind making a comparison between Oracle UCM and OpentText Hummingbird and I want to share it here.

In Oracle UCM, it is a full integration why because user roles and accounts will be represented in AD as security groups, so I want to give an AD user the contributor role, just assign to him contributor security group form inside AD. Also you can make a custom user attributes from inside UCM to AD user attributes like user manager or any other attribute.

In OpenText Hummingbird especially with Document Management module and Records Management modules, the admin have to import users from AD manually and assign security groups and permissions from inside the system, which means it is not full integration, Hummingbird is just using AD as a repository of users info not a repository for security.

Another thing Oracle UCM is like an open source application it is open, you can change any functionality you want, its database schema is not sealed and the schema is very easy to be used and modified. But Hummingbird's database is not allowing that, if you tried to add new records or delete records, the system will throw exceptions and errors.

In my opinion, Oracle UCM is one of the best applications you can integrate with. So If I am a decision maker I will always choose UCM because of integrations easiness.

Monday, March 15, 2010

JMS error sending message to queue/orm/IncomingEventQueue

I was getting the following error when I try to create an Oracle Identity Manager user after integrating with Oracle Role Manager (both OIM and ORM are using JBoss as the application server). I took from me a lot of time to discover the cause of that error
 
ERROR [oracle.iam.rm.imframework.oimjavatasks.ReconcileEntityAdapter] General exception: JMS error sending message to queue/orm/IncomingEventQueue
java.lang.Exception: JMS error sending message to queue/orm/IncomingEventQueue
    at oracle.iam.rm.imframework.util.JMSUtil.sendMessage(JMSUtil.java:96)
    .......
Caused by: org.jboss.mq.SpyJMSException: Cannot authenticate user; - nested throwable: (java.net.NoRouteToHostException: No route to host: connect)
    at org.jboss.mq.SpyJMSException.getAsJMSException(SpyJMSException.java:72)
    .......
Caused by: java.net.NoRouteToHostException: No route to host: connect
    at java.net.PlainSocketImpl.socketConnect(Native Method)

    .......

The cause of the error is that in the test server where I installed Oracle Role Manager I have more than one IP address for the server and I was binding JBoss to all IP(s) by running it using the following command
run.bat -b 0.0.0.0
The solution is to bind JBoss to only one IP as the following
run.bat -b 192.168.220.1