What Needs to be Migrated

The Java EE application consists of the following file categories that
need to be migrated:

Deployment descriptors (XML files)

JSP source files that contain Proprietary APIs

Java source files that contain Proprietary APIs

Deployment descriptors (XML files)

Deployment is accomplished by specifying deployment descriptors
for standalone enterprise beans (EJB, JAR files), front-end Web components
(WAR files) and enterprise applications (EAR files). Deployment descriptors
are used to resolve all external dependencies of the Java EE components or
applications. The Java EE specification for deployment descriptors is common
across all application server products. However, the specification leaves
several deployment aspects of components pertaining to an application dependent
on product implementation.

JSP source files

Java EE specifies how to extend JSP by adding extra custom tags. Product
vendors include some custom JSP extensions in their products, simplifying
some tasks for developers. However, usage of these proprietary custom tags
results in non-portability of JSP files. Additionally, JSP can invoke methods
defined in other Java source files as well. The JSPs containing proprietary
APIs need to be rewritten before they can be migrated.

Java source files

The Java source files can be EJBs, servlets, or other helper classes.
The EJBs and servlets can invoke standard Java EE services directly. They
can also invoke methods defined in helper classes. Java source files are used
to encode the business layer of applications, such as EJBs. Vendors bundle
several services and proprietary Java API with their products. The use of
proprietary Java APIs is a major source of non-portability in applications.
Since Java EE is an evolving standard, different products can support different
versions of Java EE component APIs.