7/26

# 1 Setting Up a Development Environment

This chapter gives guidelines for setting up an application development environment in the Oracle GlassFish Server. Setting up an environment for creating, assembling, deploying, and debugging your code involves installing the mainstream version of the GlassFish Server and making use of development tools. In addition, sample applications are available.

The following topics are addressed here:

- Installing and Preparing the Server for Development

- High Availability Features

- Development Tools

- Sample Applications

## Installing and Preparing the Server for Development

For more information about GlassFish Server installation, see the Oracle GlassFish Server Installation Guide.

The following components are included in the full installation.

- JDK

- GlassFish Server core

  - Java Platform, Standard Edition (Java SE) 6

  - Java EE 6 compliant application server

  - Administration Console

  - `asadmin` utility

  - Other development and deployment tools

  - GlassFish Server Message Queue software

  - Java DB database, based on the Derby database from Apache

  - Load balancer plug-ins for web servers

The NetBeans Integrated Development Environment (IDE) bundles the GlassFish edition of the GlassFish Server, so information about this IDE is provided as well.

After you have installed GlassFish Server, you can further optimize the server for development in these ways:

- Locate utility classes and libraries so they can be accessed by the proper class loaders. For more information, see Using the Common Class Loader.

- Set up debugging. For more information, see Debugging Applications.

- Configure the Virtual Machine for the Java platform (JVM software). For more information, see "Administering the Virtual Machine for the Java Platform" in Oracle GlassFish Server Administration Guide.

## High Availability Features

High availability features such as load balancing and session failover are discussed in detail in the Oracle GlassFish Server High Availability Administration Guide. This book describes the following features in the following sections:

- For information about HTTP session persistence, see Distributed Sessions and Persistence.

- For information about checkpointing of the stateful session bean state, see Stateful Session Bean Failover.

- For information about failover and load balancing for Java clients, see Developing Java Clients.

- For information about load balancing for message-driven beans, see Load-Balanced Message Inflow.

## Development Tools

The following general tools are provided with the GlassFish Server:

- The `asadmin` Command

- The Administration Console

The following development tools are provided with the GlassFish Server or downloadable from Oracle:

- The Migration Tool

- The NetBeans IDE

The following third-party tools might also be useful:

- The Eclipse IDE

- Debugging Tools

- Profiling Tools

### The `asadmin` Command

The `asadmin` command allows you to configure a local or remote server and perform both administrative and development tasks at the command line. For general information about `asadmin`, see the Oracle GlassFish Server Reference Manual.

The `asadmin` command is located in the as-install`/bin` directory. Type `asadmin help` for a list of subcommands.

### The Administration Console

The Administration Console lets you configure the server and perform both administrative and development tasks using a web browser. For general information about the Administration Console, click the Help button in the Administration Console. This displays the GlassFish Server online help.

To access the Administration Console, type `http://`host`:4848` in your browser. The host is the name of the machine on which the GlassFish Server is running. By default, the host is `localhost`. For example:

    http://localhost:4848

### The Migration Tool

The Migration Tool converts and reassembles Java EE applications and modules developed on other application servers. This tool also generates a report listing how many files are successfully and unsuccessfully migrated, with reasons for migration failure. For more information and to download the Migration Tool, see `http://java.sun.com/j2ee/tools/migration/index.html`.

### The NetBeans IDE

The NetBeans IDE allows you to create, assemble, and debug code from a single, easy-to-use interface. The GlassFish edition of the GlassFish Server is bundled with the NetBeans 6.1 IDE. To download the NetBeans IDE, see `http://www.netbeans.org`. This site also provides documentation on how to use the NetBeans IDE with the bundled GlassFish edition of the GlassFish Server.

You can also use the GlassFish Server with the Java Studio Enterprise software, which is built on the NetBeans IDE. For more information, see `http://developers.sun.com/jsenterprise/`.

### The Eclipse IDE

A plug-in for the Eclipse IDE is available at `http://glassfishplugins.java.net/`. This site also provides documentation on how to register the GlassFish Server and use GlassFish Server deployment descriptors.

### Debugging Tools

You can use several debugging tools with the GlassFish Server. For more information, see Debugging Applications.

### Profiling Tools

You can use several profilers with the GlassFish Server. For more information, see Profiling Tools.

## Sample Applications

Sample applications that you can examine and deploy to the GlassFish Server are available. If you installed the GlassFish Server as part of installing the Java EE 6 SDK bundle from Java EE 6 Downloads, the samples may already be installed. You can download these samples separately from the Code Samples page if you installed the GlassFish Server without them initially.

Most GlassFish Server samples have the following directory structure:

- The `docs` directory contains instructions for how to use the sample.

- The `build.xml` file defines Ant targets for the sample.

- The `src/java` directory under each component contains source code for the sample.

- The `src/conf` directory under each component contains the deployment descriptors.

With a few exceptions, sample applications follow the standard directory structure described here: `http://java.sun.com/blueprints/code/projectconventions.html`.

The samples-install-dir`/bp-project/main.xml` file defines properties common to all sample applications and implements targets needed to compile, assemble, deploy, and undeploy sample applications. In most sample applications, the `build.xml` file imports `main.xml`.

In addition to the Java EE 6 sample applications, samples are also available at GlassFish Samples and at as-install`/samples/`.