<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<!--

    Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.

    This program and the accompanying materials are made available under the
    terms of the Eclipse Public License v. 2.0, which is available at
    http://www.eclipse.org/legal/epl-2.0.

    This Source Code may also be made available under the following Secondary
    Licenses when the conditions for such availability set forth in the
    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
    version 2 with the GNU Classpath Exception, which is available at
    https://www.gnu.org/software/classpath/license.html.

    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0

-->

<head>
<style type="text/css">
	body{margin-top:0}
	body,td,p,div,span,a,ul,ul li, ol, ol li, ol li b, dl,h1,h2,h3,h4,h5,h6,li {font-family:geneva,helvetica,arial,"lucida sans",sans-serif; font-size:10pt}
	h1 {font-size:18pt}
	h2 {font-size:14pt}
	h3 {font-size:12pt}
	code,kbd,tt,pre {font-family:monaco,courier,"courier new"; font-size:10pt;}
	li {padding-bottom: 8px}
	p.copy, p.copy a {font-family:geneva,helvetica,arial,"lucida sans",sans-serif; font-size:8pt}
	p.copy {text-align: center}
	table.grey1,tr.grey1,td.grey1{background:#f1f1f1}
	th {color:#ffffff; font-family:geneva,helvetica,arial,"lucida sans",sans-serif; font-size:12pt}
	td.insidehead {font-weight:bold; background:white; text-align: left;}
	a {text-decoration:none; color:#3E6B8A}
	a:visited{color:#917E9C}
	a:hover {text-decoration:underline}
</style>
<title>GlassFish Server 7 - Features and Resources</title>
</head>
<body bgcolor="#ffffff" text="#000000" link="#594fbf" vlink="#1005fb" alink="#333366">
<table width="100%" border="0" cellspacing="4" cellpadding="2">
<tbody>
<tr><td align="right" valign="top"><a href="http://www.oracle.com">oracle.com</a></td></tr>
<tr><td align="left" valign="top" bgcolor="#587993"><font color="#ffffff"><b>GlassFish Server 7</b></font>&nbsp;</td></tr>
</tbody>
</table>  <h1>Features and Resources </h1>
<p>GlassFish Server 7 provides a server for the development and 
deployment of Java&trade; Platform Enterprise Edition (Java EE) 
and dynamic, scalable HTML5 applications. Key features include 
Servlet 4.0 to support HTTP/2, support for Java SE 8 and
updates to some important web standards.</p>
<p>This page contains the following topics:</p>
<ul><li><a href="#key-features">Key Features</a></li>
<li><a href="#resources">Resources</a></li></ul>
<h2><a name="key-features"></a>Key Features</h2>
<h3>Java EE Support</h3>
<p>GlassFish Server supports Java EE 8, which provides the foundation 
for delivering dynamic, scalable HTML5 applications. Java EE 8 augments 
support for HTML5 applications by adding support for server-sent events, 
standardized binding between JSON text and Java objects, HTTP/2 support 
and improvements to the Java API for WebSocket and the Java API for JSON 
Processing. Java EE 8 aligns with Java SE 8 so that developers will be 
able to take advantage of new features such as repeating annotations, 
lambda expressions, the Date/Time API, type annotations, Completable Futures etc.</p>
<p>Java EE 8 and GlassFish Server 7 include the following new and updated Java EE standards:</p>
<dl><dt><b>New or Significant Updates</b></dt><dd><ul>
<li>Java API for JSON Binding (JSON-B) 1.0</li>
<li>Java EE Security 1.0</li>
</ul></dd>
<dt><b>Updated</b></dt><dd><ul>
<li>Java Servlet 4.0</li>
<li>Java API for RESTful Web Services (JAX-RS) 2.1</li>
<li>Java API for JSON Processing (JSON-P) 1.1</li>
<li>Contexts and Dependency Injection for Java EE (CDI) 2.0</li>
<li>Bean Validation (BV) 2.0</li>
<li>Java Server Faces (JSF) 2.3</li>
<li>Interceptors 1.2</li>
<li>Java Persistence API (JPA) 2.2</li>
<li>JavaMail 1.6</li>
</ul></dd></dl>
<p>For a complete list of the Java EE technologies included, see 
the <a href="https://javaee.github.io/glassfish/documentation"><cite>Release Notes</cite></a>.</p>
<p>Discussion within the GlassFish community is conducted through the 
<a href="https://javaee.groups.io/g/glassfish/">groups.io</a> channel.</p>
<h2><a name="resources"></a>Resources</h2>
<h3>GlassFish Community</h3>
<p>GlassFish Server is based on the source code that is developed 
through the <a href="https://github.com/eclipse-ee4j/glassfish">GlassFish</a> open source 
GitHub project and community. The GlassFish community is building an open 
source application server which implements the newest features in 
the Java EE platform.</p>
<h3>Oracle Technology Network</h3>
<p>For further help and to keep on top of the latest developments, 
join the <a href="http://www.oracle.com/technetwork/index.html">Oracle Technology Network</a>.</p>
<h3>Release Notes, Product Documentation, and Other Information</h3>
<p>The <cite>Release Notes, Installation Guide</cite>, 
and other product documentation are available on the 
<a href="https://javaee.github.io/glassfish/documentation">GlassFish Product Documentation</a> page.</p>
<!--
<p>Data sheets, news, white papers, and other information are available at the 
<a href="http://www.oracle.com/us/products/middleware/cloud-app-foundation/glassfish-server/overview/index.html">Oracle GlassFish Server</a> product page.</p>
<hr style="width: 80%; height: 2px;">
<p class="copy"><a href="http://www.oracle.com/corporate/">Company Info</a> &nbsp;&nbsp;|&nbsp;&nbsp; <a href="http://www.oracle.com/corporate/contact/">Contact</a> &nbsp;&nbsp;|&nbsp;&nbsp; Copyright &copy; 2010, 2017 Oracle Corporation &nbsp;&nbsp;|&nbsp;&nbsp; <a href="./copyright.html">Legal Notices</a></p>
-->
</body>
</html>
