blob: 9e74a012cc175dc17b6cdc454cfc0284e86d7ea6 [file] [log] [blame]
type=page
status=published
title=Quick Start for Basic Features
prev=preface.html
~~~~~~
= Quick Start for Basic Features
[[GSQSG00003]][[aboaa]]
[[quick-start-for-basic-features]]
== 1 Quick Start for Basic Features
{productName} provides a server for the
development and deployment of Java Platform, Enterprise Edition (Jakarta EE
platform) applications and web technologies based on Java technology.
{productName} 7 provides the following:
* A lightweight and extensible core based on OSGi Alliance standards
* A web container
* An easy-to-use Administration Console for configuration and management
* Update Tool connectivity for updates and add-on components
* Support for high availability clustering and load balancing
The following topics are addressed here:
* link:#ghgpe[About This Quick Start Guide]
* link:#ghpfg[Default Paths and File Names]
* link:#gixue[Default Administration Values]
* link:#gglog[Starting and Stopping the Default Domain]
* link:#gglmh[Starting and Stopping the Database Server]
* link:#ggllq[Starting the Administration Console]
* link:#geyvr[Deploying and Undeploying Applications]
* link:#gktqx[High Availability Clustering and Load Balancing]
* link:#ggkzh[For More Information]
[[ghgpe]][[GSQSG00030]][[about-this-quick-start-guide]]
=== About This Quick Start Guide
{productName} 7 Quick Start Guide demonstrates
key features of the {productName} product and enables you to quickly
learn the basics. Step-by-step procedures introduce you to product
features and enable you to use them immediately.
This guide assumes that you have already obtained and installed the
{productName} 7 software. For more information about installing
{productName} 7, see the
https://github.com/eclipse-ee4j/glassfishdocumentation[{productName} Installation Guide].
Instructions and examples in this guide that apply to all supported
operating systems use the forward slash character (`/`) as path
separators in all file names and commands. Ensure that you use the
correct character for the system on which {productName} is installed.
For example:
* UNIX, Linux, or Mac OS X systems: as-install``/bin/asadmin``
* Windows systems: as-install``\bin\asadmin``
This guide provides basic information only. For comprehensive
information about {productName} and other entities mentioned in this
guide, see link:#ggkzh[For More Information].
To review additional details about this release before you begin using
the software, see the link:release-notes.html#GSRLN[{productName}
Release Notes]. The Release Notes provide important information about
the {productName} 7 release, including details about new features,
information about known issues and possible workarounds, and tips for
installing and working with {productName} 7 software.
[[ghpfg]][[GSQSG00031]][[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.
[[sthref3]][[sthref4]]
Table 1-1 Default Paths and File Names
[width="100%",cols="14%,35%,51%",options="header",]
|===
|Placeholder |Description |Default Value
|as-install
|Represents the base installation directory for {productName}.
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.
|domain-root-dir``/``domain-name
|instance-dir
|Represents the directory for a server instance.
|domain-dir``/``instance-name
|===
[[gixue]][[GSQSG00032]][[default-administration-values]]
=== Default Administration Values
The following table lists default administration values for {productName}. See link:#ghpfg[Default Paths and File Names] for more
information about the as-install and domain-dir placeholders.
[[sthref5]][[gixxy]]
Table 1-2 Default Administration Values
[width="100%",cols="50%,50%",options="header",]
|===
|Item |Default Value or Location
|Domain name |`domain1`
|Master password |`changeit`
|https://github.com/eclipse-ee4j/glassfishdoc/5.0/reference-manual.pdf[
`asadmin`(1M)] command-line utility
|as-install``/bin``
|Configuration files |domain-dir``/config``
|Log files |domain-dir``/logs``
|Administration server port |`4848`
|HTTP port |`8080`
|HTTPS port |`8181`
|Pure JMX clients port |`8686`
|Message Queue port |`7676`
|IIOP port |`3700`
|IIOP/SSL port |`3820`
|IIOP/SSL port with mutual authentication |`3920`
|===
[[gglog]][[GSQSG00033]][[starting-and-stopping-the-default-domain]]
=== Starting and Stopping the Default Domain
When you install {productName}, a default domain named `domain1` is
created. The following procedures describe how to start and stop
`domain1` when it is the only domain. For information about starting and
stopping a domain when there are multiple domains, see
"link:administration-guide/domains.html#GSADG00006[Administering Domains]" in {productName} Administration Guide.
[[ggmpd]][[GSQSG00005]][[to-start-the-default-domain]]
==== To Start the Default Domain
[[sthref6]]
Before You Begin
{productName} software must be installed before you start the domain.
Run the `asadmin start-domain` command without an operand:
[source]
----
as-install/bin/asadmin start-domain
----
The command starts the default domain, `domain1`.
[[ggmsx]][[GSQSG00006]][[to-stop-the-default-domain]]
==== To Stop the Default Domain
Run the `asadmin stop-domain` command without an operand:
[source]
----
as-install/bin/asadmin stop-domain
----
The command stops the default domain, `domain1`.
[TIP]
====
To determine whether a domain is running, use the `asadmin list-domains`
command:
[source]
----
as-install/bin/asadmin list-domains
----
====
[[gglmh]][[GSQSG00034]][[starting-and-stopping-the-database-server]]
=== Starting and Stopping the Database Server
A database server is not started by default when you start the {productName} domain. If your applications require a database back end, you
must start and stop the database server manually.
The following procedures describe how to start and stop the Apache Derby
server that is bundled with {productName}. For information about
starting and stopping other database servers, see the documentation for
your specific product.
For the list of database products supported in this release, see the
https://github.com/eclipse-ee4j/glassfishdocumentation[{productName} Release Notes].
For more information about database connectivity, see
"https://github.com/eclipse-ee4j/glassfishdocumentation[Administering Database
Connectivity]" in {productName} Administration Guide.
[[ggncr]][[GSQSG00007]][[to-start-the-apache-derby-server]]
==== To Start the Apache Derby Server
[[sthref7]]
Before You Begin
At least one {productName} domain must be started before you start
the database server.
Run the `asadmin start-database` command.
The general form for the command is as follows:
[source]
----
as-install/bin/asadmin start-database --dbhome directory-path
----
For example, to start the Apache Derby server from its default location:
[source]
----
as-install/bin/asadmin start-database --dbhome as-install-parent/javadb
----
[[ggnez]][[GSQSG00008]][[to-stop-the-apache-derby-server]]
==== To Stop the Apache Derby Server
Run the `asadmin stop-database` command:
[source]
----
as-install/bin/asadmin stop-database
----
[[ggllq]][[GSQSG00035]][[starting-the-administration-console]]
=== Starting the Administration Console
The {productName} Administration Console provides a browser interface
for configuring, administering, and monitoring {productName}.
[[ggnbp]][[GSQSG00009]][[to-start-the-administration-console]]
==== To Start the Administration Console
[[sthref8]]
Before You Begin
At least one {productName} domain must be started.
1. Type the URL in your browser.
+
The default URL for the Administration Console on the local host is as follows:
+
[source]
----
http://localhost:4848
----
2. If prompted, log in to the Administration Console.
+
You will be prompted to log in if you chose to require an administration
password at the time {productName} was installed.
[[sthref9]]
See Also
For more information, see the Administration Console online help.
[[geyvr]][[GSQSG00036]][[deploying-and-undeploying-applications]]
=== Deploying and Undeploying Applications
The process of configuring and enabling applications to run within the
{productName} framework is referred to as deployment.
This section explains how to deploy, list, and undeploy applications.
The procedures in this section use the `hello.war` sample application.
The following topics are addressed here:
* link:#ghgis[To Obtain the Sample Application]
* link:#gkpao[Deploying and Undeploying the Sample Application From the Command Line]
* link:#gkpau[Deploying and Undeploying Applications by Using the Administration Console]
* link:#gkpaa[Deploying and Undeploying the Sample Application Automatically]
[[ghgis]][[GSQSG00010]][[to-obtain-the-sample-application]]
==== To Obtain the Sample Application
1. Download a copy of the `hello.war` sample application from
`https://github.com/eclipse-ee4j/glassfishdownloads/quickstart/hello.war`.
2. Save the `hello.war` file in the directory of your choice.
+
This directory is referred to as sample-dir.
[[gkpao]][[GSQSG00044]][[deploying-and-undeploying-the-sample-application-from-the-command-line]]
==== Deploying and Undeploying the Sample Application From the Command Line
{productName} provides `asadmin` subcommands for performing the
following deployment-related tasks:
* link:#ggndq[To Deploy the Sample Application From the Command Line]
* link:#ggnco[To List Deployed Applications From the Command Line]
* link:#ggnbm[To Undeploy the Sample Application From the Command Line]
[[ggndq]][[GSQSG00011]][[to-deploy-the-sample-application-from-the-command-line]]
===== To Deploy the Sample Application From the Command Line
[[sthref10]]
Before You Begin
The sample application must be available before you start this task. To
download the sample, see link:#ghgis[To Obtain the Sample Application].
At least one {productName} domain must be started before you deploy
the sample application.
1. Run the `asadmin deploy` command.
+
The general form for the command is as follows:
+
[source]
----
as-install/bin/asadmin deploy war-name
----
To deploy the `hello.war` sample, the command is as follows:
+
[source]
----
as-install/bin/asadmin deploy sample-dir/hello.war
----
2. Access the `hello` application by typing the following URL in your
browser:
+
[source]
----
http://localhost:8080/hello
----
The application's start page is displayed, and you are prompted to type
your name.
+
[source]
----
Hi, my name is Duke. What's yours?
----
3. Type your name and click Submit.
+
The application displays a customized response, giving you a personal
`Hello`.
[[sthref11]]
See Also
For more information about the `deploy` subcommand, see
link:reference-manual/deploy.html#GSRFM00114[`deploy`(1)].
For more information about deploying applications from the command line,
see the link:application-deployment-guide.html#GSDPG[{productName} Application
Deployment Guide].
[[ggnco]][[GSQSG00012]][[to-list-deployed-applications-from-the-command-line]]
===== To List Deployed Applications From the Command Line
Run the `asadmin list-applications` command:
[source]
----
as-install/bin/asadmin list-applications
----
[[ggnbm]][[GSQSG00013]][[to-undeploy-the-sample-application-from-the-command-line]]
===== To Undeploy the Sample Application From the Command Line
Run the `asadmin undeploy` command.
The general form for the command is as follows:
[source]
----
as-install/bin/asadmin undeploy war-name
----
For war-name, use the literal `hello`, not the full `hello.war` name.
For the `hello.war` example, the command is as follows:
[source]
----
as-install/bin/asadmin undeploy hello
----
[[sthref12]]
See Also
For more information about the `undeploy` subcommand, see
link:reference-manual/undeploy.html#GSRFM00244[`undeploy`(1)].
[[gkpau]][[GSQSG00045]][[deploying-and-undeploying-applications-by-using-the-administration-console]]
==== Deploying and Undeploying Applications by Using the Administration Console
The graphical Administration Console of {productName} enables you to
perform the following deployment-related tasks:
* link:#ggnbn[To Deploy the Sample Application by Using the Administration Console]
* link:#ggncd[To View Deployed Applications in the Administration Console]
* link:#ggneh[To Undeploy the Sample Application by Using the Administration Console]
[[ggnbn]][[GSQSG00014]][[to-deploy-the-sample-application-by-using-the-administration-console]]
===== To Deploy the Sample Application by Using the Administration Console
[[sthref13]]
Before You Begin
The sample application must be available before you start this task.
To download the sample, see link:#ghgis[To Obtain the Sample Application].
At least one {productName} domain must be started before you deploy
the sample application.
1. Launch the Administration Console by typing the following URL in
your browser:
+
[source]
----
http://localhost:4848
----
2. Click the Applications node in the tree on the left.
+
The Applications page is displayed.
3. Click the Deploy button.
+
The Deploy Applications or Modules page is displayed.
4. Select Packaged File to be Uploaded to the Server, and click Browse.
5. Navigate to the location in which you saved the `hello.war` sample,
select the file, and click Open.
+
You are returned to the Deploy Applications or Modules page.
6. Specify a description in the Description field, for example:
+
`hello`
7. Accept the other default settings, and click OK.
+
You are returned to the Applications page.
8. Select the check box next to the `hello` application and click the
Launch link to run the application.
+
The default URL for the application is as follows:
+
[source]
----
http://localhost:8080/hello/
----
[[sthref14]]
See Also
For more information, see the Administration Console online help.
[[ggncd]][[GSQSG00015]][[to-view-deployed-applications-in-the-administration-console]]
===== To View Deployed Applications in the Administration Console
1. Launch the Administration Console by typing the following URL in
your browser:
+
[source]
----
http://localhost:4848
----
2. Click the Applications node in the tree on the left.
+
Expand the node to list deployed applications. Deployed applications are
also listed in the table on the Applications page.
[[ggneh]][[GSQSG00016]][[to-undeploy-the-sample-application-by-using-the-administration-console]]
===== To Undeploy the Sample Application by Using the Administration Console
1. Launch the Administration Console by typing the following URL in your browser:
+
[source]
----
http://localhost:4848
----
2. Click the Applications node in the tree on the left.
+
The Applications page is displayed.
3. Select the check box next to the `hello` sample application.
4. Remove or disable the application.
* To remove the application, click the Undeploy button.
* To disable the application, click the Disable button.
[[sthref15]]
See Also
For more information, see the Administration Console online help.
[[gkpaa]][[GSQSG00046]][[deploying-and-undeploying-the-sample-application-automatically]]
==== Deploying and Undeploying the Sample Application Automatically
{productName} enables you to performing the following
deployment-related tasks automatically:
* link:#geyvj[To Deploy the Sample Application Automatically]
* link:#ggncw[To Undeploy the Sample Application Automatically]
[[geyvj]][[GSQSG00017]][[to-deploy-the-sample-application-automatically]]
===== To Deploy the Sample Application Automatically
You can deploy applications automatically by placing them in the
domain-dir``/autodeploy`` directory, where domain-dir is the directory of
the domain for which you want to configure automatic deployment. For
this example, use the default domain, `domain1`, in the default
domain-root-dir, which is as-install``/domains``:
[source]
----
as-install/domains/domain1/autodeploy
----
[[sthref16]]
Before You Begin
The sample application must be available before you start this task. To
download the sample, see link:#ghgis[To Obtain the Sample Application].
Copy the application WAR file to the domain-dir``/autodeploy`` directory.
* On UNIX, Linux, and Mac OS X systems, type this command:
+
[source]
----
cp sample-dir/hello.war as-install/domains/domain-dir/autodeploy
----
* On Windows systems, type this command:
+
[source]
----
copy sample-dir\hello.war as-install\domains\domain-dir\autodeploy
----
{productName} automatically discovers and deploys the application.
The default URL for the application is as follows:
[source]
----
http://localhost:8080/hello/
----
[[ggncw]][[GSQSG00018]][[to-undeploy-the-sample-application-automatically]]
===== To Undeploy the Sample Application Automatically
1. Change to the domain's `autodeploy` directory.
+
[source]
----
cd as-install\domains\domain-dir\autodeploy
----
2. Delete the sample application's WAR file to undeploy and remove the application.
* On UNIX, Linux, and Mac OS X systems, type this command:
+
[source]
----
rm hello.war
----
* On Windows systems, type this command:
+
[source]
----
del hello.war
----
[[gktqx]][[GSQSG00037]][[high-availability-clustering-and-load-balancing]]
=== High Availability Clustering and Load Balancing
{productName} enables multiple {productName} instances to be
clustered to provide high availability through failure protection,
scalability, and load balancing. The subsections that follow provide an
overview of high availability clustering and load balancing for
{productName}.
[[gktob]][[GSQSG00047]][[clusters-of-glassfish-server-instances]]
==== Clusters of {productName} Instances
A cluster is a collection of {productName} instances that work
together as one logical entity. A cluster provides a runtime environment
for one or more Java Platform, Enterprise Edition (Jakarta EE)
applications. A cluster provides high availability through failure
protection, scalability, and load balancing.
A {productName} instance is a single Virtual Machine for the Java
platform (Java Virtual Machine or JVM machine) on a single node in which
{productName} is running. A node defines the host where the {productName} instance resides. The JVM machine must be compatible with the
Java Platform, Enterprise Edition (Jakarta EE).
{productName} instances form the basis of an application deployment.
An instance is a building block in the clustering, load balancing, and
session persistence features of {productName}. Each instance belongs
to a single domain and has its own directory structure, configuration,
and deployed applications. Every instance contains a reference to a node
that defines the host where the instance resides.
For more information, see the following documentation:
* "link:ha-administration-guide/nodes.html#GSHAG00004[Administering {productName} Nodes]" in {productName} High Availability Administration Guide
* "link:ha-administration-guide/clusters.html#GSHAG00005[Administering {productName} Clusters]" in
{productName} High Availability Administration Guide
* "link:ha-administration-guide/instances.html#GSHAG00006[Administering {productName} Instances]" in
{productName} High Availability Administration Guide
[[gktpt]][[GSQSG00048]][[session-persistence-and-failover]]
==== Session Persistence and Failover
Storing session state data enables the session state to be recovered
after the failover of an instance in a cluster. Recovering the session
state enables the session to continue without loss of information.
{productName} supports in-memory session replication on other servers
in the cluster for maintaining HTTP session and stateful session bean data.
For more information, see "link:ha-administration-guide/session-persistence-and-failover.html#GSHAG00011[Configuring High
Availability Session Persistence and Failover]" in {productName} High Availability Administration Guide.
[[gksbz]][[GSQSG00049]][[load-balancing-for-clustered-configurations]]
==== Load Balancing for Clustered Configurations
{productName} supports web server and hardware-based load balancing
for clustered configurations. A load balancer is deployed with a
cluster, and provides the following features:
* Allows an application or service to be scaled horizontally across
multiple physical (or logical) hosts yet still present the user with a single URL
* Insulates the user from host failures or server crashes when used with
session persistence
* Enhances security by hiding the internal network from the user
{productName} is compatible with the Apache HTTP
server `mod_jk` module for load balancing.
{productName} load balancing configurations can vary widely depending
on the needs of your enterprise. For complete information about
configuring load balancing in {productName}, see the following
documentation:
* "link:ha-administration-guide/http-load-balancing.html#GSHAG00009[
Configuring HTTP Load Balancing]" in
{productName} High Availability Administration Guide
* "link:ha-administration-guide/rmi-iiop.html#GSHAG00013[
RMI-IIOP Load Balancing and Failover]" in
{productName} High Availability Administration Guide
[[ggkzh]][[GSQSG00040]][[for-more-information]]
=== For More Information
Additional resources are available to help you learn more about
{productName} 7 and related technologies.
The following resources are described here:
* link:#ghhir[Product Documentation]
* link:#giyjo[Tutorials]
* link:#gintm[Jakarta EE Examples]
[[ghhir]][[GSQSG00050]][[product-documentation]]
==== Product Documentation
Comprehensive product documentation is available and includes the
following.
* link:release-notes.html#GSRLN[{productName} Release Notes]:
Latest details about new features, known issues, and tips for installing
and working with {productName} software.
* https://glassfish.org/docs/[{productName}]
[[giyjo]][[GSQSG00052]][[tutorials]]
==== Tutorials
The following tutorials provide working examples and detailed
instructions for creating enterprise applications for the Jakarta EE platform.
* 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.
[[gintm]][[GSQSG00053]][[jakarta-ee-examples]]
==== Jakarta EE Examples
https://github.com/eclipse-ee4j/jakartaee-examples[Jakarta EE Examples] -
The example applications demonstrate Jakarta EE technologies.