For some developers, there is no choice with respect to which application server you will be using.
If you want to add servlets to an existing site, and you cannot change the server software you are using, there are several options available.
An
add-on servlet engine functions as a plug-in to an existing server. The add-on servlet adds servlet support to a server that was not originally designed with servlets in mind.
Add-on servlet engines have been written for many servers including Apache, Netscape's FastTrack Server and Enterprise Server, Microsoft's Internet Information Server and Personal Web Server, and Apple's AppleShare IP.
This type of engine acts as a
stopgap solution until a future server release incorporates servlet support.
A plug-in also can be used with a server that provides a poor or outdated servlet implementation.
Some common Add-on servlet engines are described below.
- Live Software''s JRun, a freely available plug-in designed to support the full Servlet API on all the popular web servers on all the popular operating systems.
The latest version even features a basic web server for development purposes. Live was acquired by Macromedia, which was later acquired by Adobe.
- IBM's WebSphere Application Server (formerly known as ServletExpress), a plug-in that is being called an application server. It is designed to support the full Servlet API on several popular web servers on several popular operating systems.
(Year 2016) See http://www-03.ibm.com/software/products/en/appserv-was.
- New Atlanta's ServletExec, a plug-in designed to support the full Servlet API on several web servers on several operating systems.
See Newatlanta - Products
- Gefion Software's WAICoolRunner, a freely available plug-in that supports most of the Servlet API on Netscape's FastTrack Server and Enterprise Server versions 3.x and later, written in Java using Netscape's WAI interface.
See http://www.hansbergsten.com/gefion-software/
The company no longer offers any software.
What is Apache JServ?
There is some non-trivial overhead to parsing http headers on requests and creating them on responses. If you are fronting your app server with a web proxy server,
(AJP) Apache JServ Protocol allows you to skip that extra parsing and just pass efficient binary representations of the headers between the proxy server and the app server.
The Apache JServ Protocol (AJP) is a binary protocol that can proxy inbound requests from a web server through to an application server that sits behind the web server. It also supports some monitoring since the web server can ping the
application server. Web implementors typically use (AJP) Apache JServ Protocol in a load-balanced deployment where one or more front-end web servers feed requests into one or more application servers.
Sessions are redirected to the correct application server using a routing mechanism wherein each application server instance gets a name (called a route).
In this scenario the web server functions as a reverse proxy for the application server.