Table Of Content
Overview
Maxscape is an Internet and Intranet web server platform, providing the key features
to develop, manage and operate sophisticated web services and web sites. Various programs,
components and modules are integrated to implement the generic functionality of a web
application server framework, a content management system and a development and integration
environment.
Besides on the file system, content and also application code can be filed in a relational
database. The runtime system then generates requested answers and provides runtime objects
to server side applications, allowing an object oriented view on the content database.
The server is managed via a web browser surface to the content database similar to a file
browser and various shell tools.
To meet the projects particular set of requirements, applications are built on top of Maxscape.
To support customers in the project, as well as in the product point of view, a site using Maxscape
consists of the generic operation software, packaged with project specific content, design and applications.
What Is Unique About Maxscape
Unique with Maxscape is that content, templates and also (embedded) software can
consistently be stored in a rational databases. A hierarchical data model in a
rational database is regular, so it is quite easy to define methods to hide SQL
queries to calling functions.
Imagine a data model with categories, pages, elements and templates, instead
of a file system with folders and files. Objects, defined by the runtime system,
then allow an object relational view on content and applications stored in the
database, via the methods of these objects.
The concept of storing content and software in a database instead of on the
file system has more consequences than one might think at the first glance.
Unlike a directory, a database category may have elements that can be inherited to
sub trees or imported into pages and templates. Page resp. template elements can
arbitrarily be nested. Defining a content type, a text language, a version number,
any parameter becomes a column/row in the corresponding database table with some
additional runtime and management software.
A content database has many advantages compared to a file system approach. It eases
the data storage greatly and combines the advantages of rational databases and the
power of the SQL language with object oriented server and application programming.
Simple database page template main element with embedded Maxscape API methods:
<!doctype html>
<html>
<head>
<title>
@{[ $Page->ElementContent (Name => 'Title') ]}
</title>
<style type="text/css">
@{[ $Page->ElementContent (Name => 'Category.CSS') ]}
@{[ $Page->ElementContent (Name => 'Template.CSS') ]}
@{[ $Page->ElementContent (Name => 'Page.CSS') ]}
</style>
</head>
<body>
@{[ $Page->ElementContent (Name => 'Category.PageHead') ]}
@{[ $Page->UserElementLoop() ]}
@{[ $Page->ElementContent (Name => 'Category.PageTrailor') ]}
</body>
</html>
Note, that in the above example the CSS code is inherited from the page category
and the page template. In fact, Maxscape can be configured to inherit properties
from all above categories into a page of the content tree.
Generic Web Server Platform
-
The web server platform comprises an Apache with Openssl/Fast-CGI/Mod-Perl,
the famous Perl interpreter with many useful CPAN modules, as well as an
optional rational database. To build the platform an RPM repository with spec
files is provided, what eases the build process greatly.
Directory Structure
-
The standardized directory structure eases to manage server, as well as application specific content
and software, separating generic from applications specific components.
Runtime System
-
The runtime system generates content from the content databases, resp. from the file
system. It provides the HTTPDs connected to the server and application processes,
according to the configuration. The pre-installed Apache HTTPD integrates the FastCGI
module, what has enormous advantages compared to the CGI interface, especially when
working with databases and the distribution of server/application processes to several
computers. The Maxdaemon HTTP daemon works perfectly with Maxscape and can also be used
to manage the server file system and to securely communicate with arbitrary remote hosts.
HTTP Daemon And Application Server
-
Maxdaemon
comprises a fast, lightweight HTTP(S) daemon written in Perl with three kinds
of CGI interfaces, a web browser surface to manage the server's and the host's file system,
an application server runtime system and the Maxscape development and integration environment.
Server File System Management Web Surface
-
Maxscape and Maxdaemon includes a file system management component with which you can
administer the server's, as well as the remote host's file system with a web browser.
The surface can be configured to grant access to any file of a host without a login shell.
Though the web surface isn't a real content management system like Maxscape, it can be
used to edit a web site's files. More generally spoken does it provide secure communication
and data exchange between hosts on which Maxdaemon/Maxscape is installed.
Server Kernel and Framework API
-
The Maxscape API provides access to functions and methods of the generic kernel to
the application software. Several objects (DB, CGI, Page, Elements, ..) are defined
by the runtime system, to be used in applications and which allow an hierarchical,
object oriented view on categories, pages, elements and templates stored in the database.
The Maxscape kernel implements the key features to develop, manage and to generate dynamic
content stored in the content databases, as well as on the file system and provides approx.
1400 methods in 80 packages (approx. 100000 Lines of Perl Code with documentation).
Content Database
-
Each virtual web site has its own content database, which can store categories, pages,
elements, templates, as well as the application software. The runtime system
then generates responses on requests from the database, according to the parameters
of the request and the content, kind, type and attributes of the requested pages and elements.
Elements may contain Text, XML, HTML, CSS, Javascript, (embedded) Perl, etc.
Hierarchical Data Model
-
The Maxscape data model maps the hierarchical structure of a web site to a rational database.
Directories become categories and files become pages. Categories may contain elements, which
can be inherited to subtrees. Database pages are subdivided in page elements, which
contain the content and also the application software. Database templates generalize the
redundant properties of pages, what comes in handy in respect to design and layout.
Content Database Web Browser Surface
-
Content and applications are developed and managed by an administration server via a web browser
(web interface), as well as with UNIX shell tools (command line interface), dependent on the task.
Development And Integration Environment
-
The development and integration environment helps to build the basic platform and eases
development, integration, distribution and operation with several shell scripts,
Make, RPM and CVS. Display all files containing a special string? Dump the
content of a database to a text file or assemble a new distribution?
Web Sites with Maxscape
-
|