Use application version 1.4 or lower when migrating applications from WebSphere V6.1 or prior

As shown in the documentation Programming model APIs and specifications article, WebSphere Application Server supports the following Java EE levels:

Applications with an unsupported or unspecified version will run at the highest version supported by the application server.

For example, an application with a 5.0 application.xml will be treated as a 1.4 version application on WebSphere Application Server v6.1. However, the same application will be treated as a 5.0 application on WebSphere Application Server v7. This change in application version can cause undesired changes in behavior.

One specific problem is WebSphere 6.1 generates Application bindings using the xmi format. A Java EE version 5 application expects bindings and extensions in xml format. When an attempt is made to migrate a Java EE 5 versioned application with virtual host information in ibm-web-bnd.xmi file to WebSphere v7, the installation will fail because WebSphere v7 or higher looks for the virtual host information in the ibm-web-bnd.xml file and in this scenario the bindings xml file does not exist. If the application is version 1.4, the xmi will continue to be read correctly.

Another failure scenario is a Version 7 or higher deployment manager will not allow a Java EE application be deployed to a node which does not support the application's specified Java EE level. This means if you have 6.1 or lower nodes in your topology with a 7.0 or higher deployment manager, the exact same application might not deploy on the nodes where it previously ran.

When migrating from Version 6.1 and earlier, a application.xml with the following content will be flagged:

<?xml version="1.0" encoding="UTF-8"?>
<application id="Application_ID" version="5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:application="http://java.sun.com/xml/ns/javaee/application_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/application_5.xsd">
...
</application>

The application version should be modified to version 1.4. The automted fix will modify the version and the schema information as shown in bold in the following example:

<?xml version="1.0" encoding="UTF-8"?>
<application id="Application_ID" version="1.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:application="http://java.sun.com/xml/ns/j2ee/application_1_4.xsd">
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/application_1_4.xsd">
...
</application>

For additional information on the Java EE specification levels supported on different WebSphere Application Server versions, see Programming model APIs and specifications.