SMWP - Introduction
 

Index

Introduction
Differences
Installation I
Installation II
Installation III
Uninstall

Working with SMWP

Parameter
Fragement Class
Page Class
XML Document (Page)



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.