Difference between IBM & SUN JVM/ Porting J2EE applications
IBM’s JVM is written to meet the specs as documented by Sun. IBM runs the test suit against their JVM to make sure that what should occur does occur. They (IBM) feel that their code performs the requested functions more efficiently and thus performs better while still providing the same results. IBM may throw one error exception while Sun’s may throw another.
A good discussion on IBM & SUN JVM is at http://forums.anandtech.com/archive/index.php/t-1958785.html
Can I pick up an EAR/WAR file from websphere and install at compatible J2EE application server?
“If” the EAR is compatible, then you can deploy it either on a WebSphere Application Server, or some other J2EE application server. However, that is a big “if.” Does the application make use of any WebSphere specific settings, or resources? That might be hard to tell if the application isn’t thoroughly documented.
Having said that JVMs are going to be different. On source it is IBM JVM while at destination (Tomcat/Glassfish) it is SUN JVM.
The WebSphere Application Server environment adds a number of class files to allow applications to access specific resources and capabilities of the WebSphere environment. This is true even for the Solaris Operating System where the JVM used by WebSphere is a Sun JVM. In addition to these “extra” jar files, are there differences between the JVM’s.
A specific J2EE application server may have its own unique classes that do not exist in other J2EE environments. So if you developed an application under “J2EE ServerA” and used specific functions/classes that are unique to “J2EE ServerA”, then you can’t just deploy to “J2EE ServerB”.
Are there any utilitiees to test portability of a J2EE application?
The idea behind having a J2EE compliant implementation is so that applications may be easily moved from one environment to another. So, as long as both the source and target application server environments are J2EE compliant, this “should” be possible. However, again we are forced to revisit the questions:
But there must be something from these vendors looking for portability of application to grab customers on their platform.
IBM do provide a utility to help people migrate their utilities to WebSphere:
Demo is available here