| type=page | 
 | status=published | 
 | title=Preface | 
 | next=introduction.html | 
 | prev=title.html | 
 | ~~~~~~ | 
 |  | 
 | = Preface | 
 |  | 
 | [[sthref2]] | 
 | [[preface]] | 
 | == Preface | 
 |  | 
 | This document explains how to use published interfaces of | 
 | {productName} to develop add-on components | 
 | for {productName}. | 
 | This document explains how to perform only those tasks that | 
 | ensure that the add-on component is suitable for {productName}. | 
 |  | 
 | This document is for software developers who are developing add-on | 
 | components for {productName}. This document assumes that the | 
 | developers are working with a distribution of {productName}. Access | 
 | to the source code of the GlassFish project is not required to perform | 
 | the tasks in this document. This document also assumes the ability to | 
 | program in the Java language. | 
 |  | 
 | 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 https://github.com/eclipse-ee4j/glassfish. | 
 | 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 Jakarta EE: compatibility. It enables Java developers to access the | 
 | {productName} source code and to contribute to the development of the | 
 | {productName}. | 
 |  | 
 | The following topics are addressed here: | 
 |  | 
 | * link:#ghpbz[{productName} Documentation Set] | 
 | * link:#giprl[Related Documentation] | 
 | * link:#fwbkx[Typographic Conventions] | 
 | * link:#fquvc[Symbol Conventions] | 
 | * link:#ghpfg[Default Paths and File Names] | 
 |  | 
 | [[GSACG00079]][[ghpbz]] | 
 |  | 
 | [[glassfish-server-documentation-set]] | 
 | === {productName} Documentation Set | 
 |  | 
 | The {productName} documentation set describes deployment planning and | 
 | system installation. For an introduction to {productName}, refer to | 
 | the books in the order in which they are listed in the following table. | 
 |  | 
 | [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`(1M)] 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:add-on-component-development-guide.html#GSACG[Add-On Component Development Guide] | 
 | |Explains how to use published interfaces of {productName} to develop add-on components | 
 | for {productName}. | 
 | This document explains how to perform only those tasks that ensure that the add-on component | 
 | is suitable for {productName}. | 
 |  | 
 | |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. | 
 | |=== | 
 |  | 
 |  | 
 | [[GSACG00080]][[giprl]] | 
 |  | 
 | [[related-documentation]] | 
 | === Related Documentation | 
 |  | 
 | The following tutorials explain how to develop Jakarta EE applications: | 
 |  | 
 | * https://github.com/eclipse-ee4j/jakartaee-firstcup-examples[ | 
 | Your First Cup: An Introduction to the Jakarta EE Platform]. | 
 | For beginning Jakarta EE programmers, this short tutorial explains the entire | 
 | process for developing a simple enterprise application. | 
 | The sample application is a web application that consists of a component that is | 
 | based on the Enterprise JavaBeans specification, a JAX-RS web service, | 
 | and a JavaServer Faces component for the web front end. | 
 |  | 
 | * https://eclipse-ee4j.github.io/jakartaee-tutorial[The Jakarta EE Tutorial]. | 
 | This comprehensive tutorial explains how to use Jakarta EE platform technologies | 
 | and APIs to develop Jakarta EE applications. | 
 |  | 
 | Javadoc tool reference documentation for packages that are provided with | 
 | {productName} is available as follows. | 
 |  | 
 | * The Jakarta EE specifications and API specification is | 
 | located at https://jakarta.ee/specifications/. | 
 |  | 
 | * The API specification for {productName} 7, including Jakarta EE | 
 | platform packages and nonplatform packages that are specific to the | 
 | {productName} product, is located at | 
 | https://glassfish.org/docs/. | 
 |  | 
 | For information about creating enterprise applications in the NetBeans | 
 | Integrated Development Environment (IDE), see the | 
 | https://netbeans.apache.org/kb/docs/java-ee.html[ | 
 | NetBeans Documentation, Training & Support page]. | 
 |  | 
 | For information about the Derby database for use with | 
 | the {productName}, see the https://db.apache.org/derby/index.html[Derby page]. | 
 |  | 
 | The Jakarta EE Samples project is a collection of sample applications that | 
 | demonstrate a broad range of Jakarta EE technologies. The Jakarta EE Samples | 
 | are bundled with the Jakarta EE Software Development Kit (SDK) and are also | 
 | available from the repository | 
 | (`https://github.com/eclipse-ee4j/glassfish-samples`). | 
 |  | 
 | [[GSACG00081]][[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 | 
 | |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 | 
 | |`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) | 
 | |Read Chapter 6 in the User's Guide. | 
 |  | 
 | A cache is a copy that is stored locally. | 
 |  | 
 | Do not save the file. | 
 | |=== | 
 |  | 
 |  | 
 | [[GSACG00082]][[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. | 
 | |=== | 
 |  | 
 |  | 
 | [[GSACG00083]][[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. | 
 |  | 
 | [%autowidth.stretch,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 | 
 | |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 | 
 | |=== | 
 |  |