Overview of Pajes Architecture
Pajes separates presentation content from presentation logic and provides an object-oriented programmatic interface for the manipulation of visual content.
The visual content of a paje is maintained in absolutely standard HTML pages - no embedded script components or specialised tags. These HTML page "templates" can be maintained using whatever tools you or your designers currently employ.
The functional content of a paje is maintained separately. Links between the functional Java classes and the HTML templates are made via the standard HTML "id" attributes in the template. Pajes provides "factories" to deliver instances of paje classes built from the templates as needed, responding to updates to templates (without restart or recompile).
Multiple sets of templates can be used by the same server, allowing a single Pajes instance to provide completely different interface experiences to different users simultaneously from the same application. This is perfect where multiple client users are supported from the one application - they each see their own logos and looks and can maintain their own styles independently of you or the application's other users.
But Pajes is much more than that. Pajes allows you to manipulate the Paje as an object using an underlying set of Pajes HTML classes. These allow you to create and manipulate HTML elements using constructors and methods (try it - it's better). And when the Paje is complete and you request it to generate an http response, browser version, security, compression and like items are all managed for you.
These underlying HTML classes can be used with or without the template capabilities of Pajes. When used directly the Pajes HTML classes behave somewhat like the Apache Element Construction Set (http://jakarta.apache.org/ecs/).
There is a growing list of integrated features which really assist developers, including:
  • Built-in, automatic browser detection and abstraction
  • Built-in, automated internationalisation (This is a BIGGY)
  • Automatic compression (if browser supported)
  • Automatic query parameter obfuscation
  • Query parameter storage in session (reduced net traffic, increased security)
  • Built-in widgets such as tree controls, attachment uploaders (with multi-part upload support)
architecture home benefits of pajes