Conventions Used in this tutorial

Text and Code

We observe code guidelines described in Scott Ambler's naming convention ( Where elements are subject to interpretation, we have left the choice up to each author. To avoid ambiguity, we employ full method signatures throughout the tutorial, including empty parentheses after the name of a no-argument method. The sole exception to this practice is for overloaded methods, such as println. The vocabulary in this tutorial conforms to the Java, UML, and design patterns usage. Where appropriate, we use nonstandard Java terminology (after first alerting the reader), coin a new term, or take exception to the official definition.

The terms app server, server, and J2EE app server are used inter-changeably. Unless otherwise noted, these terms all refer to a J2EE app server.

For additional information on UML, we recommend UML Distilled and Unified Modeling Language User Guide.


The graphical conventions used here are based on the Unified Modeling Language (UML) standard. UML is a modeling language for object-oriented and component-based development. Only subsets of the UML diagrams are used. The three primary UML diagrams used and of interest to our readers are use cases, sequence diagrams, and class diagrams. Use cases show interactions, class diagrams depict the static structure of classes, and sequence diagrams show dynamic object interaction. Because different notations can be used to represent the same model, Figures P.1 through P.3 illustrate how we use these UML conventions. Screenshot P.1 illustrates the connectors, arrows, and other elements in a standard UML class diagram, along with different types of associations.

Java Click To expand
Screenshot P.1: UML Class Diagram

Screenshot P.2 illustrates the connectors and other elements used in a standard UML sequence diagram.

Java Click To expand
Screenshot P.2: UML Sequence Diagram

Screenshot P.3 illustrates the connectors and other elements used in a standard UML use case diagram.

Java Click To expand
Screenshot P.3: UML Use Case Diagram

Code terms are indicated by a monospaced font, including interfaces, methods, variables, deployment descriptor elements, and coding language keywords (e.g., "uses a ServiceFactory object," "invokes the getServiceConfig method").