Software architecture

Core architecture

The core of GAX~thinX consists of two main components:

  • The GAX~thinX server: a back-end written in Java and linked to one or more SQL databases. The server provides persistence for a versioned graph of objects;

  • The GAX~thinX user interface: this is the client application, written in Perl, which allows the editing, validation and publication of the content stored in the system.


Generation modules

The GAX~thinX architecture uses a flexible generation mechanism based on a variety of ways to access the structured content contained in the CMS data repository. Data can be accessed:

  • through an API to a programming language. This API is currently defined in Perl and Java.

  • through XML/XSLT. The system provides a natural DOM model for its content. This DOM description of the content can be used to feed an XSLT engine.

This variety reflects the range of possible user requirements. Currently, the most common usage if via the Perl API, for which a standard 'generation blueprint' is available and which covers the two cases of dynamic and static page generation.