Application Servers

Root page for application servers.

JEE

place holder for JEE app servers.

Apache Geronimo

Apache Geronimo is an open source application server developed by the Apache Software Foundation and distributed under the Apache license. Geronimo is currently compatible with the Java Enterprise Edition (Java EE) 5.0 specification.
IBM has provided considerable support to the project through marketing, code contributions, and the funding of several project committers. In October 2005, IBM announced a free edition of its WebSphere application server named Websphere Application Server Community Edition based on Geronimo. Other commercial supporters include AMD, Chariot Solutions, Simula Labs and Virtuas.

Components

Like an enterprise operating system, Geronimo is built on a kernel -- a microkernel that lays the foundation for everything above it. Geronimo's kernel is Java EE agnostic. Its sole purpose is to manage Geronimo's building blocks. Geronimo is marked by an architectural design which is based on the concept of Inversion of Control (IoC) (sometimes called Dependency Injection), which means that the kernel has no direct dependency on any of its components. The kernel is a framework for services that controls the service life cycle and registry. The kernel is based on Java EE. It works with Java EE services and components to build specific configurations -- one of which is a full Java EE solution stack.
A majority of the Geronimo services are added and configured through GBeans to become a part of the overall application server. A GBean is the interface that connects the component to the kernel. Each GBean can maintain state, depend on, and interrelate with other GBeans, and operate on events from the kernel and other GBeans. The GBeans interface makes it possible to switch between two servlet containers, for example Jetty or Tomcat without affecting the whole architecture using a GBeans interface. This flexible architecture makes it possible for the Geronimo developers to integrate several existing, field-tested open source software projects.
Here a list of the open source components that are included in the Geronimo project.
Component Description
Apache Tomcat HTTP server and Servlet container supporting Java Servlet 2.5 and JavaServer Pages (JSP) 2.1.
Jetty HTTP server and Servlet container supporting Java Servlet 2.5 and JavaServer Pages 2.1 -- an alternative to the Tomcat server.
Apache ActiveMQ Open source Java Message Service (JMS) 1.1 applications provider and supporter of message-driven beans (MDBs).
Apache OpenEJB Open source Enterprise JavaBeans (EJB) Container System and EJB Server that supports Enterprise JavaBeans at the 3.0 level, including Container Managed Persistence 2 (CMP2) and EJB Query Language (EJBQL).
Apache OpenJPA Open source Java Persistence API (JPA) 1.0 implementation.
Apache ServiceMix Open source Enterprise Service Bus (ESB) and component suite based on the Java Business Integration (JBI) standard on JSR 208.
Apache Axis and Apache Scout Axis is a Simple Object Access Protocol (SOAP) implementation, while Scout is a JSR 93 (JAXR) implementation. These provide support for Web Services and Web Services Interoperability Organization (WS-I) Basic Profile support.
Apache CXF Web Services frameworks with variety of protocols such as SOAP, XML/HTTP, RESTful HTTP, or CORBA and work over a variety of transports such as HTTP, JMS or JBI.
Apache Derby Full-fledged relational database management system (RDBMS) with native Java Database Connectivity (JDBC) support.
Apache WADI Clustering, load balancing and failover solution for the web application container tier .
MX4J Java Management Extensions that supplies tools for managing and monitoring applications, system objects, devices and service oriented networks.
Note (1): The project is currently in incubation under the Apache Incubator

