Whitebeam - Applications/Templates.
Although Whitebeam can be used as a standalone Apache module, in much the same way as PHP or other environments,
it is architected around and XML service based model where the front end (Presentation Engine) talks with back-end
services (templates) via an XML protocol over TCP connections.
The advantages of this model are discussed in the Whitebeam Architectural Oveview
The Whitebeam Presentation Engine provides a rapid development environment for web applications - but
behind the scenes there has to be some persistent - reliable storage. In short - a database. Many environments
handle this requirement by providing direct access to a database through SQL, ODBC or JDBC. This 'raw' access
is incompatible both with the skills expected from web designers and with the desire for Whitebeam to
serve many hundreds of clients from a data-center configuration. These alternative
architectures also place unnecessary restrictions on the application (JDBC is only accessible through Java!)
The Whitebeam architecture abstracts the application logic away from the Presentation Logic into what we call
templates. The presentation engine acts as a client to multiple template servers, each server having a
different role. The standard Whitebeam Open Source distribution contains the following templates:
- system. Provides the core functionality required to execute a web application. Includes things like the ability to output text
from wihin the application, read cookies, write cookies, read headers etc.
- contact. Provides infrastructure for contact management and a
secure infrastructure infrastructure.
- context. Mantains short lived user sessions - or context pools. The template works in partnership
with the presentation engine to store session ID's in both cookies, forms and URL modification - all transparently
to the web designer.
- message. Interfaces with NNTP and SMTP mail servers to implement message groups/boards and email transmission.
(loadtime : 10ms)