Guidelines: Identifying J2EE Application Clients
Topics
Introduction
Identifying Application Clients
Modeling Application Clients
Introduction
This guideline focuses on identifying Application Clients. Additional guidance
on Application Clients is provided in Guidelines:
Application Client.
Identifying Application Clients
Application Clients are typically identified as part of defining the overall
architecture of a distributed J2EE application. An Application Client is identified
when there is a need for stand-alone desktop application. Some typical examples
are:
- applications to administer systems or J2EE applications
- thick client applications that require greater control over the user experience
than is possible with a web-based interface
Comparing
Stand-Alone and J2EE Application Clients
In general, a J2EE Application Client is preferable to a stand-alone Java Application,
for the following reasons:
- A J2EE Application Client has access to J2EE authentication services. This
saves developing unique authentication code, such as for log-in.
- While a stand-alone Java Application can access EJBs by looking up its name
using JNDI, it must know the bean's JNDI name. A J2EE Application Client can
use different names, and map names to EJBs using the deployment descriptor.
- J2EE Application Clients are more portable than stand-alone Java Application
Clients, in that they can generally be deployed to any J2EE-compliant environment.
Modeling Application Clients
Since an Application Client is generally a major logical part of the system,
we recommend that it be considered an Artifact:
Design Subsystem, and modeled appropriately. That is, model it as a UML
subsystem, stereotyped <<ApplicationClient>>, with the stereotype
implying all the characteristics of an application client.
Since an Application Client is a concurrently executing program, it can also
appear in the the Process View and Deployment View. See
Guidelines: Describing the Run-Time Architecture for J2EE Applications and
Guidelines: Describing Distribution for J2EE Applications.
See Artifact: Design Subsystem, and
related guidelines, for general guidance on modeling the internals of Design
Subsystems. Application Clients can be deployed by a J2EE Module. See Artifact:
J2EE Module for details.
|