(Taken from http://en.wikipedia.org/wiki/Apache_Geronimo on 3/22/2010)

Glass Fish

GlassFish is an open source application server project led by Sun Microsystems for the Java EE platform. The proprietary version is called Sun GlassFish Enterprise Server. GlassFish is free software, dual-licensed under two free software licences: the Common Development and Distribution License (CDDL) and the GNU General Public License (GPL) with the classpath exception.
GlassFish is based on source code released by Sun and Oracle Corporation's TopLink persistence system. It uses a derivative of Apache Tomcat as the servlet container for serving Web content, with an added component called Grizzly which uses Java NIO for scalability and speed.

Releases

The project was launched on 6 June 2005. On 4 May 2006, Project GlassFish released the first version that supports the Java EE 5 specification.
On 8 May 2007 Project SailFin was announced at JavaOne as a sub-project under Project GlassFish. Project SailFin aims to add Session Initiation Protocol (SIP) servlet functionality to GlassFish.
On 17 September 2007 the GlassFish community released version 2 (aka Sun Java System Application Server 9.1) with full enterprise clustering capabilities, Microsoft-interoperable Web Services.
On 21 January 2009 Sun Microsystems and the community released version GlassFish 2.1 (aka Sun GlassFish Enterprise Server 2.1) which serves as the basis for the Sailfin SIP AppServer project (aka Sun Communication Application Server).
On 10 December 2009 Glassfish v3 was released. Being the Java EE reference implementation, this was the first AS to completely implement Java EE 6. In this version GlassFish adds new features to ease migration from Tomcat to GlassFish. The other main new features are around modularity (GlassFish v3 Prelude already shipped with an Apache Felix OSGi runtime), startup time (a few seconds), deploy-on-change (provided by NetBeans and Eclipse plugins), and session preservation across redeployments.

(Taken From http://en.wikipedia.org/wiki/GlassFish on 3/22/2010)

Tomcat

Apache Tomcat (or Jakarta Tomcat or simply Tomcat) is an open source servlet container developed by the Apache Software Foundation (ASF). Tomcat implements the Java Servlet and the JavaServer Pages (JSP) specifications from Sun Microsystems, and provides a "pure Java" HTTP web server environment for Java code to run.
Tomcat should not be confused with the Apache web server, which is a C implementation of an HTTP web server; these two web servers are not bundled together. Apache Tomcat includes tools for configuration and management, but can also be configured by editing XML configuration files.

Components

Tomcat version 4.x was released with Jasper (a redesigned JSP engine), Catalina (a redesigned servlet container) and Coyote (an HTTP connector).
Catalina
Catalina is Tomcat's servlet container. Catalina implements Sun Microsystems' specifications for servlet and JavaServer Pages (JSP). The architect for Catalina was Craig McClanahan.
Coyote
Coyote is Tomcat's HTTP Connector component that supports the HTTP 1.1 protocol for the web server or application container. Coyote listens for incoming connections on a specific TCP port on the server and forwards the request to the Tomcat Engine to process the request and send back a response to the requesting client.
Jasper
Jasper is Tomcat's JSP Engine. Tomcat 5.x uses Jasper 2, which is an implementation of the Sun Microsystems's JavaServer Pages 2.0 specification. Jasper parses JSP files to compile them into Java code as servlets (that can be handled by Catalina). At runtime, Jasper is able to automatically detect JSP file changes and recompile them.
Jasper 2
From Jasper to Jasper 2, important features were added:
JSP Tag library pooling - Each tag markup in JSP file is handled by a tag handler class. Tag handler class objects can be pooled and reused in the whole JSP servlet.
Background JSP compilation - While recompiling modified JSP Java code, the older version is still available for server requests. The older JSP servlet is deleted once the new JSP servlet has been recompiled.
Recompile JSP when included page changes - Pages can be inserted and included into a JSP at compile time. The JSP will not only be automatically recompiled with JSP file changes but also with included page changes.
JDT Java compiler - Jasper 2 can use the Eclipse JDT Java compiler instead of Ant and javac.
(Taken from http://en.wikipedia.org/wiki/Apache_Tomcat on 3/22/2010)

History of Tomcat

History

Tomcat started off as a servlet reference implementation by James Duncan Davidson, a software architect at Sun Microsystems. He later helped make the project open source and played a key role in its donation by Sun to the Apache Software Foundation. The Apache Ant software build automation tool was developed as a side-effect of the creation of Tomcat as an open source project.
Davidson had initially hoped that the project would become open sourced and, since many open source projects had O'Reilly books associated with them featuring an animal on the cover, he wanted to name the project after an animal. He came up with Tomcat since he reasoned the animal represented something that could fend for itself. Although the tomcat was already in use for another O'Reilly title, his wish to see an animal cover eventually came true when O'Reilly published their Tomcat book with a snow leopard on the cover.[1]
Apache Tomcat versions
Version Release Date Description
3.0.x. (initial release) 1999 Merger of donated Sun Java Web Server code and ASF and Implements Servlet 2.2 and JSP 1.1 specifications.
3.3.2 March 9, 2004 Last of the 3.x releases.
4.1.31 October 11, 2004
4.1.36 March 24, 2007
4.1.39 December 3, 2008
4.1.40 June 25, 2009 Latest 4.x release.
5.0.0 October 9, 2002
5.0.23
5.0.24 May 9, 2004
5.0.28 August 28, 2004
5.0.30 August 30, 2004
5.5.0 August 31, 2004
5.5.1 September 7, 2004
5.5.4 November 10, 2004
5.5.7 January 30, 2005
5.5.9 April 11, 2005
5.5.12 October 9, 2005
5.5.15 January 21, 2006
5.5.16 March 16, 2006
5.5.17 April 28, 2006
5.5.20 September 1, 2006
5.5.23 March 2007
5.5.25 September 2007
5.5.26 February 2008
5.5.27 September 8, 2008
5.5.28 September 4, 2009 Latest 5.x release.
6.0.0 December 1, 2006
6.0.10 March 1, 2007
6.0.13 May 15, 2007
6.0.14 August 13, 2007
6.0.16 February 7, 2008
6.0.18 July 31, 2008
6.0.20 June 3, 2009
6.0.24 January 21, 2010
6.0.26 March 11, 2010 Current version.

(Taken from http://en.wikipedia.org/wiki/Apache_Tomcat on 3/22/2010)

jBoss

JBoss Application Server (or JBoss AS) is a free software/open-source Java EE-based application server. Because it is Java-based, the JBoss application server operates cross-platform: usable on any operating system that Java supports. JBoss AS was developed by JBoss, now a division of Red Hat.
Versions

JBoss AS 4.0, a Java EE 1.4 application server, features an embedded Apache Tomcat 5.5 servlet container. It supports any Java Virtual Machine between versions 1.4 and 1.6. JBoss can run on numerous operating systems including many POSIX platforms (like Linux, FreeBSD and Mac OS X), Microsoft Windows and others, as long as a suitable JVM is present.
JBoss AS 4.2 also functions as a Java EE 1.4 application server, but deploys Enterprise JavaBeans 3.0 by default. It requires the Java Development Kit version 5. Tomcat 5.5 comes bundled with it.
JBoss AS 5.1, the current version as of 2009, operates as a Java EE 5 application server. It is a minor update of the major release Jboss AS 5.0, which had been in development for 3+ years and is built on top of a new JBoss microcontainer.[1] Jboss AS 5.1 contains a preview of some elements from the not yet released Java EE 6 specification.

Clustering
Failover (including sessions)
Load balancing
Distributed caching (using JBoss Cache, a standalone product)
Distributed deployment (farming)
Deployment API
Management API
Aspect-Oriented Programming (AOP) support
JSP/Servlet 2.1/2.5 (Tomcat)
JavaServer Faces 1.2 (Mojarra)
Enterprise Java Beans versions 3 and 2.1
JNDI (Java Naming and Directory Interface)
Hibernate-integration (for persistence programming; JPA)
JDBC
JTA (Java Transaction API)
Support for Java EE-Web Services like JAX-WS
SAAJ (SOAP with Attachments API for Java)
JMS (Java Message Service) integration
JavaMail
RMI-IIOP (JacORB, alias Java and CORBA)
JAAS (Java Authentication and Authorization Service)
JCA (Java Connector Architecture)-integration
JACC (Java Authorization Contract for Containers)-integration
Java Management Extensions

(From http://en.wikipedia.org/wiki/JBoss 3/22/2010)

History of JBoss

Marc Fleury started the JBoss project in 1999 in order to advance his middleware research interests. JBoss Group, LLC was incorporated in 2001 in Atlanta, Georgia. JBoss became a corporation under the name JBoss, Inc. in 2004. It was a C corporation headquartered in Atlanta, GA which owned the copyright and trademarks associated with JBoss.

In early 2006, Oracle Corporation, a major distributor of database software, had been looking to buy JBoss Inc. for an estimated $400 million. The acquisition would have enabled Oracle to compete with rivals BEA Systems and IBM in the middleware market (Oracle eventually acquired BEA in April 2008). On April 10, 2006, however, Red Hat announced that they were buying JBoss for $420 million. Red Hat and JBoss have since completed the acquisition.

(Taken from http://en.wikipedia.org/wiki/JBoss_(company) on March 22, 2010)