1 Introduction
This document represents the user documentation for the SMWP prototype
whose implementation is based on the paper "Self maintaining Web
Pages - from Theory to Practice". It is recommended to be familiar
with the concepts of the SMWP approach described in this paper before
working with the prototype.
Focus of this document is to describe the usage of the SMWP prototype
without discussing the underlying concepts of SMWP at length. The concepts
and algorithms described in the paper differ slightly from its implementation
by this prototype. These differences are exposed in the next chapter.
The following chapter describes the installation process in a systematic
guideline while the last chapter describes the usage of the SMWP prototype
itself.
1.1 Goal and Aim
SMWP is the acronym for MAINTAINING WEB PAGES, used to create pre-generated
web pages from database contents. These web pages are updated automatically
it the database contents have changed. The SMWP prototype is able to:
- create, modify and delete fragment classes
- create, modify and delete page classes
- create and delete parameter used by fragment classes and page classes
- display definitions of parameters, fragment classes and page classes
- display generated pages (XML documents) using a Internet Browser
1.2 Name, range of use, limitations
Name
SMWP (= Self Maintaining Web Pages)
Range of use
SMWP is used to transform database contents into pre-generated XML documents
using user-defined criteria. Cure functionality is the synchronization
between database contents and generated XML documents. Changed database
contents are propagated to affected XML documents only, which adopt these
changes.
Limitation
The usage of the SMWP approach is recommended for web pages which contain
huge amounts of data, or whose pages which are accessed frequently. SMWP
is not an content management system. ...
1.3 Definitions, acronyms, abbreviations
application relation
All relations, which are not being created by SMWP can be used as source
for fragmentation, i.e. as root fragment class. A relation which is used
as root fragment class is both: application relation and fragment class
relation. Application relations can also be used as source for value parameters.
This relation is called application relation and reference relation. Application
relations exist in the same database schema as the SMWP database objects.
derived fragment class
Fragment classes are parameterized with parameters defined upon its fragment
base class. In order to parameterize a fragment class with parameters
which are defined upon another fragment class a derived fragment class
has to be created. This class is dependent on the fragment base class
which is to be parameterized further and a derivation base class which
provides the required parameter. The derived fragment class inherits the
parameter from its derivation base class which must join with its fragmentation
base class.
derivation base class
Fragment class used as base class for derived fragmentation, which provides
the derived fragment class with parameters it does not possess by itself.
This prototype allows the derivation base class to be parameterized by
exactly one parameter.
fragment
The fragment is a logical construct which describes an instance of a fragment
class. Physically all fragments are stored within one fragment class relation
fragment base class
A fragment class which is used as base class for primary fragmentation
or derived fragmentation. The base class may be un-fragmented or fragmented
by any number of parameters.
fragment class
Main class for fragments
uses concept of horizontal fragmentation
Fragments are logical fragments inside the database
fragment class relation
Relation which stores all values of the logical construct fragment class.
Used in conjunction with a fragmentation relation which stores the instances
of valid fragmentation parameters.
fragment selection predicate
A filter which is defined between a fragment class and its base classes,
which prevents tuples form being inserted into the fragment class which
do not pass the filter.
fragmentation relation
Relation which contains the value domain for fragment class parameters
of a specific fragment class.
page
Logical construct for an instance of a page class. Pages are represented
as XML documents and comprise one or more fragments.
page class
Logical construct like fragment class. While the fragment class defines
the database schema, the page class defines the web schema. Page classes
are required for displaying fragment classes.
parameter
Fragment classes are parameterized by parameters which come in several
types: value parameter and predicate parameter.
predicate parameter
Determines the parameter domain for fragmentation parameters which are
stored in reference relations. The predicate parameter determines valid
entries by using one or more SQL statements which are provided by labels.
E.g. the statement "ranking<=10" labelled as "Top10"
allows only parameters which fulfil the given statement.
reference relation
Relation which contains the parameter domain for value and predicate parameter.
Every fragmentation relation is based upon one reference relation.
tuple selection predicate
Filter for tuples which are to be inserted into the fragment class relation.
Set upon fragment class relation.
root fragment class
Fragment class which is not parameterised. Can be used as fragment base
class for further fragmentation.
value parameter
Determines the parameter domain for fragmentation parameters which are
stored in reference relations. Contains one tuple for every valid parameter.
Every value parameter can be transformed into a predicate parameter, but
not vice versa.
|