Comparison of application servers
|This article needs additional citations for verification. (December 2012)|
|This article is outdated. (June 2014)|
||This article's introduction may be too long for the overall article length. (December 2013)|
Application servers are system software upon which web applications or desktop applications run. Application Servers consist of web server connectors, computer programming languages, runtime libraries, database connectors, and the administration code needed to deploy, configure, manage, and connect these components on a web host. An application server runs behind a web Server (e.g. Apache or Microsoft IIS) and (almost always) in front of an SQL database (e.g. PostgreSQL, MySQL or Oracle). Web applications are computer code which run on top of application servers and are written in the language(s) the application server supports and call the runtime libraries and components the application server offers.
There are many application servers and the choice impacts the cost, performance, reliability, scalability, and maintainability of a web application.
Proprietary application servers provide system services in a well-defined but proprietary manner. The application developers develop programs according to the specification of the application server. Dependence on a particular vendor is the drawback of this approach.
An opposite but analogous case is the Java EE platform. Java EE application servers provide system services in a well-defined, open, industry standard. The application developers develop programs according to the Java EE specification and not according to the application server. A Java EE application developed according to Java EE standard can be deployed in any Java EE application server making it vendor independent.
This article compares the features and functionality of application servers, grouped by the hosting environment that is offered by that particular application server.
- Run BASIC - An all-in-one BASIC scriptable application server, can automatically manage session and state
- Tuxedo - Based on the ATMI standard, is one of the original application servers.
- Tntnet - Includes a template engine which allows embedding C++ code in HTML pages. Templates are compiled before run-time, and thus very fast. Multi-threaded, supports object lifetime via scoped variables.
- CPPSERV - C++ servlet container.
- Wt - A web toolkit similar to Qt permitting GUI-application-like web development with built-in Ajax abilities.
- POCO C++ Libraries - A collection of open source class libraries including Poco.Net.HTTPServer.html
- Enduro/X - Open Source Middleware Platform for Distributed Transaction Processing, based on XATMI and XA standards.
- Enduro/X ASG - Application Server for Go. This provides XATMI and XA facilities for Golang. Go application can be built by normal Go executable files which in turn provides stateless services, which can be load balanced, clustered and reloaded on they fly with out service interruption by means of administrative work only. Framework provides distributed transaction processing facility for Go.
|Product||Vendor||Edition||Last release||Java EE
|Geronimo||ASF||3.0.1||2013-05-28||6 Full Platform||3.0||2.2||No||Apache License|
|GlassFish||GlassFish Community||4.1||2014-09||7 Full Platform||3.1||2.3||No||CDDL, GPL + classpath exception|
|iPlanet Web Server||Oracle Corporation||7.0.21||2015-04||Yes||2.5||2.1||No||Proprietary|
|JBoss Enterprise Application Platform||Red Hat||6.4.0.GA||2015-04||6 Full Platform||3.0||2.2||No||LGPL|
|Jetty||Eclipse Foundation||9.3.3||2015-08-27||7 (partial)||3.1||2.3||Yes||Apache 2.0, EPL|
|JEUS||TmaxSoft||8||2013-08||7 Full Platform||3.0||2.2||No||Proprietary|
|5.3||2013-10-04||6 Web Profile||3.0||2.2||No||LGPL|
|JRun||Adobe Systems||4 updater 7||2007-11-06||1.3||2.3||1.2||No||Proprietary|
|NetWeaver Application Server||SAP AG||7.4||2013-01-11||6||2.5||2.1||No||Proprietary|
|Oracle Containers for J2EE||Oracle Corporation||10.1.3.5.0||2009-08||1.4||2.4||2.0||No||Proprietary|
|Orion Application Server||IronFlare||2.0.7||2006-03-09||1.3||2.3||1.2||No||Proprietary|
|Resin Servlet Container (Open Source)||Caucho Technology||4.0.36||2013-04-25||6 Web Profile ||3.0||2.2||No||GPL|
|Resin Professional Application Server||Caucho Technology||4.0.36||2013-04-25||6 Web Profile||3.0||2.2||No||proprietary|
|Tomcat||ASF||8.0.26||2015-08-21||7 (partial)||3.1||2.3||No||Apache License v2|
|TomEE||ASF||1.7.2||2015-05||6 Web Profile||3.0||2.2||No||Apache License|
|WebLogic Server||Oracle Corporation
(formerly BEA Systems)
|12.1.3||2014-06-26||6 Full Platform||3.0||2.2||No||Proprietary|
|IBM WebSphere Application Server||IBM||18.104.22.168||2014-08-26||6 & 7 Full Platform||3.1||2.3||No||Proprietary|
|IBM WebSphere Application Server Liberty Core||IBM||22.214.171.124||2012-06-15||6 & 7 Web Profile||3.1||2.3||No||Proprietary|
|WebSphere AS Community Edition||IBM||126.96.36.199||2013-06-21||6 Full Platform||3.0||2.2||No||Proprietary|
(fka JBoss AS)
|10||2016-01-29||7 Full Platform||3.1||2.3||Yes||LGPL|
- Phusion Passenger
- Dworkin's Game Driver (DGD)
- Barracuda Application Server - An embedded C source code library designed primarily for embedded systems and with a Lua program API that is similar to Servlets. The library is primarily used for industrial control and management and is used by companies such as Honeywell, ABB, Mitsubishi Electric, and Schneider Electric as a base for designing H2M and M2M for industrial electronics.
- Mako Server - Fast application server designed primarily for resource constrained POSIX systems. The Mako Server is derived from the Barracuda Embedded Application Server. A full featured Lua Web Tutorial for the Mako Server is available on the Android Market.
- Internet Information Services web server
- Windows Server AppFabric
- .NET Framework (Windows Communication Foundation, Web Services, .NET Remoting, MSMQ, ASP.NET, ADO.NET)
- Distributed Transactions, COM+
- Active Directory Lightweight Directory Service (ADLDS), Active Directory Federation Services (ADFS), Authorization Manager
- Cc Devnet Data Access Server - A Generic Application Server for systems that require Windows Desktop, iOS and/or Android data-centric clients.
- Mono - Developed by Novell, Inc., licensed under GPL.
- Base4 - An open source project.
- TNAPS Application Server - A freeware application server, developed by TN, LLC.
- GNUstepWeb - WebObjects 4.5 compatible, released under the LGPL.
- SOPE inspired by WebObjects extended with Zope concepts, used as foundation for SOGo.
- Django-cms - By Divio AG
- Google App Engine
- Phusion Passenger
- Zope - By Zope, Inc.
- Seaside - A continuations based web application server based on Smalltalk
- AOLserver - Released as NaviServer before being bought by AOL in 1995, this was a pioneering web application server - for the first time integrating a multi-threaded HTTP server with built in scripting language and database pools with abstraction layer.
- Content management system
- Web application framework
- Comparison of web application frameworks
- "The uWSGI project — uWSGI documentation".
- WSGId on GitHub