Roxen: How Much Is Too Much Functionality?
Roxen Web Server: Web application server with everything but the kitchen sink Roxen Web Server is an open source offering with a broad range of Web application capabilities 'out of the box,' but its everything-but-the-kitchen-sink design may not be right for all organizations.
The Web server market would seem like an uninviting sector to enter considering only a few products dominate. In one corner, lightweight and free, is the ever popular Apache Web server. In the other corner, proprietary and bulked up, is Microsoft's IIS. Is there room in the ring for anyone else? Swedish company Roxen certainly believes so, as illustrated by Roxen Web Server another contender among the free and open source.
Apache and Roxen are open source products built from different perspectives. Apache is a relatively lightweight, efficient (particularly v2.x) Web serving engine onto which administrators can graft a wide range of modules to build an overall Web serving or Web application solution. Roxen, in contrast, is monolithic it comes "out of the box," so to speak, with a broad range of Web application capabilities, some of which you might want to use, some of which you might not. It has an everything-but-the-kitchen-sink design.
Roxen supplies all of the pieces you might need to build complex Web applications while Apache administrators are struggling to fit all the pieces together. At the same time, Roxen may be overly mothering for sites that do not require complex server-side acrobatics.
The 40 MB download for the Windows installation is ample evidence. The Roxen installers for other operating systems, such as Linux and OS X are smaller, by as much as half. Admittedly, they are still large for a server. Once installed in Windows, Roxen balloons to consume more than 120 MB of disk space. On Windows, the installer allows for a modicum of configuration: You can change the port and login for the administration interface. Otherwise, all further setup and configuration is done via the Web server itself and its browser-based administration.
So what does a 120 MB Web server include? Quite a lot, really: All of the tools a developer would normally use to build a Web application are bundled into Roxen. There is a MySQL database, built-in interpreters for two server-parsed languages (Roxen's own Pike as well as Perl), Java, real-time graphics rendering and manipulation, and a host of extension modules that cover tasks from authentication to bandwidth control to filesystem interaction. Roxen Web Server employs a top-down view of Web serving. Within the server the developer can create individual Web sites, each of which can have its own module extensions. He or she can also assign users varying access rights to these Web sites.
As a whole system, Roxen is very powerful. In addition to support for standard dynamic languages, such as Perl and PHP, Roxen supports many custom tags that can be embedded into Web pages. Among its more interesting capabilities is that it can generate graphics on-the-fly. For example, you can tag a block of text and tell Roxen to render that text into a graphic in any font available on the server, with or without various effects (e.g., color, shadow, and hover). The server will, when that page is requested, generate the graphic in real-time and include it on the page. Likewise, Roxen can manipulate existing graphics to create, for example, sets of thumbnails. Roxen has a cache that is configurable on a per-Web-site basis, which can help reduce the processing demands of real-time graphics in heavy traffic environments.
However, Roxen's broad array of powers comes at a cost, and that is flexibility. Yes, it is very modular in that you can use as many or as few of the modules you want. But it is a monolithic, non-forking server. That means if, for example, the Roxen server process dies, all of the sites it serves go with it in one fell swoop. The administrative interface actually includes an automatic restart feature, where the server can restart itself on a timed interval, precisely because overly long uptimes can cause it to consume all available resources. In contrast, Apache forks many lightweight child processes, each of which can live or die without necessarily taking out the whole Web serving system.
Deploying a system like Roxen Web server is something of a commitment. It is free and open source, yes. But, like proprietary products like ColdFusion, tightly developing your site to Roxen's special features weds you to the product. This is not necessarily a bad thing, as Roxen brings with it a huge amount of power. Roxen supplies all of the pieces you might need to build complex Web applications while Apache administrators are struggling to fit all the pieces together. At the same time, Roxen may be overly mothering for sites that do not require complex server-side acrobatics.
Pros: Free and open-source; turnkey Web application server capabilities; Powerful real-time graphics support.
Cons: Large resource hungry server; Monolithic design; Encourages product dependency.
Reviewed by: Aaron Weiss
Original Review Date: 1/27/2005
Original Review Version: 4.0.172