|
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)
|
|
|