Application client projects contain
programs that run on networked client systems so the project can benefit from
a server's tools.
Application client projects contain the resources needed for application
client modules. An application client module is used to contain a full-function
client Java™ application (non Web-based) that connects to and
uses the Java EE resources defined in your server. When you place the client
code in an application client module instead of a simple JAR file, the application
client benefits from the server's resources (it does not need to re-specify
the class path to Java EE and server JAR files) as well as from easier JNDI
lookup (the client container fills in the initial context and other parameters).
The application client project allows you to work as if you are creating a
standalone Java application in a Java project.
An application client project enables you to do the following things:
- Develop the Java classes that implement the client module
- Set the application client deployment descriptor
- Test the application client
Like Java projects, application client projects contain the
resources needed for application clients, including Java class
files. When you create a new application client project, the environment is
set up for Java development. A Java builder is associated with the project
so the Java source can be incrementally compiled as it is updated.
The application client project contains information about the type hierarchy
and Java elements.
This information is kept current as changes are made, and the Java builder
will incrementally compile the resources within these projects as the resources
In the workbench, application client projects are always referenced by
enterprise application (EAR) projects. When you create an application client
project, you specify the enterprise application project to which the application
client project belongs. A module element is automatically added to the application.xml deployment
descriptor for the EAR project.
An application client project is deployed as a JAR file. This application
client JAR file contains the necessary resources for the application, including Java class
files, and deployment descriptor information and any meta-data extensions
and bindings files.
Application client projects are typically run on networked client systems
connected to Java EE (EJB) servers. The point of entry for the application
client is a Java main-class, which is simply a Java class
that contains a static main method. The class is declared in the manifest
file of the client module.
A Java EE application client container provides access to the Java EE service
(JNDI naming services, deployment services, transaction services, and security
services) and communications APIs (internet protocols, Remote Method Invocation
protocols, Object Management Group protocols, Messaging protocols, and data
By default, application client projects contain one folder named appClientModule,
which contains both Java source code and compiled .class files,
along with all the meta-data files in the META-INF subfolder.