Since open source application development servers are used primarily to build and deploy applications, we present these servers here, grouped by technology rather than solution. The following subsections describe application servers in four technology groupings: Java, Perl, PHP, and Other (those deemed worthy of inclusion, but which do not fit into the other three categories).
A fully standards-compliant Java application server includes technologies to serve web pages using Java Server Pages (JSP) and servlets (typically called servlet containers), along with technologies to manage transactions with external systems, such as databases called Enterprise JavaBean? (EJB) containers. As is common in other areas of the open source stack, a complete Java application server is a collection of open source projects. Apache Tomcat and Jetty are popular choices for a servlet container, and JBoss and JOnAS are popular EJB containers. For major platforms (Microsoft Windows, Linux, Solaris) bundled distributions of these two technologies are available for easy download and installation. The architecture of this solution is shown in Figure F-1.
Figure F-1. Typical J2EE application server
A Java application server using Apache Tomcat as the servlet container and JBoss as the EJB container is a popular choice and is our recommendation. Other combinations ...