Figure 1. JBossWeb extensions

Design of JbossWeb

The core functionality of JBoss Web Server is provided by the Apache Tomcat.

Additional modules allows to use the JBoss Web Server as drop-in replacement for standard native web servers, while offering the Reference Implementation for the Java Servlet and JavaServer Pages technologies. The Java Servlet and JavaServer Pages specifications are developed by Sun under the Java Community Process.

Tomcat

JBoss Web Server is based currently on the Apache Tomcat 6.0.x branch. While it supports the same Servlet and JSP Specification versions as Apache Tomcat 6.0.x, there are significant changes in many areas under the hood, resulting in improved performance, stability, and total cost of ownership.

Servlet/JSP Spec Apache Tomcat version
2.5/2.1 6.0.X - Apache Tomcat 6.0 is the current stable branch
2.4/2.0 5.5.X - Apache Tomcat 5.5 is a older stable branch.

Modules

JBoss Web Server comes with various extension modules that extends the core functionality of both Apache Tomcat standalone, and standard JBoss Application Server. The modules are cross platform and requires a designated platform binaries.

Figure 2. Tomcat Native

Tomcat Native

Tomcat Native is JNI based library for Operating System Abstraction. The core functionality of Tomcat Native is provided by using Apache Portable Runtime (APR). The primary goal of APR is to provide an API to which software developers may code and be assured of predictable if not identical behavior regardless of the platform on which their software is built, relieving them of the need to code special-case conditions to work around or take advantage of platform-specific deficiencies or features.

SSL support is enabled by using the OpenSSL library. This gives much higher performance as well as hardware encryption software support then standard Java offers. It also gives exixting users of Apache HTTPD a seamless transition from mod_ssl.

APR and OpenSSL allows Tomcat Native to provide superior scalability, performance, and better integration with native server technologies. The Apache Portable Runtime is a highly portable library that is at the heart of Apache HTTP Server 2.x. APR has many uses, including access to advanced IO functionality (such as sendfile, epoll and TCP corking), OS level functionality (random number generation, system status, etc), and native process handling (shared memory, NT pipes and Unix domain sockets).

Tomcat Native comes as a set of libraries compiled for the designated Operating System. JBoss Web Server download comes with prebuild native libraries for the following platforms:

  • WIN32
  • WIN64/AMD64
  • WIN64/IA64
  • Linux i386
  • Linux amd64
  • Sun Solaris Sparc
  • HP-UX