Up   This page in English.

Das Konzept von SeSAMe und SeL

Einführung
Die Sprache SeL (The SeSAMe Language) wird seit 1998 an der Universität Gesamthochschule Kassel entwickelt. Sie ist besonders als Echtzeit-Filter für Texte geeignet. Damit kann sie z.B. eingesetzt werden, um Quelltexte dynamisch zu modifizieren. SeL wird zur Zeit an verschiedenen Institutionen hauptsächlich im HTML/WWW-Bereich angewendet. Aufgaben in diesem Bereich waren zunächst der Anlaß, SeL zu entwickeln, daher ist die Funktionalität von SeL auch auf das Publizieren um WWW zugeschnitten. Im Prinzip sollte es aber auch möglich sein, andere Quelltexte, insbesondere im Bereich der Dokumenten-Verwaltung mit SeL zu verarbeiten bzw. Quelltexte verschiedener Sprachen sowie deren unterschiedliche Spezifikationen und Standards (HTML, LaTeX, XML, WAP usw.) untereinander zu konvertieren. Besonders nützlich ist SeL als Autorensprache in großen Multi-Autoren WWW-Diensten.

Version 1 von SeSAMe wurde 1998 an der Universität Gesamthochschule Kassel entwickelt. Es ist ein Autoren-Frontend, das auf SeL aufbaut. Die Idee der SeSAMe/SeL-Nutzung an der GhK ist die Bereitstellung von Seiteninhalten durch Autoren, aber die Bereitstellung des Seitenlayouts durch die Presseabteilung: SeL gestattet in diesem einfachen Fall die Trennung von Inhalt und Design. Es ist möglich, weitaus komplexere Trennungen von Dokumenten-Elementen mit SeL zu realisieren, z.B. die separate Behandlung methodischer Dokumenten-Elemente (in Lernumgebungen).

Inhaltsdatei und Masterfile
Die mit SeSAMe durch die Autoren hergestellten Dateien nennen wir *.ghk-Dateien (daran müssen sich andere SeL-Nutzer nicht halten, *.sel wird anderswo vielleicht bevorzugt). Diese Dateien enthalten logisch ausgezeichnete Elemente des Seiteninhalts. In zentral vorgehaltenen "Masterfiles" ist das Verhalten dieser Daten (sprich: der HTML-Aufbau ihrer Präsentation) formuliert.

Bei der Servierung eines Dokuments werden *.sel-Datei und Masterfile hintereinander an den SeL-Interpreter übergegeben. Dieser liest beide Dateien als einen fortlaufenden Text ein und interpretiert den ersten Teil, die *.sel-Datei eines WWW-Autoren als Variablen-Deklarationen für das SeL-Programm, das im Masterfile enthalten ist und einen HTML-Output erzeugt, der dynamisch bei jeder Anfrage durch einen Client erzeugt und abgeschickt wird. Der SeL-Interpreter ist ein Add-On für WWW-Server (getestet wurde bisher nur Apache).

Dynamische Masterfilewahl
Ohne die Angabe näherer Informationen werden Dokumente mit einem Default-Masterfile verarbeitet und modifiziert. Es ist jedoch möglich, mit einem URL-Anhang zwischen mehreren alternativen Masterfiles auszuwählen, etwa um neben HTML-Layouts auch stabile Druckversionen als pdf-Dateien anzubieten. An der GhK wird diese Eigenschaft von SeL dazu genutzt, um zu sämtlichen *.ghk-Dateien dynamisch blindengerechte Versionen herzustellen. Die Liste potentieller Anwendunsmöglichkeiten ist sehr lang.

SeSAMe und SeL im Vergleich zu anderen Lösungen
Es ist schwierig, SeSAMe und SeL mit anderen Technologien zu vergleichen, weil es ein sehr umfassendes Spektrum an Lösungen bereithält. Da es als Meta-Sprache für Dokumenten-Verwaltung entwickelt wurde, ist es gleichzeitig kompatibel zu vielen verbreiteten Standards. Hier nun trotzdem eine kleine Liste von Gegenüberstellungen, die das Anwendungsprofil von SeL illustrieren sollen:
SeL im Vergleich zu HTML:
HTML hat sich im Laufe seiner Geschichte von einer logischen Dokument-Auszeichnung-Sprache zu einer mehr oder weniger brauchbaren Desktop-Publishing-Sprache entwickelt. Ein Problem ist, daß gestalterische und inhaltliche Elemente von WWW-Seiten in HTML vermischt werden. Dies war das Hauptproblem bei einem WWW-Redesign-Projekt an der GhK und schließlich der Grund, SeL zu entwickeln. SeL gestattet die logische Trennung von Inhalt und Design, kann an Clients jedoch weiterhin HTML ausliefern.
SeL im Vergleich zu CSS:
Stylesheets sind der Versuch, trotz der Fehlentwicklung der HTML-Spezifikation nachträglich eine Trennung von Inhalt und Design zu ermöglichen. Dies scheitert in der Praxis oft an Inkompatibilitäten zwischen Browsern und bietet Lesern keine einfache Möglichkeit, das jeweils bevorzugte Verhalten der angeforderten Daten zu bestimmen.
SeL im Vergleich zu XML:
SeL-Dateien sind letzlich ebenso logische Beschreibungen von Dokument-Inhalten wie XML-Dateien. Jedoch wird das Verhalten von XML auf der Client-Seite festgelegt, bei SeL wird es auf der Server-Seite festgelegt. Damit behält die Server-Seite die volle Kontrolle über das Verhalten ihrer Dokumente auf der Client-Seite. Ein Servieren der Dokumente im (alten) HTML-Standard bietet dabei maximale Kompatibilität sowohl für alte Browser als auch für die Unterschiede moderner Browser. Während dieser Teil der SeL-Dokumentation geschrieben wurde, wurde bekannt, daß mit der neuen Version des Internet Explorer (5.5) die Spezifikationen des World Wide Web Consortium für DOM Level 1 und CSS1 nicht oder nur teilweise umgesetzt werden. Dieses Phänomen der Veruneinheitlichung von Standards wird in Zukunft sicherlich nicht verschwinden sondern mit Gewißheit zunehmen. Vor diesem Hintergrund bietet SeL die Möglichkeit, Dokumente in einem logisch ausgezeichneten Klartext zu verwalten, und sie kontextorientiert dynamisch in beliebigen Sprachen und Standards auszuliefern.
SeL im Vergleich zu CGI/Perl:
SeL unterstützt CGI-Funktionalität, die in SeL-code selbst implementiert werden kann. Da SeL sowohl wesentlich schneller ausgeführt wird als Perl und weiterhin wesentlich leichter erlernbar ist, bietet es für einfache Zwecke eine leistungsfähige Alternative zu CGI. Da es weiterhin (basierend auf der Freigabe durch den SeL-Administrator) möglich ist, von SeL aus externe Programme auszuführen, die ihrerseits in beliebigen Sprachen geschrieben sein können, spricht nichts gegen eine Integration von SeL mit anderen Sprachen (wie z.B. Perl).
SeL im Vergleich zu ASP:
Im Umfang seiner Funktionalität ist SeL vielleicht am besten mit ASP zu vergleichen (das war es dann aber auch schon). SeL ist jedoch schneller, kostet nichts und ist zu mehr als nur sich selbst kompatibel (es läuft auch unter WIN32).
Last modified: Mon May 08 17:26:17 MEZ 2000