Tuesday, September 13, 2005

On J2EE Portability Accross Application Servers

Brian Alexander Lee wrote:
"dismal interview where I asked about the candidate's experience with porting a J2EE application from WebLogic to WebSphere (which was listed on his resume). The candidate said that it was very easy and he just deployed his application with no problems or changes necessary, he had no changes made for the application to run properly. This was one of many bad signs for the candidate."

I disagree. I would even use his example to show that the portability game is more about configuration and packaging rather than about anything else so that many developers would in-deed not see a big deal into porting an application to a new application server.

You can make a port to Websphere or Weblogic quite transparent if you externalize the JNDI strings (for example in properties file), which is anyway what you should do. Repeating a same string everywhere in your code is bad practice in Java.
The most problematic is usually the packaging, weblogic and websphere, for example used to manage the jar dependencies a different way (websphere being very strict, weblogic a bit more practicle). And actually JNDI settings, DataSources and Security should boil down to packaging problems, which is why, I think, your candidate did not know of any problem unless he worked on the packaging of the app.

Recruitment is no easy task. I did not find yet a magic formula for it, except maybe, try the person for a month. Personality is more important than knowing technical details. I am not sure if one can see if a person is serious, rigorous, and reasonably fast in an interview.


  1. The candidate would still need to explain how the JNDI entries were externalized, but in addition to that, each app server uses different security, different format for setting up data sources, different RMI ports, etc etc.

    Of course interviews aren't a perfect measure of a candidate's potential as an employee but it's all we have. I can't try out everyone who interviews for a month to see how they work out, that would waste my time and theirs (and potentially kill the system). So the interview has to try to determine their skill set and their personality.

  2. Yes I agree that the 1 month trial is not a practical idea. I think there is no perfect way of recruiting, that is why so many people are making so much money with it.