Sun Java System Application Server Platform Edition 9 Upgrade and Migration Guide

Migrating Deployment Descriptors

There are two types of deployment descriptors, namely, Standard Deployment Descriptors and Runtime Deployment Descriptors. Standard deployment descriptors are portable across Java EE platform versions and vendors and does not require any modifications. Currently, there are exceptions due to standards interpretation. The following table lists such deployment descriptors.

Source Deployment Descriptor in Sun Application 6.x /7.x  

Source Deployment Descriptor in Websphere 4.0 /5.x  

Source Deployment Descriptor in WebLogic 4.0 /5.x  

Target Deployment Descriptor in 9  

ias-ejb-jar.xml

ibm-ejb-jar-bnd.xmi, ibm-ejb-jar-ext.xmi

weblogic-ejb-jar.xml

sun-ejb-jar.xml

<bean-name>-ias-cmp.xml

ibm-ejb-jar-ext.xmi

weblogic-cmp-rdbms-jar.xml

sun-cmp-mappings.xml

ias-web.xml

ibm-web-bnd.xmi, ibm-web-ext.xmi

weblogic.xml

sun-web.xml

The Java EE standard deployment descriptors ejb-jar.xml, web.xml and application.xml are not modified and therefore need not be changed.

Runtime deployment descriptors are vendor and product specific and are not portable across application servers due to difference in their format. Hence, deployment descriptors require migration. You can use the Migration Tool for Application Server 9 to migrate these deplyment descriptors.

A majority of the information required for creating sun-ejb-jar.xml and sun-web.xml comes from ias-ejb-jar.xml and ias-web.xml respectively. However, there is some information that is required and extracted from the home interface (java file) of the CMP entity bean, in case the sun-ejb-jar.xml being migrated declares one. This is required to build the <query-filter> construct inside the sun-ejb-jar.xml, which requires information from inside the home interface of that CMP entity bean. If the source file is not present during the migration time, the <query-filter> construct is created, but with missing information (which manifests itself in the form of REPLACE ME phrases in the migrated sun-ejb-jar.xml).

Additionally, if the ias-ejb-jar.xml contains a <message-driven> element, then information from inside this element is picked up and used to fill up information inside both ejb-jar.xml and sun-ejb-jar.xml. Also, inside the <message-driven> element of ias-ejb-jar.xml, there is an element <destination-name>, which holds the JNDI name of the topic or queue to which the MDB listens. In Application Server 6.5, the naming convention for this jndi name is cn=<SOME_NAME>. Since a JMS Topic or Queue with this name is not deployable on Application Server, the application server changes this to <SOME_NAME>, and inserts this information in the sun-ejb-jar.xml. This change must be reflected for all valid input files, namely, all .java, .jsp and .xml files. Hence, this JNDI name change is propagated across the application, and if some source files that contain reference to this jndi-name are unavailable, the administrator must make the changes manually so that the application becomes deployable.