type=page
status=published
title=Preface
next=overview.html
prev=title.html
~~~~~~

= Preface

[[GSPTG00002]][[pref]]


[[preface]]
== Preface

[NOTE]
====
This documentation is part of the Java Enterprise Edition contribution
to the Eclipse Foundation and is not intended for use in relation to
Java Enterprise Edition or Orace GlassFish. The documentation is in the
process of being revised to reflect the new Jakarta EE branding.
Additional changes will be made as requirements and procedures evolve
for Jakarta EE. Where applicable, references to Jakarta EE or Java
Enterprise Edition should be considered references to Jakarta EE.

Please see the Title page for additional license information.
====

The Performance Tuning Guide describes how to get the best performance
with {productName} 7.

This preface contains information about and conventions for the entire
{productName} ({productName}) documentation set.

{productName} 7 is developed through the GlassFish project
open-source community at `http://glassfish.java.net/`. The GlassFish
project provides a structured process for developing the {productName} platform that makes the new features of the Jakarta EE platform
available faster, while maintaining the most important feature of Java
EE: compatibility. It enables Java developers to access the {productName} source code and to contribute to the development of the {productName}. The GlassFish project is designed to encourage communication
between Oracle engineers and the community.

[[GSPTG00043]][[gksfg]]


[[oracle-glassfish-server-documentation-set]]
=== {productName} Documentation Set

[width="100%",cols="<30%,<70%",options="header",]
|===
|Book Title |Description
|link:release-notes.html#GSRLN[Release Notes] |Provides late-breaking information about
the software and the documentation and includes a comprehensive,
table-based summary of the supported hardware, operating system, Java
Development Kit (JDK), and database drivers.

|link:quick-start-guide.html#GSQSG[Quick Start Guide] |Explains how to get started with the
{productName} product.

|link:installation-guide.html#GSING[Installation Guide] |Explains how to install the software
and its components.

|link:upgrade-guide.html#GSUPG[Upgrade Guide] |Explains how to upgrade to the latest
version of {productName}. This guide also describes differences
between adjacent product releases and configuration options that can
result in incompatibility with the product specifications.

|link:deployment-planning-guide.html#GSPLG[Deployment Planning Guide] |Explains how to build a
production deployment of {productName} that meets the requirements of
your system and enterprise.

|link:administration-guide.html#GSADG[Administration Guide] |Explains how to configure, monitor,
and manage {productName} subsystems and components from the command
line by using the link:reference-manual/asadmin.html#GSRFM00263[`asadmin`] utility. Instructions for
performing these tasks from the Administration Console are provided in
the Administration Console online help.

|link:security-guide.html#GSSCG[Security Guide] |Provides instructions for configuring and
administering {productName} security.

|link:application-deployment-guide.html#GSDPG[Application Deployment Guide] |Explains how to assemble and
deploy applications to the {productName} and provides information
about deployment descriptors.

|link:application-development-guide.html#GSDVG[Application Development Guide] |Explains how to create and
implement Java Platform, Enterprise Edition (Jakarta EE platform)
applications that are intended to run on the {productName}. These
applications follow the open Java standards model for Jakarta EE components
and application programmer interfaces (APIs). This guide provides
information about developer tools, security, and debugging.

|link:embedded-server-guide.html#GSESG[Embedded Server Guide] |Explains how to run applications in
embedded {productName} and to develop applications in which {productName} is embedded.

|link:ha-administration-guide.html#GSHAG[High Availability Administration Guide] |Explains how to
configure {productName} to provide higher availability and
scalability through failover and load balancing.

|link:performance-tuning-guide.html#GSPTG[Performance Tuning Guide] |Explains how to optimize the
performance of {productName}.

|link:troubleshooting-guide.html#GSTSG[Troubleshooting Guide] |Describes common problems that you
might encounter when using {productName} and explains how to solve
them.

|link:error-messages-reference.html#GSEMR[Error Message Reference] |Describes error messages that you
might encounter when using {productName}.

|link:reference-manual.html#GSRFM[Reference Manual] |Provides reference information in man
page format for {productName} administration commands, utility
commands, and related concepts.

|link:../openmq/mq-release-notes.html#GMRLN[Message Queue Release Notes] |Describes new features,
compatibility issues, and existing bugs for Open Message Queue.

