Revision as of 17:01, 17 January 2013 by Marens (talk | contribs) (Configuration)

Grizzly based backend

Up to OX App Suite we were limited to AJP based communication between the HTTP server and the OX backend server. Starting with the release 7.0.1 of OX App Suite we offer a second HTTP based connector for the communication between the HTTP server and the backend. This new connector is based on Oracle's Project Grizzly - a NIO and Web framework.

HttpService as packaging dependency

The HttpService dependency.

The open-xchange package depends on a virtual package called open-xchange-httpservice. This service is provided by both, the old open-xchange-ajp and the new open-xchange-grizzly packages. Only one of these two packages can be installed at a time because they block each other.

Default cluster setup

The default cluster setup.

This picture shows our default cluster setup. It consists of a proxying balancer (in our case Apache) and a cluster of multiple OX App Suite backends. The balancer receives HTTP and/or HTTPS requests and decides which requests should be handled by itself and which should be forwarded to be handled by one of the OX App Suite backends. That's where the AJP or HTTP connector is used.


As request logically pass the balancer first, we'll start looking at how to configure this part of our setup before configuring the Grizzly based OX App Suite backends.

Apache configuration

Now as the Open-Xchange Server has been set up and the database is running, we have to configure the Apache webserver and the mod_proxy_http module to access the groupware frontend. To gain better GUI performance, the usage of mod_expires and mod_deflate is strongly recommended. Those modules will limit the amount of client requests and compress the delivered content.

$ a2enmod proxy proxy_http proxy_balancer expires deflate headers rewrite mime setenvif 


Grizzly configuration

Available configuration files


Next we'll look at the parts of the that configure the grizzly backend.


Next we'll look at the parts of the that configure the grizzly backend.


Switching between AJP and Grizzly