Über Maxscape
Maxscape ist ein Framework zum Entwickeln, Warten und Betreiben anspruchsvoller Websites und Webdienste. Es integriert diverse Programme, Komponenten und Module, um die generischen Funktionen eines Webanwendungsservers, sowie Webanwendungen und -dienste zu implementieren.
-
Über Maxscape.com - Maxscape.com ist die offizielle Website von Maxscape seit 1998. Sie läuft auf einem Maxscape Application Server mit Maxdaemon als HTTPD.
-
Ziel und Alleinstellungsmerkmale -
Inspiriert von den Kommunikationsmöglichkeiten im Jahr 1992, verfolgte Maxscape das Ziel,
ein Webserver-Framework zu implementieren, um Menschen über digitale Netzwerke miteinander
zu verbinden.
Maxscapes wichtigstes Alleinstellungsmerkmal ist es, dass Inhalte, Layouts, sowie client- und serverseitiger Anwendungscode in einer relationalen Datenbank, der sogenannten Content-Datenbank, gespeichert werden.
Jeder Anwendungsserver wird durch einen eindeutigen Namen gekennzeichnet und verfügt über eine eigene Datenbankinstanz und ein eigenes Dateisystem.
Das Maxscape Datenmodell bildet die Informationsstruktur einer Website auf einen Baum (Node Tree) des Anwendungsservers ab. Dies ermöglicht eine hierarchische Sicht sowohl auf die Inhalte als auch auf die eingebettete oder ausgeführte Anwendungssoftware.
Da wir uns jetzt mit Datenbanktabellen anstatt mit einem Dateisystem beschäftigen, öffnet sich eine ganz neue Welt, die Anwendungsprogrammierung mit der Leistungsfähigkeit rationaler Datenbanken und der SQL-Sprache kombiniert.
Das ermöglicht die Implementierung einer sofistischen Templatetechnik die Inhalte vom Design separiert und so verschiedene Arbeitsräume für Inhalte Autoren, HTML Layout Designer and Applikations Entwickler unterstützt.
Zur Laufzeit werden Inhalte und Code aus der Inhaltsdatenbank des Anwendungsservers abgerufen und der eingebette Code vom Perl Interpreter on-the-fly evaluiert oder ausgeführt.
Die in Perl geschriebene Maxscape::WebServer Bibliothek stellt ein API für die Arbeit mit der Datenbank bereit und führt eine Ebene zwischen Applikationen und den in der Datenbank gespeichten Daten ein, die die Datenbanktransaktionen vor den Applikationen versteckt. Implementierungsdetails sind in Laufzeitobjekten gekapselt, die im (eingebetteten) Anwendungscode verwendet werden können. Das Laufzeitsystem kümmert sich darum, die erforderlichen Daten aus der Datenbank abzurufen, um die Anfragen der Clients zu beantworten.
Es hat sich herausgestellt, dass das Konzept der Speicherung von Inhalten und der Einbettung von Anwendungscode in einer Datenbank einige wesentliche Vorteile gegenüber dem Dateisystem Ansatz hat, der selbstverständlich ebenfalls unterstützt wird. Dies liegt an der n-dimensionalen Struktur einer rationalen Datenbank mit der Leistungsfähigkeit der SQL Sprache im Vergleich zur hierarchischen Baumstruktur eines Dateisystems.
Nachteile sind die Komplexität der Speicherverwaltung und die zusätzliche Software und Tools, die erforderlich sind, um mit einer rationalen Datenbank statt einem Dateisystem zu arbeiten.
Maxscape könnte insbesondere für Perl Programmierer interessant sein, die eine Entwicklungs- und Produktionsumgebung für in Perl geschriebene Webanwendungen suchen. -
Entwicklung und Integration
- Die Entwicklungsumgebung, die Integrationskette und der Distributionsbau besteht aus einer Sammlung von Programmen, Skripten, Tools, um die Teilsysteme zu integrieren und das Maxscape Framework zu bauen.
Web Server Plattform-
Die generische Webserver Plattform von Maxscape besteht aus einer erweiterbaren
Sammlung von Programmen und Werkzeugen zur Bereitstellung der allgemeinen
Teilsysteme und Komponenten, um eine Website zu betreiben.
- Betriebssystem und Computing Plattform
- Programmiersprache mit generischer Modulbibliothek
- SSL Kryptographie Toolkit
- HTTP(S) Daemons und Server
- Rationale Datenbank und Datenmodell
- Standardisierte Verzeichnisstruktur
Maxscape Web Server Bibliothek- Die Maxscape WebServer Bibliothek besteht aus einer Sammlung von Perl packages, die eine Programmier- und Laufzeitumgebung für Server- und Anwendungssoftware bieten.
Laufzeitsystem und Laufzeitobjekte-
Das Laufzeitsystem
besteht im wesentlichen aus der Computing Plattform, der Shell Umgebung, den Server start/stop Skripts,
einem Kontroll- und Authentifikations-Server und den Applicationdämonen der konfigurierten
Applicationserver.
Der Begriff Anwendungs, Applikations oder Web Server bezeichnet alle Teile, die zur Generierung des Inhaltes einer speziellen Website gehören. Dies sind im Wesentlichen das Hauptskript, die HTTP Server und Maxscape Konfiguration, die CGI-Schnittstellen, die Datenbankinstanz, die Objekte zur Seitengenerierung sowie das Design, der Inhalt und der Code, die zur Website des Anwendungsservers gehören. Jeder Anwendungsserver hat einen eindeutigen Namen mit eigenem Dateisystem und separater Datenbankinstanz.
Ein Anwendungsprozess besteht aus einem Hauptskript, das die Hauptschleife des Daemons implementiert und die erforderlichen Pakete und Module inkludiert, um die Antwort auf eine Anfrage aus der Datenbankinstanz des Anwendungsservers zu generieren.
Das Hauptskript und die inkludierten Pakete definieren standardmässig mehrere Objekte, Funktionen und Variablen für den Zugriff auf die Konfiguration des Anwendungsservers, die Client-Anfragen mit ihren CGI-Umgebungen, die Funktionen zur Erzeugung von Inhalten und die Objekte für die Arbeit mit der Datenbank.
Besonders erwähnenswert sind die $::WebServer, $::DB, $Process, $Context, $Page, Laufzeitobjekte. Diese Objekte können innerhalb von Anwendungen direkt über ihren Namen verwendet werden, da die Evaluation oder Ausführung von Code, der in den Datenbankelementen enthalten ist, im Kontext des $Page Objekts stattfindet.
An vielen der Inhaltsgenerierungsschleife können Anwendungscallbacks definiert und eingefügt werden.
Inhaltedatenbank und Datenmodel-
Das Maxscape Datenbankdatenmodel bildet die hierarchische Struktur einer Website
auf eine Reihe von Datenbanktabellen ab, so dass Inhalte und Perl Code konsistent
in einer rationalen Datenbank gespeichert werden können. Daher bildet es die
Informationsstruktur einer Website auf einen Knotenbaum ab, der in der Inhaltsdatenbank
gespeichert ist.
Die Knoten in der Baumstruktur können vom Typ: Kategorie, Seite, Vorlage, Link oder Skript sein. Ein Knoten wird durch seinen Pfad adressiert, der durch seine Kategorie und seinen Knotennamen definiert ist. Jeder Knoten hat Eigenschaften und kann Knotenelemente enthalten. Kategorieelemente können in Unterbäume vererbt werden und Knotenelemente können beliebig importiert werden.
Node Elemente enthalten den eigentlichen Inhalt und den Anwendungscode. Ähnlich wie HTML-Tags haben sie einen Namen, Attribute, Inhalt, Sprache, etc. Da Perl die Möglichkeit bietet, in einer Datenbanktabelle gespeicherten (eingebetteten) Code im laufenden Betrieb auszuwerten oder auszuführen, kann der Inhalt des Elements vom Typ HTML, HTML mit eingebettetem Perl Code, reiner Perl Code oder was immer Sie definiert haben sein.
Dies ermöglicht eine ausgeklügelte Templatetechnik zur Trennung von Design und Inhalt und vermeidet Redundanzen durch die Wiederverwendung von Elementen und die Vererbung von Elementen an Unterbäume.
Innerhalb der Generierungsschleifen des Anwendungsdämons werden die Knoten des Baums aus den Datenbanken des Anwendungsservers geholt und die zugehörigen Callbacks ausgeführt, um den Inhalt der Website zu erzeugen. Der Anwendungscode kann das Maxscape Server API verwenden, um mit dem HTTP-Server zu kommunizieren und auf die Anwendungsdatenbanken zuzugreifen.
Management Server- Die Konfigurationen, Inhalte und Software, die in den Inhaltsdatenbanken und auf den Dateisystemen der Anwendungsserver gespeichert sind, können mit mehreren Administrations- und Kommunikationsserver mit Webbrowser-Oberflächen verwaltet werden.
Applikationswebsites-
Das Maxscape Projekt wurde durch die Anwendungen inspiriert, die das Internet ermöglicht.
Am Anfang gab es also ein Content Management System, ein Forum, einen Chat, was auch immer.
Das Maxscape Framework entstand dann aus der Erfahrung, dass generische Teile von projektspezifischen
Anforderungen getrennt werden können. Daher wuchs Maxscape um die gewünschten
Anwendungen herum. Einige davon sind online.
Maxscape.com - Maxscape Communication Server Maxdaemon.org - Maxdaemon HTTP und Applikationsserver Sound-Basement.com - Das Sound Basement Project Profile-Community.com - Profile and Website Publishing Time-Revelation.com - Community Site für öffentliche und private Gruppen Strinx.com - Alte Showcase Community Site Rainer Jacob - Rainer Jacobs geniale Kunstwerke Der Himmel über Berlin - Berliner Himmel zum Sonnenuntergang
Geschichte- Maxscape hat eine ziemlich lange Geschichte, die bis aufs Jahr 1992 zurückreicht. Es wird von Dipl.-Ing. Maximilian Heinzelman, mit der Hilfe doch einiger Leute, bis heute entwickelt und betrieben.
Maxscape kennenlernenUm Maxscape kennenzulernen, wollen Sie vielleicht ein kostenloses, annonymes Konto anlegen. Sie können den 'look and feel' der Webseite einstellen, lernen ein Profil und eine Webseite zu erstellen, mit anderen Mitgliedern gemeinsam an Projekten arbeiten, beim Maxscape Projekt mitmachen und vielleicht Maxscape herunterladen, wenn Sie möchten.
Don't worry be happy, Max