|link:../openmq/mq-tech-over.html#GMTOV[Message Queue Technical Overview] |Provides an introduction
to the technology, concepts, architecture, capabilities, and features of
the Message Queue messaging service.

|link:../openmq/mq-admin-guide.html#GMADG[Message Queue Administration Guide] |Explains how to set up
and manage a Message Queue messaging system.

|link:../openmq/mq-dev-guide-jmx.html#GMJMG[Message Queue Developer's Guide for JMX Clients] |Describes
the application programming interface in Message Queue for
programmatically configuring and monitoring Message Queue resources in
conformance with the Java Management Extensions (JMX).

|link:../openmq/mq-dev-guide-java.html#GMJVG[Message Queue Developer's Guide for Java Clients] |Provides
information about concepts and procedures for developing Java messaging
applications (Java clients) that work with {productName}.

|link:../openmq/mq-dev-guide-c.html#GMCCG[Message Queue Developer's Guide for C Clients] |Provides
programming and reference information for developers working with
Message Queue who want to use the C language binding to the Message
Queue messaging service to send, receive, and process Message Queue
messages.
|===


[[GSPTG00045]][[fwbkx]]


[[typographic-conventions]]
=== Typographic Conventions

The following table describes the typographic changes that are used in
this book.

[width="100%",cols="<14%,<37%,<49%",options="header",]
|===
|Typeface |Meaning |Example
|`AaBbCc123`
|The names of commands, files, and directories, and onscreen computer output
a|Edit your `.login` file.

Use `ls` `a` to list all files.

`machine_name% you have mail.`

|`AaBbCc123`
|What you type, contrasted with onscreen computer output
a|`machine_name%` `su`

`Password:`

|AaBbCc123
|A placeholder to be replaced with a real name or value
|The command to remove a file is `rm` filename.

|AaBbCc123
|Book titles, new terms, and terms to be emphasized
(note that some emphasized items appear bold online)
a|Read Chapter 6 in the User's Guide.

A cache is a copy that is stored locally.

Do not save the file.
|===


[[GSPTG00046]][[fquvc]]


[[symbol-conventions]]
=== Symbol Conventions

The following table explains symbols that might be used in this book.

[width="100%",cols="<10%,<26%,<28%,<36%",options="header",]
|===
|Symbol |Description |Example |Meaning

|`[ ]`
|Contains optional arguments and command options.
|`ls [-l]`
|The `-l` option is not required.

|`{ \| }`
|Contains a set of choices for a required command option.
|`-d {y\|n}`
|The `-d` option requires that you use either the `y`
argument or the `n` argument.

|`${ }`
|Indicates a variable reference.
|`${com.sun.javaRoot}`
|References the value of the `com.sun.javaRoot` variable.

|-
|Joins simultaneous multiple keystrokes.
|Control-A
|Press the Control key while you press the A key.

|+
|Joins consecutive multiple keystrokes.
|Ctrl+A+N
|Press the Control key, release it, and then press the subsequent keys.

|>
|Indicates menu item selection in a graphical user interface.
|File > New > Templates
|From the File menu, choose New. From the New submenu, choose Templates.
|===


[[GSPTG00044]][[ghpfg]]


[[default-paths-and-file-names]]
=== Default Paths and File Names

The following table describes the default paths and file names that are
used in this book.

[width="100%",cols="<14%,<34%,<52%",options="header",]
|===
|Placeholder |Description |Default Value

|as-install
a|Represents the base installation directory for {productName}.

In configuration files, as-install is represented as follows:

`${com.sun.aas.installRoot}`
a|Installations on the Oracle Solaris operating system, Linux operating
system, and Mac OS operating system:

user's-home-directory``/glassfish7/glassfish``

Installations on the Windows operating system:

SystemDrive``:\glassfish7\glassfish``

|as-install-parent
|Represents the parent of the base installation directory for {productName}.
a|Installations on the Oracle Solaris operating system, Linux operating
system, and Mac operating system:

user's-home-directory``/glassfish7``

Installations on the Windows operating system:

SystemDrive``:\glassfish7``

|domain-root-dir
|Represents the directory in which a domain is created by default.
|as-install``/domains/``

|domain-dir
a|Represents the directory in which a domain's configuration is stored.

In configuration files, domain-dir is represented as follows:

`${com.sun.aas.instanceRoot}`

|domain-root-dir``/``domain-name

|instance-dir
|Represents the directory for a server instance.
|domain-dir``/``instance-name
|===
