Roxen (web server)

Roxen (web server)

Roxen is a free software web server produced by Roxen Internet Software, a company based in Linköping, Sweden and named after the nearby lake Roxen. It is released under the GNU General Public License.

Roxen originally appeared as Spinner in the mid-1990s and was written in a C-like language called uLPC or Pike.

During its heyday Roxen was used by some major players such as RealNetworks [ [http://news.nocrew.org/display.html?id=57 NoCrew news [2008-02-03T17:03:05 ] ] , Granada Media [ [http://www.roxen.com/customers/cases/granada/] ] , Xmission [ [http://www.xmission.com/help/publishing/migration.html] ] and MCI [ [http://www.roxen.com/customers/cases/mci/] ] .

Features

Roxen was often ahead of its time featuring a web-based GUI administration interface, loadable modules that could be written in several languages including Pike and later Java, dynamic content generation with a comprehensive caching system, replication systems for multi-headed servers, an embedded SQL server for data-heavy server operations (as well as broad support for other databases).

Roxen was built to meet the needs of content creators, so its features and facilities were superb, its performance was good and continually improved until 2001. It failed to get itself taken seriously by a large enough base of mainstream sites.

Roxen's largest obstacle was probably that English was only a second language to the people documenting it. Roxen uses an auto-doc style system that means it is heavily and well documented. But the wording can sometimes take a number of passes to understand.

RXML

Much of Roxen's power is in an innocuous feature that was borne in Roxen's early history: a server-side markup/scripting language called RXML (RoXen Macro Language [ [http://docs.roxen.com/roxen/4.5/web_developer_manual/rxml/index.xml Roxen Concepts ] ] ). This language provides much of the richness of a scripting language like Java or Perl but did so in a language meaningful and familiar to content creators. And because it was extensible, many Roxen sites were developed using the MVC pattern.

Roxen modules typically provide their functionality by extending RXML, but the suite provided off-the-shelf was pretty comprehensive:

Notable tags include:
*<if> [ [http://docs.roxen.com/roxen/4.5/web_developer_manual/if/index.xml If Tags ] ] for conditional content (as well as tags for else, case, for, etc)
*<tablify> [ [http://docs.roxen.com/roxen/4.5/web_developer_manual/text/tablify.tag ] ] for automatically transforming data into pretty tables
* <cache> [ [http://docs.roxen.com/roxen/4.5/web_developer_manual/programming/cache.tag ] ] for controlling the caching of dynamic content to reduce page fetch times/server loading
* <gbutton> [ [http://docs.roxen.com/roxen/4.5/web_developer_manual/graphics/gbutton.tag ] ] and <gtext> [ [http://docs.roxen.com/roxen/4.5/web_developer_manual/graphics/gtext.tag ] ] image generation tags
* <diagram> [ [http://docs.roxen.com/roxen/4.5/web_developer_manual/graphics/diagram.tag ] ] for converting data into graphical charts/graphs
* <emit> [ [http://docs.roxen.com/roxen/4.5/web_developer_manual/output/emit.tag ] ] for generating content based on LDAP, SQL or filesystem queries (its trivial to build your own photo gallery with thumbnails using Roxen)

All RXML tags contain inline documentation which is used to fill out the online manual that is included on both [ [http://docs.roxen.com Roxen's documentation site] ] and with every default server installation.

RXML also provides a variable system; all variables exist within a domain or "scope", e.g. form fields passed to the query are accessible as form.fieldname, user defined variables are stored in the var scope. Unfortunately, in its attempt to explain the two methods of variable instantiation, the documentation confuses most people.

In most cases variables are referred to by name, but it is also possible to instantiate (insert the value of) a variable anywhere, in- or out-side of tags/markup, using an XML entity-style markup, e.g. &page.path;. Optionally you can specify encoding/escaping of the instance, e.g. &form.username:mysql; to insert a user-submitted value from a form safely into an SQL database or &page.path:js; to make a variable javascript safe.

See also

*Comparison of web servers

External links

* [http://www.roxen.com/ Roxen Internet Software]
* [http://community.roxen.com/ Roxen Community - Roxen Web Server development site]

References


Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Look at other dictionaries:

  • Web-Server — Der Host des ersten Webservers von Tim Berners Lee am CERN Ein Webserver (lat. servus, engl. server „Diener, Dienst“) ist ein Computer, der Dokumente an Clients wie z. B. Webbrowser überträgt. Als Webserver bezeichnet man den Computer mit… …   Deutsch Wikipedia

  • Web Server — Der Host des ersten Webservers von Tim Berners Lee am CERN Ein Webserver (lat. servus, engl. server „Diener, Dienst“) ist ein Computer, der Dokumente an Clients wie z. B. Webbrowser überträgt. Als Webserver bezeichnet man den Computer mit… …   Deutsch Wikipedia

  • Roxen (disambiguation) — Roxen may refer to:* Roxen, a medium sized lake in south central Sweden, north of the city LinköpingSee also:* Roxen (web server), a free software web server produced by Roxen Internet Software, a company based in Linköping, Sweden …   Wikipedia

  • HTTP-Server — Der Host des ersten Webservers von Tim Berners Lee am CERN Ein Webserver (lat. servus, engl. server „Diener, Dienst“) ist ein Computer, der Dokumente an Clients wie z. B. Webbrowser überträgt. Als Webserver bezeichnet man den Computer mit… …   Deutsch Wikipedia

  • HTTP Server — Der Host des ersten Webservers von Tim Berners Lee am CERN Ein Webserver (lat. servus, engl. server „Diener, Dienst“) ist ein Computer, der Dokumente an Clients wie z. B. Webbrowser überträgt. Als Webserver bezeichnet man den Computer mit… …   Deutsch Wikipedia

  • WWW-Server — Der Host des ersten Webservers von Tim Berners Lee am CERN Ein Webserver (lat. servus, engl. server „Diener, Dienst“) ist ein Computer, der Dokumente an Clients wie z. B. Webbrowser überträgt. Als Webserver bezeichnet man den Computer mit… …   Deutsch Wikipedia

  • AWStats — Développeur Laurent Destailleur Dernière version 7.0 (05& …   Wikipédia en Français

  • FastCGI — is a protocol for interfacing interactive programs with a web server. FastCGI is a variation on the earlier Common Gateway Interface (CGI); FastCGI s main aim is to reduce the overhead associated with interfacing the web server and CGI programs,… …   Wikipedia

  • Webserver — Ein Webserver (lat. servus, engl. server „Diener, Dienst“) ist ein Computer, der Dokumente an Clients wie z. B. Webbrowser überträgt. Als Webserver bezeichnet man den Computer mit Webserver Software oder nur die Webserver Software selbst.… …   Deutsch Wikipedia

  • List of open source software packages — This is a list of open source software packages: computer software licensed under an open source license. Software that fits the Free software definition may be more appropriately called free software; the GNU project in particular objects to… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”