Top 5 Opensource application servers

This article describes and shortly reviews the available Java EE opensource application server. We will mention them in order of popularity including some details for every application server so that this can be a quick start for those needing some quick startup advice.

 

WildFly - JBoss application server

Overview

WildFly, formerly known as JBoss AS, is an open-source application server authored by JBoss, now developed by Red Hat. WildFly is written in Java and is executable on top of the Java Platform, Enterprise Edition (Java EE), which is available cross-platform.
In terms of API, WildFly supports the latest standards in Java Enterprise (Java EE 7) and is made up of a set of best of breed opensource projects such as:

  • Undertow (Web Server)
  • Apache CXF (SOAP Based Web services)
  • RestEasy (REST Web services)
  • Infinispan (Data grid and clustering platform)
  • HornetQ (JMS Provider)
  • JGroups ( Multicast communication framework)

In terms of internal architecture, WildFly (just like the former JBoss AS 7) is designed on a modular architecture based on two main projects:

  • JBoss Modules: This handles the class loading of resources in the container. 
  • Modular Service Container(MSC): This provides a way to install, uninstall, and manage the services used by a container. 

WildFly can be executed in two server modes: a traditional, single JVM, standalone mode, and a multi-JVM option, Domain mode, which synchronizes configuration across any number of processes and hosts.

Administration

In terms of administration, WildFly provides two robust management channels: A Web console which is a Google Web Toolkit application that allows simple management of every aspect of the server configuration, and a Command Line Interface which is an advanced terminal management tool easy to use thanks to its embedded intelligence that resembles quite a lot a typical Bash shell.

opensource application servers

Java EE compatibility

The latest distribution of WildFly is a fully certified Java EE 7 application server runtime.

Home page: http://www.wildfly.org

Glassfish

Overview


GlassFish is an open-source application server project started by Sun Microsystems for the Java EE platform and now sponsored by Oracle Corporation.
GlassFish Server 4.0 is developed through the GlassFish project open-source community at http://glassfish.java.net/. The GlassFish project provides a structured process for developing the GlassFish Server platform that makes the new features of the Java EE platform available faster, while maintaining Java EE compatibility.
Glassfish is built on a modular kernel powered by OSGi, GlassFish runs straight on top of the Apache Felix implementation. It also runs with Equinox OSGi or Knopflerfish OSGi runtimes. HK2 abstracts the OSGi module system to provide components, which can also be viewed as services. Such services can be discovered and injected at runtime.

Administration

GlassFish provides several administration channels: the simplest to use is the the browser based Administration Console which can be used for configuring, administering, and monitoring GlassFish Server. Besides this, you can use the GlassFish Command Line Interface to perform every adminstrative tasks with some degree of embedded intelligence which helps us to simply find the correct spelling and similar commands to the command or phrase that we try.

top opensource application servers

Java EE compatibility

The latest distribution of GlassFish is a fully certified Java EE 7 application server runtime.

Home page: https://glassfish.java.net/

 

Apache Geronimo

Overview

Apache Geronimo is an open source server runtime that integrates the best open source projects to create Java/OSGi server runtimes that meet the needs of enterprise developers and system administrators. So the most interesting feature of this application server is that it contains a collection of best-of-breed opensource projects to makeup a fully functional application server. The core components included in Jeronimo are:

  • Apache Tomcat (HTTP server and Servlet container) 
  • Jetty (HTTP server and Servlet alternative to the Tomcat server).
  • Apache ActiveMQ (JMS 1.1 applications provider)
  • Apache OpenEJB ( EJB Container)
  • Apache OpenJPA ( Java Persistence API JPA 1.0 implementation).
  • Apache ServiceMix (Enterprise Service Bus).
  • Apache CXF (Web Services frameworks with variety of protocols)
  • Apache Derby (Relational database management system with native JDBC support).
  • Apache WADI (Clustering, load balancing and failover solution for the web application container tier)

The Geronimo kernel is a framework for kernel services, and controls the basic server components. Almost everything in Geronimo is a GBean: containers, connectors, adapters, applications and so on. A GBean is an atomic unit in Geronimo, consisting of the implementation classes (.jar) and a plan.

Administration

You can manage apache Geronimo via the Administration Console that is a Web based interface that provides a convenient, user friendly way to administer many aspects of the Geronimo Server.

opensource application servers java ee

Java EE compatibility

The latest distribution of Apache Geronimo is a fully certified Java EE 6 application server runtime.

Home page: http://geronimo.apache.org 

JOnAS

Overview

JOnAS is an open-source implementation of the Java EE application server specification, developed and hosted by the ObjectWeb consortium.
JOnAS features a Java EE 6 Web Profile certified. It provides an EJB container through EasyBeans and is available with an embedded Tomcat or Jetty web container. JVM 1.6 is supported, and the attempts to run on a free stack with GNU Classpath are very promising.
Besides the Java EE stack, JOnAS provides top level clustering mechanisms to ensure scalability and high availability.
JOnAS is also the basis of a more global middleware suite delivered within OW2. It is the cornerstone of the Service Oriented Architecture, which includes other famous OW2 projects like the workflow manager Bonita, the BPEL engine Orchestra or the portal eXo Platform.

Administration

JOnAS can be managed through a comparatively clear remote Javascript management console, providing easily accessible tools for remote uploading and deploying of the web applications, server configuration and security management.

opensource application servers

Java EE compatibility

The latest distribution of JOnAS features a Java EE 6 Web Profile certified.

Home page: http://jonas.ow2.org/


Apache TomEE

Overview

Apache TomEE is the Java Enterprise Edition of Apache Tomcat that combines several Java enterprise projects including Apache OpenEJB, Apache OpenWebBeans, Apache OpenJPA, Apache MyFaces and others. The project obtained certification by Oracle Corporation as a compatible implementation of the Java EE 6 Web Profile, which is a subset of the full Java EE profile.
Basically Apache TomEE is assembled from a vanilla Apache Tomcat zip file. If you were to download a plain Tomcat, install and integrate the missing components in the most direct and to-the-point style possible, you'd end up with TomEE.
There are 3 different flavours of Apache TomEE available: Webprofile, JAX-RS, and Plus. Webprofile provides the smallest distribution (just 27MB) and is fully Java EE Web Profile compliant. JAX-RS builds on Web Profile, adding JAX-RS support with a trimmed down version of Apache CXF, and is also Web Profile certified. The Plus package provides all the features for TomEE that are available, including JMS, JAX-WS and JCA, but is not Java EE certified at this time.

Administration

Being a Tomcat on steroids application server, it is based on the same Administration console application that ships with Apache tomcat so nothing new to learn for Tomcat users, with an enhanced Tomee gui

opensource application server java

Java EE compatibility

The latest distribution of TomEE features a Java EE 6 Web Profile certified.

Home page: http://openejb.apache.org/apache-tomee.html

Francesco Google+