Wednesday, January 20, 2010

Java Decompiling

When I face frustrating bugs that comes because of the misleading exceptions, I go to the magic method which is decompiling the class that cause the error, and take a quick look there. But note I don't prefer going deeper to understand the class and the library I am decompiling.

I am using JD-GUI and I'd like to thank the people who created it and made it available for free.


Rebranding OIM Administration Console [JBoss]

The following brief steps explain rebranding of Oracle Identity Manager on JBoss application server:

- Get copy from XellerateFull.ear from [jboss_install_dir]/server/default/deploy

- Extract the file normally like a zip file (change extension from .ear to .zip)

- Inside the extracted directory, you will find a war file called xlWebApp.war

- Extract that file like a zip file (change extension from .war to .zip)

-  If you want to change the application colors and styles, go to XellerateFull/xlWebApp/css/Xellerate.css

- If you want to change labels and messages, go to XellerateFull/xlWebApp/WEB-INF/classes/xlWebAdmin.properties (change the other localized files that you are using)

- If you want to change logo and application images, go to XellerateFull/xlWebApp/WEB-INF/classes/xlDefaultAdmin.properties

- After finishing recompress everything (compress it a .zip then change the extension), but after finishing open the archive you made and see if the structure of the archives (XellerateFull.ear and xlWebApp.war) is correct like the old one

- At last replace XellerateFull.ear under JBoss with the new one you made.

Anyway, this application is built using Struts, and it can be customized as you want, nut I don't recommend that from a previous experience with other applications.

Note in documentation there is another for doing that, but it didn't work with me.

Saturday, January 16, 2010

Oracle Identity Manager installation tips

I will not be able to post right now the complete installation steps for Oracle Identity Manager with JBoss as the application server, because it will take a lot of time, but I will add some tips here to be be taken in consideration during OIM installation.

- If you are using Sun JVM and JBoss, you need to make one more modification in run.bat (JBoss starting Batch) ro JAVA_OPTS parameter which is -XX:MaxPermSize=256m

set JAVA_OPTS=%JAVA_OPTS% -Xms256m -Xmx1024m -XX:MaxPermSize=256m

- When you start JBoss and you want it to listen (or bind) to any available IP, run JBoss starting batch like this

run.bat -b 0.0.0.0


- After installing OIM Design Console, take copy from log4j.jar from inside JBoss and rename it to log4j-1.2.8.jar then replace log4j-1.2.8.jar from inside OIM Design Console installation directory.

- Take care when installing JBoss in your development or testing machine, some applications my be using JBoss ports like MS Exchange uses 1099 and 1098, Oracle UCM uses 4444 and 4445, and of course Apache Tomcat. So you need to change JBoss ports, to do that take a look at the following page which explains to you which files you will change

http://www.thedance.net/~roth/TECHBLOG/jbossports.html

If you want to know which applications is using your machine's ports, download ActivePorts program from the following link

http://download.cnet.com/Active-Ports/3000-2651_4-29653.html?tag=mncol

If you changed 1099 port after you have installed OIM, you should change it too in xlconfig.xml for OIM Server and OIM Design Console. Also If you changed 8080 port after you have installed OIM, you should change it too in xlconfig.xml for Design Console.

- To deploy SMPL WebService, take a look at the following link

http://download.oracle.com/docs/cd/E14899_01/doc.9102/e14763/spml.htm#BEIDGDGE

Also note you need in this case to download apache commons-discovery library and add it to [jboss_install_dir]/server/default/lib