Guidelines: Describing Distribution for J2EE Applications
Topics
Introduction
J2EE applications have specific features that allow for flexible deployment.
The following are specific guidelines tailored to deploying J2EE
Modules and J2EE Applications.
For information on the standard deployment configurations provided by J2EE,
see Concepts: J2EE Deployment Configurations.
Modeling Distribution
Activity: Describe Distribution provides
a generic example of a high level deployment model. The following is a J2EE-specific
example, for an online auction application.
In this very simple example, we show each of the physical nodes, and provide
an idea of which containers and processes run on each node.
However, J2EE deployment can be much more complicated. The following example
shows a more complicated example.
In this example, a replicated load balancer directs requests to
a cluster of web servers and application servers. A J2EE application may also
include multiple JNDI name servers, thick application clients, message servers,
and so on. You may also wish to adorn the diagram with protocols, kind of network
connection, firewalls, and so on.
Note that in the above example, we don't list or model the J2EE
Modules for each node. This is because in these examples, there is only one
logical EJB container and one Web container. All EJBs and EJB-JARs are deployed
all EJB servers. Similarly for the web components.
Another option for modeling distribution for a J2EE application
is to model the mapping of the J2EE Modules and/or J2EE Application to a specific
servers. This is shown in a UML deployment diagram by drawing a dependency (stereotyped
<<deploy>>) from the archive to the node. The following diagram demonstrates
this option. In this example, we map a J2EE archive (an EAR) to a node (a specific
Application Server).
In general, it is not necessary to model the assignment of J2EE
archives to nodes and containers. However, in some circumstances, there may
be a need to have certain elements of the system reside on a node with specific
characteristics (for example, a node that supports a database, or a node supporting
a legacy system). In cases like this, you may wish to model the deployment of
J2EE Modules to specific nodes. Also, modeling the mapping from archive to server
is especially helpful if automation exists to support the actual deployment
of the archives to the specified server.
|