132 Migrating from WebSphere Application Server Community Edition to WebSphere Application Server
Another common error is caused by Apache Xalan and Xerces, which are
usually bundled with application servers.
JDom is also bundled with WebSphere Application Server V6.
5.1.3 Deployment Descriptors
The J2EE specification does not cover all the aspects of application deployment
and configuration. This is why we have vendor-specific Deployment Descriptors.
Table 5-1 on page 133 lists both the J2EE and vendor-specific Deployment
Descriptors. Each application server uses a different set of files because they are
implemented differently and have different feature sets.
The biggest issues associated with Deployment Descriptors while migrating to
WebSphere Application Server V6 can be summarized include:
CMP to database schema mapping
WebSphere Application Server V6.1 uses a completely different way of
mapping CMPs to the database schema, compared to the other application
servers covered in this book. The only way of creating these files is by using
either Rational Application Developer V7.0 or the Java Application
Verification Kit.
The J2EE standard Deployment Descriptors are mapped to the WebSphere
Application Server V6.1 specific Deployment Descriptors with IDs, as
illustrated in Example 5-1 on page 133 and Example 5-2 on page 133. This
means that the ID in the WebSphere Application Server V6.1 specific
Deployment Descriptor must match the one in the J2EE standard Deployment
Descriptor.
WebSphere Application Server V6.1 validates the Deployment Descriptors
more strictly than other application server. This will lead to the following
problems when migrating:
Deployment Descriptors will fail validation because the elements are not in
the proper order or the DTD is incorrect.
JSPs will not compile.
Chapter 5. Common migration issues 133
Example 5-1 shows how the standard J2EE ejb-jar.xml Deployment Descriptor
and WebSphere Application Server V6.1 are mapped with IDs.
Example 5-1 Excerpt from ejb-jar.xml
...
<resource-ref id="ResourceRef_1173653784123">
<res-ref-name>jms/activity/QueueConnectionFactory</res-ref-name>
<res-type>javax.jms.QueueConnectionFactory</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
...
In Example 5-2, a resource reference with the ID ResourceRef_1173653784123
is mapped to a JNDI name pointing to a resource that is managed by WebSphere
Application Server V6.1.
Example 5-2 Excerpt from ibm-ejb-jar-bnd.xmi
...
<resRefBindings xmi:id="ResourceRefBinding_1173653784123"
jndiName="jms/activity/QueueConnectionFactory">
<bindingResourceRef
href="META-INF/ejb-jar.xml#ResourceRef_1173653784123"/>
</resRefBindings>
...
Table 5-1 lists the J2EE standard and vendor-specific Deployment Descriptors.
Table 5-1 J2EE and vendor-specific Deployment Descriptors and configuration files
Description J2EE
specification
WebSphere Application Server V6 WebSphere Application
Server Community
Edition
EAR
application
application.xml ibm-application-bnd.xmi
ibm-application-ext.xmi
geronimo-application.xml
WAR
application
web.xml ibm-web-bnd.xmi
ibm-web-ext.xmi
geronimo-web.xml
EJB
application
ejb-jar.xml ibm-ejb-jar-bnd.xmi
ibm-ejb-jar-ext.xmi
ibm-ejb-access-bean.xml
openejb-jar.xml
J2EE client
application
application-clie
nt.xml
ibm-application-client-bnd.xmi
ibm-application-client-ext.xmi
geronimo-application-clien
t.xml

Get Migrating from WebSphere Application Server Community Edition to WebSphere Application Server now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.