About Maxscape

Maxscape is a framework to develop, maintain and operate sophisticated websites and services. It integrates various programs, components and modules to implement the generic features of a web application server, as well as web applications and services.

About Maxscape.com
Maxscape.com is Maxscape's official website since 1998 and is running on a Maxscape Application Server with Maxdaemon.
Goal and Unique Propositions
From the beginning in 1992, Maxscape's goal is to implement an evolving webserver prototype framework that can connect people over a network.

One of Maxscape's unique proposition is that content, layout and parts of the client and server side code can be stored in a rational database, named the content database. The Maxscape data model maps a website's information structure to an application server's node tree in the database, giving an hierarchical view on the content, as well as on the embedded application software.

As we are now dealing with database tables instead of a file system, a whole new world of possibilities opens up that combines application programming with the power of rational databases and the SQL language.

This allows to implement a sofisticated template technque that separates the content from the design, thus supporting different work spaces for content providers, design and application developers. At runtime, content and code are fetched from the application server's content database and the code is evaluated or executed by the Perl interpreter on-the-fly.

The Maxscape::WebServer library, written in Perl, provides an API to work with the content database by introducing a layer between applications and the data stored in database, thus hiding database transactions to the applicition. The implementation details are encapsulated within run-time objects that can be used within (embedded) application code. The run-time system takes care to fetch the required data from the database to satisfy a client's request.

It has turned out that the concept of storing content and embedding application code in a database has some significant advantages compared to the file system approach, which is, of course, supported too. This is due to the n-dimensional structure of a rational database with the power of the SQL language, compared to the hierarchical tree structure of a file system.

Trade-off's include the complexity of storage management and the additional software and tools required to work with a rational database instead of a file system.

Maxscape might be especially interesting for Perl developers to be used as a development and production environment for web applications written in Perl.
Development and Integration
The development environment, the integration chain and the distribution build consist of a collection of programs, scripts and tools to integrate and build the framework's server platform, the server libraries, the runtime system, the application daemons and the distributions.
Web Server Platform
The Maxscape generic webserver platform consists of an extendable collection of programs and tools to provide the common part systems and components to operate a website.
  • Operation System and Computing Platform
  • Programming Language with a generic Module Library
  • SSL Cryptography Toolkit
  • HTTP(S) Daemons and Servers
  • Rational Database and Data model
  • Standardized Directory Structure
A wide range of solutions are available for each part system. Therefore, the open concept allows for the exchange and addition of particular parts on demand. Well, at some point, you need to decide what tools and rules to use. So, Maxscape integrates Perl with CPAN modules, Openssl, Apache, Maxdaemon, Mariadb, Mysql on a Unix host.
Maxscape Web Server Library
The Maxscape WebServer Library comprises a collection of Perl packages to provide a programming and runtime environment for server and application software.
Run-Time System and Objects
The run-time system comprises mainly the computing platform, the shell environment, the webserver platform, the server start/stop scripts, a control and authentication daemon and the application daemons of the configured application servers.

The term application or web server denotes all parts required to generate the content of a special website. This is essentially the main script, the HTTP server and Maxscape configuration, the (FCGI) interfaces, the database instance, the page generation objects, as well as the design, content and code belonging to the application server's website. Each application server has a unique name with its own file system und separate database instance.

An application process consists of a main script that implements the daemon's main loop and includes the required packages and modules to generate the response to a request from the application server's database instance.

The main script and the included packages define several objects, functions and variables by default to access the application server's configuration, the client requests with their CGI environments, the content generation functions and the objects to work with the database.

Most notable are the $::WebServer, $::DB, $Process, $Context, $Page, run-time objects. These objects can be used directly by their names within applications because the evaluation or execution of code contained in the database elements takes place within the context of the $Page object.

At many stages of the content generation loop, application callbacks can be defined and inserted.
Content Database Data Model
The Maxscape database data model depicts the hierarchical structure of a website into a set of database tables so that content and Perl code can consistently be stored in a rational database. Therefore, it maps a website's information structure to a node tree stored in the content database.

The node tree nodes can be of type: Category, Page, Template, Link or Script. A node is addressed by its path, which is defined by its category and node name. Each node has properties and may contain node elements. Category elements can be inherited into subtrees and node elements can arbitrarily be imported.

Node elements contain the actual content and the application code. Similar to HTML tags they have a name, attributes, content, language, etc. Because Perl supports evaluating and executing (embedded) code stored in a database table on the fly, the element content may be of type HTML, HTML with embedded Perl code, pure Perl code or whatever you define.

This enables a sophisticated template technique to separate design from content and avoids redundancies by reusing elements and element inherence in subtrees.

Within the application daemon generation loops, nodes of the tree are fetched from the application server databases and the associated callbacks are executed to generate the website's content. Application code can use the Maxscape Server API via the runtime objects to communicate with the HTTP server and access the application databases.
Management Server
The configuration, content and code stored on the server's file systems and in the database can be managed via several administration and communication servers with web browser surfaces.
Application Websites
The Maxscape project was sparked by the applications made possible by the Internet. So, at the beginning there was a content management system, a forum, a chat, you name it. The Maxscape framework was than born on the experience that generic parts can be separated from project specific requirements. Therefore, the Maxscape framework grew around the wanted applications. Some of them are online.

Maxscape.com - Maxscape Communication Server
Maxdaemon.org - Maxdaemon HTTPD and Application Server
Sound-Basement.com - The Sound Basement Project
Profile-Community.com - Profile and Website Publishing
Time-Revelation.com - Community Site for Public and Private Groups
Strinx.com - Ancient Showcase Community Site
Rainer Jacob - Rainer Jacobs ingenious Art Works
The Sky Across Berlin - Berlin's Sky at Sunset
History
Maxscape has a pretty long history dating back to 1992. It is developed and maintained by Dipl.-Ing. Maximilian Heinzelman with the help of quite a few other people till today.
Come To Know Maxscape

To get in touch with Maxscape, you might want to create a free, anonymous account. You can choose this site's look and feel, learn to publish a profile and a website, work together with other members on common projects, join the Maxscape project and maybe download Maxscape, if you like.

Don't worry be happy, Max

Next Page ∙ Page Top ∙ Join ∙ Contact ∙ Imprint & Privacy © Maxscape.com