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
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
