Whitebeam is a an object orientated, XML-centred web application server. The core skills required to
web developers, or programmers with experience of C like scripting languages such as PERL to build
active e-business sites.
Whitebeam was originally developed in the UK by Redbourne Ltd and has been released as a separate Open Source project
in order to foster the rapid development of dynamic, open, and interoperable XML based Internet
and mobile applications.
The Whitebeam architecture splits application provision into 2 server-side components. The 'Presentation Engine'
provides the programmatic environment for web-application developers. Applications written in this environment
then communicate with functional 'services' via an extensible XML based service protocol.
The Presentation Engine has been designed to be 'stateless', all the application information being maintained by the
service modules (which we call templates). Having the Presentation Engine and the templates separated in this way allows
then to be resident on separate servers. It also means that performance can be radically enhanced in demanding environments
simply by adding more servers running the Presentation Engine. Because this scalabilty is inherent in the architecture
the web-application developer doesn't need to take any particular care to build a scaleable application.
Overview of the Whitebeam Architecture
The key features of Whitebeam are
- Open Source
- Extensible XML and HTML parser
Mozilla SpiderMonkey engine
- Available for both Unix and Win32 (Windows 95/98/NT/2000) platforms
- Flexible XML interface to object based services.
- Interface builder for C++ services - 'tgen'
- Implementation of core, service object model components:
- System - Basic environment (access to server environment & session context services)
- Contact - Provides heiarchies of contacts and access for authentication
- Catalogue - Organise data into a hierarchical categorisation tree. Each item can store arbitrary information.
- Message - Implements email facilities and the implementation of message boards.
- Semaphore - Supportng mutual exclusion for critical application code running potentially on many front-end servers.
- Counter - Supportng atomic operations on numeric variables accessed from multiple Presentation Engines
- Support for multiple application environments
- Fully integrated into the Apache 1.3.x and 2.x environment
Of course, although Whitebeam provides templates for web application development, the PostgreSQL interface
allows developers complete freedom to develop applications outside the scope of existing Whitebeam templates.