The Java EE 6 Tutorial

Preface

This tutorial is a guide to developing enterprise applications for the Java Platform, Enterprise Edition 6 (Java EE 6) using GlassFish Server Open Source Edition.

Oracle GlassFish Server, a Java EE compatible application server, is based on GlassFish Server Open Source Edition, the leading open-source and open-community platform for building and deploying next-generation applications and services. GlassFish Server Open Source Edition, developed by the GlassFish project open-source community at https://glassfish.dev.java.net/, is the first compatible implementation of the Java EE 6 platform specification. This lightweight, flexible, and open-source application server enables organizations not only to leverage the new capabilities introduced within the Java EE 6 specification, but also to add to their existing capabilities through a faster and more streamlined development and deployment cycle. Oracle GlassFish Server, the product version, and GlassFish Server Open Source Edition, the open-source version, are hereafter referred to as GlassFish Server.

The following topics are addressed here:

Before You Read This Book

Before proceeding with this tutorial, you should have a good knowledge of the Java programming language. A good way to get to that point is to work through The Java Tutorial, Fourth Edition, Sharon Zakhour et al. (Addison-Wesley, 2006).

Oracle GlassFish Server Documentation Set

The GlassFish Server documentation set describes deployment planning and system installation. The Uniform Resource Locator (URL) for GlassFish Server documentation is http://docs.sun.com/coll/1343.13. For an introduction to GlassFish Server, refer to the books in the order in which they are listed in the following table.

Table P–1 Books in the GlassFish Server Documentation Set

Book Title 

Description 

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. 

Quick Start Guide

Explains how to get started with the GlassFish Server product. 

Installation Guide

Explains how to install the software and its components. 

Upgrade Guide

Explains how to upgrade to the latest version of GlassFish Server. This guide also describes differences between adjacent product releases and configuration options that can result in incompatibility with the product specifications. 

Administration Guide

Explains how to configure, monitor, and manage GlassFish Server subsystems and components from the command line by using the asadmin(1M) utility. Instructions for performing these tasks from the Administration Console are provided in the Administration Console online help.

Application Deployment Guide

Explains how to assemble and deploy applications to the GlassFish Server and provides information about deployment descriptors. 

Your First Cup: An Introduction to the Java EE Platform

For beginning Java EE programmers, provides a short tutorial that 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. 

Application Development Guide

Explains how to create and implement Java Platform, Enterprise Edition (Java EE platform) applications that are intended to run on the GlassFish Server. These applications follow the open Java standards model for Java EE components and application programmer interfaces (APIs). This guide provides information about developer tools, security, and debugging. 

Add-On Component Development Guide

Explains how to use published interfaces of GlassFish Server to develop add-on components for GlassFish Server. This document explains how to perform only those tasks that ensure that the add-on component is suitable for GlassFish Server.

Embedded Server Guide

Explains how to run applications in embedded GlassFish Server and to develop applications in which GlassFish Server is embedded.  

Scripting Framework Guide

Explains how to develop scripting applications in such languages as Ruby on Rails and Groovy on Grails for deployment to GlassFish Server. 

Troubleshooting Guide

Describes common problems that you might encounter when using GlassFish Server and explains how to solve them. 

Error Message Reference

Describes error messages that you might encounter when using GlassFish Server. 

Reference Manual

Provides reference information in man page format for GlassFish Server administration commands, utility commands, and related concepts. 

Domain File Format Reference

Describes the format of the GlassFish Server configuration file, domain.xml.

Java EE 6 Tutorial

Explains how to use Java EE 6 platform technologies and APIs to develop Java EE applications. 

Message Queue Release Notes

Describes new features, compatibility issues, and existing bugs for GlassFish Message Queue. 

Message Queue Administration Guide

Explains how to set up and manage a Message Queue messaging system. 

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). 

Related Documentation

Javadoc tool reference documentation for packages that are provided with GlassFish Server is available as follows.

Additionally, the Java EE Specifications at http://www.oracle.com/technetwork/java/javaee/tech/index.html might be useful.

For information about creating enterprise applications in the NetBeans Integrated Development Environment (IDE), see http://www.netbeans.org/kb/.

For information about the Java DB database for use with the GlassFish Server, see http://www.oracle.com/technetwork/java/javadb/overview/index.html.

The GlassFish Samples project is a collection of sample applications that demonstrate a broad range of Java EE technologies. The GlassFish Samples are bundled with the Java EE Software Development Kit (SDK) and are also available from the GlassFish Samples project page at https://glassfish-samples.dev.java.net/.

Symbol Conventions

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

Table P–2 Symbol Conventions

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. 

Typographic Conventions

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

Table P–3 Typographic Conventions

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.

Default Paths and File Names

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

Table P–4 Default Paths and File Names

Placeholder 

Description 

Default Value 

as-install

Represents the base installation directory for the GlassFish Server or the SDK of which the GlassFish Server is a part. 

Installations on the Solaris operating system, Linux operating system, and Mac operating system: 

user’s-home-directory/glassfishv3/glassfish

Windows, all installations: 

SystemDrive:\glassfishv3\glassfish

as-install-parent

Represents the parent of the base installation directory for GlassFish Server. 

Installations on the Solaris operating system, Linux operating system, and Mac operating system: 

user’s-home-directory/glassfishv3

Windows, all installations: 

SystemDrive:\glassfishv3

tut-install

Represents the base installation directory for the Java EE Tutorial after you install the GlassFish Server or the SDK and run the Update Tool.

as-install/docs/javaee-tutorial

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

Documentation, Support, and Training

The Oracle web site provides information about the following additional resources:

Searching Oracle Product Documentation

Besides searching Oracle product documentation from the http://docs.sun.com web site, you can use a search engine by typing the following syntax in the search field:


search-term site:docs.sun.com

For example, to search for “broker,” type the following:


broker site:docs.sun.com

To include other Oracle web sites in your search (for example, the Java Developer site on the Oracle Technology Network at http://www.oracle.com/technetwork/java/index.html), use oracle.com in place of docs.sun.com in the search field.

Third-Party Web Site References

Third-party URLs are referenced in this document and provide additional, related information.


Note –

Oracle is not responsible for the availability of third-party web sites mentioned in this document. Oracle does not endorse and is not responsible or liable for any content, advertising, products, or other materials that are available on or through such sites or resources. Oracle will not be responsible or liable for any actual or alleged damage or loss caused or alleged to be caused by or in connection with use of or reliance on any such content, goods, or services that are available on or through such sites or resources.