Custom Enterprise Solutions
The SureCode Platform - A Look Under the Hood
What is the underlying technology that facilitates our unique approach?
Every SureCode application is a highly generic program that abstracts
and encapsulates the functional and visual elements that make up the application's
unique features. As part of the abstraction process, the functional details
of the application are parameterized so that they can be easily enabled
and defined on an as needed basis. The same is done with the visual attributes.
Once parameterized in this manner, a single code base can be instantly
customized to realize a wide range of functionally and visually distinct
solutions. This can be done through a simple process of selectively enabling
or disabling attributes from the palette of available features.
Figures 2 and 3 provide a pictorial comparison between the construction
of a traditional HTTP application and one realized via the SureCode approach.
Figure 2: The Traditional Approach
The traditional approach is depicted in figure 2 and is typical of the
construction of most Intranet and Web applications. In this case, the
user interface (a dynamic Web page) is generally embodied in two separate
parts. The first part represents the static portion of an HTML page. This
is typically realized in one of two ways, either as a stored HTML page
or as HTML generated on the fly by a script. In either case note that
the look and functionality of the resulting Web page is hard coded
either directly in HTML or indirectly in the script that renders the HTML.
The second element of the traditional implementation represents the dynamic
data. This data is usually loaded from a database and the resulting data
set is then merged with the static portion of the page. Both pieces come
together at the HTTP server to establish the applications user interface.
Figure 3: The SureCode Approach
Contrast this with the SureCode implementation depicted in figure 3.
Here, the piece that produces the user interface is abstracted, parameterized,
and split into four distinct layers of functionality. The first, the Abstraction
Layer, provides for the basic functional aspects of the application. These
functional aspects are made explicit and defined via properties specified
in the Functional Layer. Likewise the visual attributes are separated
from the first two levels and are provided as a distinct set of properties
in the Visual Layer. The fourth level, the Branding Layer, provides additional
image and HTML fragments that further establish the visual presentation
of the user interface.
On a Surecode Application Server, the Abstraction Layer is realized in
PERL. The Functional and Visual Layers are embodied in tables stored on
a local MySQL database. These tables provide numerous attribute fields
that control the functional flexibility coded into the Abstraction Layer.
The Branding Layer is implemented as a set of HTML page fragments and
image files that are also stored locally and combined with the other elements
to produce the user interface.
Designing and building our applications in this manner enables us to
rapidly customize and deploy a wide variety of solutions at a fraction
of the time and cost required using the traditional approach.