Über Maxscape.com
Maxscape.com ist dem Maxscape Web Server gewidmet. Eine Einführung
wird vorgestellt und Informationen über Content Managment und Application Programming
werden seit 1998 publiziert.
Was ist Maxscape?
Maxscape ist ein Web Server Framework, das die wesentlichen Features zum Entwickeln
und Betreiben ausgefallener Websites und Webservices zur Verfügung stellt. Diverse
Programme, Komponenten und Module sind integriert, um die generische Funktionalität
eines Application Servers, eines Content Management Systems und einer Entwicklungs-
und Integrationsumgebung zu implementieren.
Entwicklungs- and Integrationsumgebung
-
Maxscape wird unter UNIX, dem besten Betreibssystem für Netzwerksservers entwickelt.
UNIX kommt von sich aus mit einer ganzen Welt von nützlichen Tools. Brauchbare Command Line
Shells, vi, grep, diff, locate, find, make, etc. Zusätzliche Tools, namentlich
CVS, GIT und RPM werden zur Entwicklung, zum Integration Build und der Distributionskette
genutzt.
Ein zentrales makefile and einige Shell Scripts adaptieren die UNIX Tool Chain, um
das Environment einzustellen, die vielfältigen Versionen der Programme, Komponenten,
Module und des Server Dateisystems zu verwalten und nicht zuletzt, um Textstrings and
Codestücke im Dateisystem und in der Datenbank zu finden.
Generische Web Server Plattform
-
Die Webserver Platform umfasst die HTTP(S) Dämonen, einen speziell kompilierten Perl
Interpreter mit vielen hilfreichen CPAN Modulen und eine relationale Datenbank.
Der Apache ist mit Openssl, Fast-CGI and Mod-Perl kompiliert.
Maxdaemon
ist ein schneller, leichtgewichtiger in Perl geschriebener HTTP(S) Dämon mit
drei Arten von CGI Interfacen, einer Webbrowser Oberfläche zum Managen der Websites und
des Dateisystem des Hosts und ein Application Server Laufzeitsystem.
Einen eigenen, speziell kompilierten Perl Interpreter zu bauen ist empfehlenswert, um
Perl an die Anforderungen eines Applikations Servers anzupassen, zum Beispiel um die
Softwarequellen auf Produktionsservern zu verschlüsseln.
Als Datenbank für die Content Database kann eine beliebige relationale Datenbank
eingesetzt werden, solange es für diese einen DBD/DBI Treiber gibt. Eine vorkompilierte
MySql Datenbank ist trotzdem Teil der Distribution.
Um die Plattform zu bauen, wird ein RPM Repository mit spec Dateien verwendet, was den
Build erheblich vereinfacht und reproduzierbar macht.
Standardisierte Datei Struktur
-
Die Einführung einer standardisierten Dateistruktur erleichtert das Management von
Softwarekomonenten und Websites und macht Applikationen verschiedener Server direkt
kompatibel. Jeder Applikationsserver lebt in einem eigenen Dateiunterbaum, der nach
UNIX Konventionen strukturiert ist. Prozess, Server und Site spezifische Komonenten
sind in eigenen Ordnern untergebracht.
Applikationserver und Laufzeitsystem
-
Das Laufzeitsystem verbindet alle Komponenten und implementiert die Schnittstelle zwischen
Server und Applikationen. Es generiert Inhalte dynamisch aus den Content Databases bzw.
dem Dateisystem innerhalb der Mainloops der Applicationsprozesse. Es stellt Applikationen
Variable, Funktionen und Objekte zur Verfügung, um auf Konfigurations, Server, Client Request,
u.s.w. Daten zuzugreifen und um mit der Content Database leicht arbeiten zu können.
An vielen Stellen der Seitengenerierungsfunktionen können Applikationen Callbacks einfügen.
Klassen Bibliothek and Server API
-
Die Maxscape Klassen Bibliothek implementiert die Hauptfunktionen eines generischen
Applikationsservers, zum Arbeiten mit der Content Database, der Webbrowser Oberflächen
und des HTTP(S) Dämonen.
Sie bietet eine hierarchische, objektorientierte Sicht auf die in der Content Database
und dem Dateisystem gespeicherten Inhalte und Software. Applikationen kommunizieren über
die vom Laufzeitsystem bereitgestellten Variablen, Funktionen und Objekte mit der
Serversoftware.
Zur Zeit besteht sie aus ca. 88 Packages mit 1420 Methoden, 65295 Lines
of Perl Code mit rudimentärer Dokumentation, wobei Code in der Datenbank der Kandidat
für die Bibliothek ist, nicht einbezogen ist. Die Zahl aller Quellzeilen ist 507215.
Content Database und Datenmodel
-
Jede virtuelle Website hat eine eigene Content Database, um Konfigurationsdaten,
Kategorien, Seiten, Templates, Elemente, Benutzerdaten, etc, sowie die Anwendungssoftware
zu speichern.
Das Datenmodell bildet die hierarchische Struktur einer Website auf eine relationale
Datenbank ab. Verzeichnisse werden zu Kategorien und Dateien zu Seiten. Seiten bestehen
aus Seitendaten und Elementen, die in Templates eingefügt werden. Kategorien können
Elemente enthalten, die an Unterbäume vererbt werden können. Templates erlauben es,
Inhalte und Design zu separieren und Seitenlayouts zu verallgemeinern.
Datenbankseiten sind in Seitenelemente untergliedert, die Inhalte und Applikationssoftware
enthalten. Elemente können enthalten was immer eine Datenbank speichern kann. Ein
spezielles Maxscape Feature ist, dass sogar Perl Code in Elementen gespeichert werden
kann, der dann vom Laufzeisystem evaluiert und ausgeführt wird. Vielen Dank Perl!
Datenbank und Dateisystem Oberflächen
-
Maxscape stellt mehrere Web Browser Oberflächen zur Inhaltedatenbank und dem Dateisystem
der Server von Websites zur Verfügung. Auch wenn die Funktionalität und das Look & Feel definitiv
verbessert werden können, sind fast alle wichtigen Funktionen zum Arbeiten mit Websites
zur Verfügung.
Geschichte und Kunden
-
Maxscape 1.0 (1997) war die erste Plattform, die einen HTTP Dämonen (erst NSCA, CERN, dann Apache),
FastCGI/ModPerl, SSL, eine Datenbank (erst Msql, dann Mysql und Oracle), eine Programmiersprache
(Perl) und einen Applicationsserver integrierte und als eine relativ einfach zu installierende
Distribution an Kunden wie Vereinsbank, T-Data, Phase 4, GHM ausgeliefert und verkauft wurde.
Beispiel Websites mit Maxscape
-
Ein Application Server ohne Applikationen ist wie eine Kommunikationssite ohne Mitglieder.
Irgendwie nutzlos. Nun, hier sind einige Sites die unter Maxscape laufen.
Was kann Maxscape für Sie tun?
Alleinstellungsmerkmal von Maxscape ist, dass Inhalte, HTML, XML, Javascript und
eingebettete Server Software (Perl) konsistent in einer relationalen Datenbank,
Content Database genannt, gespeichert werden können. Das Maxscape Datenmodel bilded
dann die Struktur einer Website auf die Datenbank ab, was eine hierarchische Sichtweise
auf Inhalte, wie auch auf die eingebettete Applikationssoftware erlaubt.
Die Idee der Content Database entstand 1996 aus der Erfahrung, dass der Aufwand
Inhalte, Design, Applikationen und Metadaten von komplexen Websites auf einem
Dateisystem zu speichern erheblich grösser ist, als wenn dafür eine Datenbank
verwendet wird. Anstelle unzähliger Dateien und dem damit verbundenen
Verwaltungsaufwand bietet eine relationale Datenbank eine reguläre,
standardisierte Struktur, die sich relativ leicht verwalten lässt.
Es ist auch eine Erfahrung, dass die Implementierung eines Datenmodells,
der Benutzerschnittstellen und des Laufzeitsystems zur dynamischen
Generierung von Inhalten, ein eigenes, relativ grosses Projekt ist. Einmal
aufgesetzt bieten sich erstaunliche Möglichkeiten. So können zum Beispiel
Inhalte vom Design separiert werden, indem man diese in verschiedenen
Elementen speichert, Inhalts und Design Elemente können einfach wiederverwendet
und eine ausgeklügelte Templatetechnik implementiert werden.
Ein anderes Schlüsselfeature der Content Database ist, dass neben Dokumentsprachen
wie HTML, clientseitiges Javascript, auch serverseitige Software (Perl)
in der Datenbank gespeichert und zur Laufzeit on-the-fly evaluiert oder
ausgeführt werden kann. Serverseitige Software in der Datenbank zu speichern,
bietet viele Vorteile, wie Sie später sehen werden. Zum Beispiel zum Schreiben
von Dokumenten mit wenigen eingebetteten Variablen und Codeschnipseln, für kleine
Codestücke die nur einmal verwendet werden und erleichtert die Implementierung von
geschachtelten Seiten und Template Elementen erheblich.
Maxscape kennenlernen
Wenn Sie einen ersten Eindruck gewinnen wollen, lesen Sie das (englische)
Profil und legen Sie ein Konto auf Maxscape.com für
Web Designer und Entwickler, Sound-Basement.com für Musiker oder
Profile-Community.com an.
Setzen Sie eine Website auf, die Sie im Internet oder für Mitglieder publizieren können.
Die Oberflachen dieser Sites sind eine erste verwendbare Version für anonyme Benutzer
mit eingeschränkter Funktionalität z.B. ohne direkte serverseitige Programmiermöglichkeiten.
Ausserdem bieten sie eine einfache Community Lösung mit der Sie ein Profil publizieren
und mit anderen Mitglieder kommunizieren und gemeinsam an Seiten arbeiten können.
Für Ihr anonymes Konto brauchen Sie lediglich einen Mitgliedsnamen und ein
Passwort.
Don't worry be happy, Max.
|
|