What is “application client” ?

A first-tier J2EE client component that executes in its own Java virtual machine. Application clients have access to some J2EE platform APIs.

In the context of Java EE (Enterprise Edition), an “application client” refers to a component that runs on the client machine and provides a way for users to interact with enterprise applications. It is part of the Java EE architecture, which is designed for the development and deployment of enterprise-level, distributed, and scalable applications.

An application client in Java EE typically consists of Java classes and can be executed on a client machine, separate from the server. It communicates with the server-side components, such as Enterprise JavaBeans (EJBs), to perform business logic and access resources.

Key points about Java EE application clients include:

  1. Runs on the client machine: The application client is deployed and executed on the client side, allowing users to interact with the enterprise application.
  2. Communicates with server components: It interacts with server-side components, such as EJBs, to perform tasks like accessing databases, performing business logic, and managing transactions.
  3. Uses Java EE services: The application client can leverage various services provided by the Java EE platform, such as security, transactions, and messaging.
  4. Separation of concerns: The separation of application client and server-side components helps in achieving a clear separation of concerns in the development and maintenance of enterprise applications.

To develop a Java EE application client, developers typically use Java and relevant APIs provided by the Java EE platform. The Java Naming and Directory Interface (JNDI) is often used for locating and accessing remote enterprise components.

It’s worth noting that the term “application client” can sometimes be used in a broader sense in the general programming context, referring to any software component that runs on the client machine and interacts with a server. However, in the context of Java EE, it specifically refers to a component adhering to the Java EE architecture.