-
Anwendungsgebiet und Stand
der Technik
-
Die
Erfindung betrifft ein Verfahren zum Ausliefern von Hypermedia-Seiten durch ein
Serversystem mit den Schritten (a) Empfang einer Anforderung eines
Clientsystems zur Übermittlung
einer angeforderten Hypermedia-Seite, (c) Einlesen des Seitenquelltexts
der angeforderten Hypermedia-Seite aus einem mit dem Serversystem
verbundenen Datenspeicher oder Erzeugen des Seitenquelltexts der
angeforderten Hypermedia-Seite durch das Serversystem und (e) Übermittlung
von Informationen über
die eingelesene oder erzeugte angeforderte Hypermedia-Seite an das Clientsystem.
Die Erfindung betrifft weiterhin ein Serversystem mit einem Prozessor,
einem mit dem Prozessor verbundenen Datenspeicher und einer Schnittstelle, über die
das Serversystem mit einem Computernetzwerk mit mindestens einem Clientsystem
verbindbar ist, wobei im Datenspeicher ein Programm abgelegt ist,
welches zur Durchführung
des gattungsgemäßen Verfahrens
auf eine vom Clientsystem gesendete Anfrage bezüglich einer Hypermedia-Seite
ausgebildet ist.
-
Gattungsgemäße Serversysteme,
die zur Durchführung
des gattungsgemäßen Verfahrens
geeignet sind, sowie gattungsgemäße Verfahren
sind aus dem Stand der Technik, beispielsweise aus der
DE 101 28 147 A1 bekannt.
Bei solchen Serversystemen handelt es sich üblicherweise um herkömmliche Industrie-PCs,
die mit einem Intranet oder dem Internet verbunden sind. Auf diesen
PCs läuft
als Programm ein üblicherweise
HTTP-Server-Programm, welches von Clientsystemen stammende Anfragen nach
Hypermedia-Seiten aus dem Intranet oder dem Internet entgegennimmt
und in Reaktion die entsprechenden Hypermedia-Seiten an den anfragenden Rechner
zurücksendet.
Bei den Hypermedia-Seiten handelt es sich üblicherweise um Hypermedia-Seiten gemäß dem HTML-Standard.
Bei den HTTP-Server-Programmen handelt es sich zumeist um eines der
beiden Programme „APACHE" oder „IIS". Die Hypermedia-Seiten,
die von dem Serversystem an den anfragenden Rechner gesendet werden,
sind üblicherweise
Zusammenstellungen von Informationen beliebigen Inhalts. Sie können Texte,
Grafiken, Photos, andere multimediale Inhalte und/oder interaktive Inhalte
enthalten. Die Hypermedia-Seiten können entweder in einem Datenspeicher
des Serversystems abgelegt sein, aus dem sie ohne weitergehende Modifikation
entnommen und an das anfragenden Clientsystem durchgereicht werden,
oder sie können vom
Serversystem dynamisch erzeugt werden, wie es beispielsweise bei
Hypermedia-Seiten üblich
ist, deren Inhalt zumindest zum Teil aus Datenbanken stammt.
-
Die
an das anfragenden Clientsystem zu übermittelnden Hypermedia-Seiten werden in
Form eines Seitenquelltexts übermittelt,
in dem für
verschiedene Elemente der Hypermedia-Seite, beispielsweise Grafiken,
Textblöcke,
interaktive Funktionselemente und ähnliches, jeweils einzelne
Elemente vorgesehen sind, die Parameter aufweisen, aus denen das
anfragende Clientsystem die Gestaltung der Hypermedia-Seite entnehmen
kann und auf Grundlage derer er eine korrekte Darstellung erzeu gen
kann, die üblicherweise
bestimmungsgemäß auf einem
Bildschirm des Clientsystem dargestellt wird.
-
Neben
der Erzeugung der Darstellung auf Basis der in Form des Seitenquelltexts übermittelten Elemente
ist es ebenfalls bekannt, dass Elemente der durch das Clientsystem
darzustellenden Seite erst im Zuge der clientseitigen Ausführung eines
vom Server gesendeten Programmquelltexts erzeugt werden. Dieser
Programmquelltext kann in Form separater Programmdateien auf dem
Server vorliegen und übermittelt
werden oder in Form von Programmblöcken in den Seitenquelltext
der Hypermedia-Seite eingefügt sein.
-
Während des
Aufbaus der Darstellung der Hypermedia-Seite auf dem Clientsystem
oder auch später
kann die Seite durch solche clientseitig ausgeführten Programme eine Modifikation
oder Ergänzung
erfahren. Diese Möglichkeit
wird üblicherweise genutzt,
um auf Informationen, die dem Server nicht vorliegen, für die Darstellung
der Hypermedia-Seite reagieren zu können. So kann es beispielsweise zweckmäßig sein,
im Zuge der clientseitigen Programmausführung die Bildschirmauflösung des
Clientsystems zu ermitteln, um anschließend eine zweckmäßige Anordnung
der visuellen Bestandteile der Hypermedia-Seite dadurch zu gewährleisten, dass
die den Bestandteilen zugrunde liegenden Elemente nach vollständiger Übertragung
des Seitenquelltexts vom Serversystem an das Clientsystem clientseitig
in den empfangenen Seitenquelltext der Hypermedia-Seite eingefügt werden.
-
Es
ist weiterhin bekannt und auf der Internetseite http://msdn.microsoft.com/workshop/author/dhtml/overview/activating_activex.asp
beschrieben, Elemente des Seitenquelltexts von Hypermedia-Seiten
durch derartigen clientseitig auszuführenden Programmquelltext zu
erzeugen statt durch unmittelbare Übermittlung der Elemente im
Zuge der Auslieferung des Seitenquelltexts der Hypermedia-Seite,
um den nachfolgenden Nachteil zu umgehen: Bestimmte Typen von Bestandteilen
der Hypermedia-Seite, insbesondere interaktive Steuerelemente, bedürfen vor
Verwendung einer Aktivierung durch den Benutzer, sofern die diesen
Bestandteilen zugrunde liegenden Elemente des Seitenquelltexts der
Hypermedia-Seite unmittelbar und ohne Erzeugung durch clientseitige
Programmausführung
geliefert werden. Es stellt daher ein bekanntes Vorgehen dar, die
entsprechenden Elemente des Seitenquelltexts in einen entsprechenden
Programmquelltext einzufügen,
der im Zuge der Anfrage des Clientsystems an dieses ausgeliefert
wird.
-
Als
nachteilig an dieser Technik wird angesehen, dass eine unmittelbare
Bearbeitung des Seitenquelltexts, der in Form von Anweisungen des
Programmquelltexts vorliegt, unübersichtlich
und schwierig ist. Zwar sind aus dem Stand der Technik Programme
bekannt, die eine automatische Konvertierung des Seitenquellstexts
einer Hypermedia-Seite in entsprechende Programmdateien oder Seitenquelltext
mit eingebetteten Programmblöcken
automatisch durchführen,
diese Programme machen es jedoch erforderlich, nach jeder Änderung
des Seitenquelltexts der Hypermedia-Seite den entsprechenden Programmquelltext
der Programmdatei oder der Programmblöcke mittels dieser Programme
neu zu erzeugen. Dies ist kompliziert und in der Praxis schwer zu
handhaben.
-
Aufgabe und Lösung
-
Aufgabe
der Erfindung ist es, ein Verfahren sowie ein nach dem Verfahren
arbeitendes Serversystem zur Verfügung zu stellen, die es gestatten, dass
Elemente des Quelltexts der Hypermedia-Seite auf dem Clientsystem
als clientseitig auszuführender Programmquelltext
vorliegen, ohne dass die entsprechenden Befehle von einem Ersteller
der Seite selbst zur Verfügung
gestellt werden müssen.
-
Die
Aufgabe wird durch ein gattungsgemäßes Verfahren gelöst mit einem
Schritt (d) Erzeugen eines Programmquelltexts, der bei clientseitiger
Ausführung
geeignet ist, zumindest einen Teil der Elemente des Seitenquelltexts
der angeforderten Hypermedia-Seite clientseitig zu erzeugen, und
Einfügen des
Programmquelltexts in die zu übermittelnden
Informationen über
die angeforderte Hypermedia-Seite, wobei Schritt (d) nach Schritt
(c) und vor Schritt (e) durchgeführt
wird.
-
Wie
oben schon erläutert,
dient ein gattungsgemäßes Verfahren
der Auslieferung von Hypermedia-Seiten durch ein Serversystem an
ein Clientsystem, wobei das Clientsystem den Übermittlungsvorgang durch eine
Anforderung, die üblicherweise durch
einen Benutzer initiiert ist, anstößt. Das Serversystem und das
Clientsystem sind dabei vorzugsweise handelsübliche Rechner, auf denen jeweils
die erforderlichen Programme ablaufen. Dies ist für das Serversystem
ein entsprechendes Serverprogramm und für das Clientsystem ein Abfrage-
und Darstellungsprogramm, welches üblicherweise als „Browser" bezeichnet wird.
Die Hypermedia-Seiten sind Dokumente, die verschiedene Bestandteile
aufweisen können,
welche üblicherweise
zur gemeinsamen Darstellung vorgesehen sind. Diese Bestandteile
umfassen in erster Linie Texte, Bilder und Grafiken, die sich klassischerweise
mit einem gemeinsamen inhaltlichen Thema beschäftigen. Hinzu können noch multimediale
und/oder interaktive Bestandteile kommen, beispielsweise Video-
und Audiosequenzen sowie Bestandteile, die auf Eingaben eines Betrachters der
Hypermedia-Seite audiovisuell reagieren können, beispielsweise Spiele
und Bedienpaneele zur Datenabfrage und Datenmanipulation. Grundlage der
Hypermedia-Seite ist ein Seitenquelltext, der aus einer Vielzahl
von Elementen zusammengesetzt sein kann. Der Seitenquelltext und
dessen Elemente bieten dem Clientsystem die erforderlichen Informationen über die
darzustellenden Bestandteile der Hypermedia-Seite. Die Informationen der einzelnen
Elemente können
sowohl in den unmittelbar darzustellenden Inhalten der Bestandteile
der Hypermedia- Seite
bestehen oder auch eine Referenzierung umfassen, die das Clientsystem
veranlasst, die entsprechenden Bestandteile in einem separaten Vorgang
vom gleichen Serversystem oder von einem anderen Serversystem gezielt
anzufordern und nach Erhalt gemeinsam mit den schon zuvor erhaltenen Bestandteilen
darzustellen.
-
Weit überwiegend
ist der Seitenquelltext von Hypermedia-Seiten heutzutage nach dem
HTML- oder XHTML-Standard formuliert, der sich insbesondere aufgrund
der Verwendung im World-Wide-Web des Internets durchgesetzt hat.
Auch bei dem erfindungsgemäßen Verfahren
wird die Verwendung von Seitenquelltext gemäß dem HTML- oder XHTML-Standard als bevorzugt
angesehen.
-
Der
Seitenquelltext der Hypermedia-Seite liegt bei sogenannten statischen
Seiten vorbereitet im Datenspeicher des Serversystems oder einem
mit dem Serversystem verbundenen Datenspeicher vor. Vorzugsweise
bildet dabei jede auf dem Serversystem vorgehaltene statische Hypermedia-Seite
eine einzelne Datei in einem Dateisystem eines Massenspeichers des
Serversystems. Bei Hypermedia-Seiten, deren Bestandteile beispielsweise
aus Datenbanken stammen und/oder kurzfristigen Änderungen unterliegen, erfolgt
die Erzeugung des Seitenquelltexts der Hypermedia-Seiten erst nach
Empfangen der Anforderung des Clientsystems. Solche Hypermedia-Seiten
werden als serverseitig-dynamisch
bezeichnet. Die Elemente der so vom Serversystem aus dem Datenspeicher
geladenen oder erzeugten aufgerufenen Hypermedia-Seite werden an das Clientsystem weitergegeben,
womit die Auslieferung beendet ist. Die Informationen werden vom
Clientsystem verwendet, um anhand der Elemente des Seitenquelltexts
der Hypermedia-Seite
die Hypermedia-Seite mit ihren Bestandteilen darstellen zu können.
-
Gemäß dem erfindungsgemäßen Verfahren sind
die Informationen über
die aufgerufene Hypermedia-Seite, die an das Clientsystem übermittelt werden,
bezüglich
ihrer Form nicht identisch mit dem Seitenquelltext, der in Schritt
(c) durch Einlesen oder dynamische Erzeugung zur Verfügung gestellt
wird. Stattdessen handelt es sich bei den Informationen des Schritts
(e) um eine modifizierte Fassung des Seitenquelltexts, der gemäß Schritt
(d) um einen Programmquelltext ergänzt wurde, oder um eine im Schritt
(d) durchgeführte
vollständige
Umwandlung des Seitenquelltexts in eine Programmdatei, die statt des
Seitenquelltexts die Informationen im Sinne des Schritts (e) darstellt.
-
Dieser
Programmquelltext, der in Schritt (e) entweder als Programmblock
eines Seitenquelltexts oder als Programmdatei an das Clientsystem übertragen
wird, ist so geartet, dass er bei Programmausführung auf dem Clientsystem
in den Seitenquelltext Elemente einfügt, die zuvor in Schritt (d)
des Verfahrens aus dem Seitenquelltext entfernt wurden. Auf dem
Clientsystem wird zur Darstellung der Hypermedia-Seite also ein
clientseitiger Seitenquelltext herangezogen, der sich zum einen
aus den Elementen des Seitenquelltexts speist, der in Schritt (e)
an das Clientsystem übertragen
wurde, und der sich zum anderen aus Elementen speist, die durch
Ausführung
des Programmquelltexts clientseitig nach den Übertragung in den Seitenquelltext
eingefügt
wurden. Der sich ergebende clientseitig modifizierte Seitenquelltext
stimmt mit dem Seitenquelltext vor Durchführung des Schritts (d) auf
dem Serversystem zumindest insoweit überein, als dass er die gleichen
Elemente zur Darstellung von Bestandteilen der Hypermedia-Seite aufweist.
-
Der
Programmquelltext ist vorzugsweise gemäß einer auf ECMA-Skript ausgebildet,
wobei bevorzugt JavaScript oder JScript Anwendung findet. Alternativ
hierzu sind jedoch auch andere interpretierte Sprachen möglich, beispielsweise
Visual Basic. Die entsprechenden Befehle zur Einfügung von
Elementen in den Seitenquelltext umfassen insbesondere die Javascript-Methode „document.write", welche während der
Abarbeitung des Seitenquelltexts im Zuge der Darstellung zur Einfügung von
Seitenquelltext gemäß dem Argument
der Methode „document.write" an der aktuellen
Abarbeitungsposition im Seitenquelltext führt, sowie eine Veränderung
des in Javascript vorgesehenen „document['elementname'].innerHTML"-Attributs, durch welches Zugriff auf den
gesamten Seitenquelltext der HTML-Seite möglich ist.
-
Die
in Schritt (d) stattfindende Substituierung von Elementen des ursprünglichen
Seitenquelltexts, der durch Schritt (c) zur Verfügung gestellt wird, durch Programmquelltext,
welcher bei clientseitiger Ausführung
die substituierten Elemente clientseitig in den Seitenquelltext
wieder einfügt,
stellt einen Vorteil gegenüber
der unmittelbaren Übertragung
ohne vorherige Entfernung der betreffende Elemente aus dem ursprünglichen
Seitenquelltext und ohne Hinzufügung
von Programmquelltext in Schritt (d) dar, da die clientseitige Verarbeitung
von unmittelbar vom Server ausgelieferten Elementen einerseits und
mittelbar in Form von Programmquelltext ausgelieferten Elementen
andererseits sich voneinander unterscheidet: Dies gilt insbesondere
für Elemente
des Seitenquelltexts, die sich auf so genannte ActiveX-Bestandteile
der Hypermedia-Seite beziehen. Bei diesen Elementen führt eine
unmittelbare Auslieferung dazu, dass der Bediener am Clientsystem
die dargestellten Bestandteile, auf die sich die betreffenden Elemente
beziehen, vor Benutzung aktivieren muss. Dieser Schritt der Aktivierung,
der unbequem ist und eine Verzögerung
der Nutzbarkeit der Hypermedia-Seite darstellt, kann entfallen,
wenn die betreffenden Elemente nicht unmittelbar ausgeliefert werden,
sondern erst bei clientseitiger Ausführung des Programmquelltexts
erzeugt werden.
-
Für einen
Ersteller oder einen Anbieter einer Hypermedia-Seite ist das beschriebenen
Verfahren vorteilhaft, da er dem Benutzer eine unmittelbare Bedienbarkeit
der ActiveX-Bestandteile bieten kann, ohne dass er hierfür bei der
Erstellung der Hypermedia-Seite besondere Maßnahmen ergreifen muss. Die
Hypermedia-Seite wird in üblicher
Form beispielsweise im Datenspeicher des Serversystems abgelegt
und erfährt
die Modifikation in Hinblick auf die Ergänzung um clientseitig auszuführenden
Programmcode automatisch im Zuge der Auslieferung der Seite.
-
Das
Verfahren kann zur Reduzierung des erforderlichen Umwandlungsaufwandes
des Schritts (d) vorsehen, dass serverseitig modifizierter Quelltext
im Serversystem gespeichert wird und bei nachfolgenden Anforderungen
von Clientsystemen vor der Umwandlung im Schritt (d) geprüft wird,
ob bereits ein serverseitig modifizierter Seitenquelltext der angeforderten
Hypermedia-Seite im Serversystem vorliegt. Wenn dies gegeben ist,
kann diese gespeicherte Version für die weiteren Verfahrensschritte verwendet
werden statt eine erneute Modifikation durchzuführen.
-
Bei
einer Weiterbildung des Verfahrens weist das Verfahren zwei Schritte
auf: (b1) Übermitteln
des Seitenquelltexts einer generischen Hypermedia-Seite an das Clientsystem,
wobei der Seitenquelltext der generischen Hypermedia-Seite ein Inkludierungselement
enthält,
das auf eine für
die angeforderte Hypermedia-Seite spezifische Programmdatei gerichtet
ist, und (b2) Empfangen einer Anforderung des Clientsystems zur Übermittlung
der für
die angeforderte Hypermedia-Seite spezifischen Programmdatei, wobei
die Schritte (b1) und (b2) nach Schritt (a) und vor Schritt (e)
durchgeführt
werden und in Schritt (d) die für
die angeforderte Hypermedia-Seite spezifische Programmdatei erzeugt
wird und in Schritt (e) an das Clientsystem übertragen wird.
-
Gemäß dieser
Weiterbildung ist das Verfahren derart ausgebildet, dass die Übermittlung
von Informationen vom Serversystem an das Clientsystem in Reaktion
auf die Anforderung des Clientsystems des Schritts (a) in zwei Schritten
erfolgt: Auf die Anforderung, die vom Serversystem im Schritt (a)
empfangen wird, wird vom Serversystem im Zuge des Schrittes (b1)
eine generische Hypermedia-Seite an das Clientsystem geliefert.
Unter einer generischen Hypermedia-Seite wird eine Hypermedia-Seite verstanden,
die bezüglich
ihrer Bestandteile weitgehend oder vollständig unabhängig davon ist, welche Hypermedia-Seite
durch das Clientsystem angefordert wurde. Der Seitenquelltext dieser
generischen Hypermedia-Seite umfasst ein Inkludierungselement, welches
das Clientsystem nach Empfang des Seitenquelltexts dieser generischen
Hypermedia-Seite zu einer zweiten Anforderung an das Serversystem
veranlasst, um die im Inkludierungselement genannte und für die angeforderte
Hypermedia-Seite spezifische Programmdatei zu erhalten. Diese Programmdatei
wird in Schritt (d) des Verfahrens erzeugt und nach Empfang der
entsprechenden Anforderung des Clientsystems gemäß Schritt (b2) an das Clientsystem
gemäß Schritt
(e) übertragen.
-
Die
Weiterbildung des Verfahrens mit den Schritten (b1) und (b2) hat
mehrere Vorteile. Zum einen ist von Vorteil, dass die Programmdatei,
die für die
angeforderte Hypermedia-Seite spezifisch ist, einen reinen Programmquelltext
ohne Seitenquelltext der Hypermedia-Seite enthält. Die Programmdatei ist daher
leichter zu lesen und Fehler sind leichter zu finden. Ein weiterer
Vorteil liegt darin, dass das oben erwähnte Problem der erforderlichen
Aktivierung von ActiveX-Bestandteilen bei der Verwendung einer separaten
Programmdatei besonders gut gelöst
werden kann. Im Falle der Verwendung einer separaten Programmdatei
entfällt
die erforderliche Aktivierung stets für die durch den Programmquelltext
der externen Programmdatei erzeugten Elemente des Seitenquelltexts
der Hypermedia-Seite. Im Falle eines Seitenquelltexts, in den der
Programmquelltext als Programmblock eingefügt ist, sind spezielle Restriktionen
einzuhalten, damit dieses Ziel erfüllt wird.
-
Die
chronologische Einordnung der Schritte (b1) und (b2) zwischen den
Schritten (a) und (e) ist nicht dabei nicht zwingend vorgegeben.
-
Denkbar
sind mehrere Ausgestaltungen, zum Beispiel eine erste Ausgestaltung,
bei der die Schritte (b1) und (b2) erst nach der Durchführung der Schritte
(a), (c) und (d) erfolgt. Bei dieser Ausgestaltung wird in Reaktion
auf die Anforderung des Clientsystems, die im Schritt (a) vom Serversystem
empfangen wird, im Schritt (c) und (d) die für die aufgerufene Hypermedia-Seite
spezifische Programmdatei erzeugt. Diese Programmdatei wird allerdings
nicht unmittelbar an das Clientsystem übermittelt, sondern stattdessen
in einem Pufferspeicher abgelegt. Erst nach Abschluss des Schritts
(d) erfolgt dann im Schritt (b1) die Übermittlung des Seitenquelltexts
der generischen Hypermedia-Seite, die ihrerseits das Clientsystem
im Schritt (b2) zur Anforderung der gepufferten Programmdatei veranlasst.
-
Bei
einer zweiten Ausgestaltung erfolgt die Abarbeitung der Schritte
(b1) und (b2) nach Schritt (a) und vor Schritt (c). Bei dieser Ausgestaltung
wird also unmittelbar nach der Anforderung des Clientsystems zur Übermittlung
der aufgerufenen Hypermedia-Seite die generische Hypermedia-Seite
anstelle der aufgerufenen Hypermedia-Seite an das Clientsystem übermittelt.
Ein Einlesen oder Erzeugen der tatsächlich aufgerufenen Hypermedia-Seite
ist bis zu diesem Zeitpunkt nicht erforderlich. Erst wenn in Reaktion
auf die generische Hypermedia-Seite die Anforderung des Clientsystems
gemäß Schritt
(b2) empfangen wird, wird vom Serversystem im Schritt (c) der Seitenquelltext
der tatsächlich
aufgerufenen Hypermedia-Seite eingelesen oder erzeugt sowie im Schritt
(d) die Programmdatei erzeugt und im Schritt (e) übermittelt.
-
Bei
einer darauf aufbauenden Weiterbildung der Erfindung umfasst das
Inkludierungselement eine für
die Hypermedia-Seite spezifische Referenzierung.
-
Die
Referenzierung wird bei der Durchführung des Schritts (b1) in
den Quelltext der generischen Hypermedia-Seite eingefügt. Das
Serversystem kann nach Erhalt der Anforderung des Schritts (b2)
durch diese Referenzierung erkennen, auf welche angeforderte Hypermedia-Seite
sich das Inkludierungselement bezieht. Hierdurch entfällt die
Notwendigkeit, in einem Pufferspeicher des Serversystems zu speichern,
bezüglich
welcher angeforderten Hypermedia-Seiten von welchem Client bereits
eine generische Hypermedia-Seite ausgeliefert wurde, um zu erkennen,
auf die Programmdatei welcher angeforderten Hypermedia-Seite sich
die Anforderung gemäß Schritt
(b2) bezieht. Stattdessen kann das Serversystem nach Abarbeitung
des Schritts (b1) wieder in einen Grundzustand zurückkehren
und braucht keine Informationen zwischenzuspeichern. Die für die nachfolgenden
Schritte (c), (d) und (e) erforderliche Information darüber, welche
Hypermedia-Seite angefordert wurde, entnimmt das Serversystem der
Anfrage des Schritts (b2).
-
Die
Referenzierung im Inkludierungselement des Seitenquelltexts der
generischen Hypermedia-Seite entspricht im einfachsten Fall dem
Namen der angeforderten Hypermedia-Seite oder ist von diesem abgeleitet.
Alternativ denkbar sind jedoch auch eindeutige Identifikationscodes,
die serverseitig einer bestimmten angeforderten Hypermedia-Seite
oder einem erzeugten Quelltext einer bestimmten Hypermedia-Seite
zugeordnet und fallweise generiert werden. Die Verwendung von derartigen
fallweise generierten Identifikationscodes ist besonders bei serverseitig-dynamisch erzeugten
angeforderten Hypermedia-Seiten zweckmäßig, da bei diesen der Name
der Hypermedia-Seite an sich häufig
nicht alle erforderlichen Informationen umfasst, da serverseitig-dynamisch
erzeugte Hypermedia-Seiten häufig
zur Darstellung von Bestandteilen in Abhängigkeit von Parametern ausgebildet
sind, die selbst nicht Teil des Namens der Hypermedia-Seite sind.
-
Bei
einer Weiterbildung der Erfindung wird in Schritt (d) nur zu Elementen
des Seitenquelltexts der angeforderten Hypermedia-Seite Programmquelltext erzeugt,
die zu einer Gruppe von festgelegten Typen gehören.
-
Gemäß dieser
Weiterbildung wird in Schritt (d) bei der Analyse des Seitenquelltexts
der aufgerufenen Hypermedia-Seite, der in Schritt (c) eingelesen oder
erzeugt wurde, jedes einzelne Element dahingehend untersucht, ob
es zu der Gruppe der Elementtypen gehört, die clientseitig durch
die Ausführung
des Programmquelltexts erzeugt werden sollen und die deshalb im
Seitenquelltext serverseitig zu modifizieren sind. Gehören Elemente
des Seitenquelltexts nicht zu diesen Elementtypen, so wird der Seitenquelltext
bei dem Verfahren gemäß dieser Weiterbildung
bezüglich
dieser Element serverseitig nicht modifiziert. Der Vorteil liegt
darin, dass nur für ausgewählte Elemente,
bezüglich
derer die Erzeugung im Zuge clientseitiger Programmausführung für erforderlich
gehalten wird, ein entsprechender Programmquelltext erzeugt wird.
Die übrigen
Elemente bleiben unverändert
und werden somit unmittelbar als Elemente des Seitenquelltexts an
das Clientsystem übertragen
und durch dieses dargestellt. Bei Clientsystemen, die die clientseitige
Programmausführung
unterbinden, ist somit gewährleistet,
dass trotzdem jene Bestandteile der Hypermedia-Seite dargestellt
werden, deren Elemente im Seitenquelltext der Hypermedia-Seite in
Schritt (d) nicht modifiziert wurden.
-
Die
Gruppe der festgelegten Typen, zu denen Programmquelltext erzeugt
wird, umfasst vorzugsweise mindestens die Typen „OBJECT", „APPLET" und „EMBED".
-
Diese
Elementtypen des HTML-Standards beschreiben Bestandteile der Hypermedia-Seite,
bei denen eine Aktivierung erforderlich ist, wenn die Elemente nicht
in Form von Programmquelltext clientseitig erzeugt wer den. Daher
ist eine entsprechende Umwandlung in Schritt (d) gerade bei diesen
Typen besonders zweckmäßig.
-
Die
Erfindung umfasst darüber
hinaus ein gattungsgemäßes Serversystem,
bei dem das Programm zu Durchführung
des oben beschriebenen erfindungsgemäßen Verfahrens ausgebildet
ist.
-
Bei
einem solchen Serversystem handelt es sich vorzugsweise um einen
handelsüblichen
Industrie-PC, der über
eine Netzwerkschnittstelle, insbesondere eine Ethernet-Schnittstelle,
mit einem Intranet oder dem Internet verbunden ist. Bei dem Programm
handelt es sich vorzugsweise um eine der gängigen HTTP-Server-Lösungen wie „APACHE" oder „IIS". Diese beiden Programme
bieten unkomplizierte Lösungen,
um durch anforderungsspezifische Funktionen wie eine Funktion zur
Durchführung
des erfindungsgemäßen Schritts
(d) sowie der Schritte (b1) und (b2) ergänzt zu werden. Diese zusätzlichen Funktionen
werden vorzugsweise in Form von Zusatzkomponenten in das Programm
eingefügt,
wobei es sich bei den Zusatzkomponenten um kompilierte Module oder
interpretierbare Skripte handeln kann.
-
Die
Erfindung bezieht sich darüber
hinaus auf ein Computerprogrammprodukt mit einem auf einem maschinenlesbaren
Datenträger
gespeicherten Programmcode zur Durchführung des oben beschriebenen
erfindungsgemäßen Verfahrens,
wenn das Programmprodukt auf einem Rechner abläuft.
-
Der
Programmcode liegt dabei vorzugsweise als ausführbare Datei, beispielsweise
als kompiliertes Programm oder als Programmbibliothek, zur Ergänzung eines
bestehenden HTTP-Server-Programms oder als entsprechender Quelltext
auf dem Datenträger
vor. Bei alternativen Ausführungsformen liegt
der Programmcode als Skript zur Ausführung in einem Interpreter,
beispielsweise einem ASP- oder PHP-Interpreter, auf dem Datenträger vor.
-
Kurzbeschreibung der Zeichnungen
-
Weitere
Vorteile und Merkmale der Erfindung ergeben sich aus den Ansprüchen sowie
der nachfolgenden Beschreibung von bevorzugten Ausführungsbeispielen
der Erfindung, die anhand der Zeichnungen dargestellt sind. Dabei
zeigen:
-
1 einen
Seitenquelltext einer Hypermedia-Seite, der in einem Datenspeicher
eines Serversystems abgelegt ist,
-
2a einen
Verfahrensablauf eines Verfahrens zum Ausliefern von angeforderten
Hypermedia-Seiten, wobei dieses Verfahren dem Stand der Technik
entstammt,
-
2b einen
auf dem Seitenquelltext der 1 basierenden
clientseitig modifizierten Seitenquelltext, der im Zuge des Verfahrensablaufs
der 2a erzeugt wird,
-
3a einen
Verfahrensablauf eines ersten Ausführungsbeispiels des erfindungsgemäßen Verfahrens
als Flussdiagramm,
-
3b eine
erste Variante eines auf dem Seitenquelltext der 1 basierenden
und serverseitig modifizierten Seitenquelltexts gemäß dem Verfahrensablauf
der 3a,
-
3c einen
clientseitig modifizierten Seitenquelltext, der auf dem serverseitig
modifizierten Seitenquelltext der 3b basiert,
-
3d eine
zweite Variante eines auf dem Seitenquelltext der 1 basierenden
und serverseitig modifizierten Seitenquelltexts gemäß dem Verfahrensablauf
der 3a,
-
3e einen
clientseitig modifizierten Seitenquelltext, der auf dem serverseitig
modifizierten Seitenquelltext der 3d basiert,
-
3f eine
dritte Variante eines auf dem Seitenquelltext der 1 basierenden
und serverseitig modifizierten Seitenquelltexts gemäß dem Verfahrensablauf
der 3a,
-
3g einen
clientseitig modifizierten Seitenquelltext, der auf dem serverseitig
modifizierten Seitenquelltext der 3f basiert,
-
4a und 4b Verfahrensabläufe eines zweiten
und eines dritten Ausführungsbeispiels
des erfindungsgemäßen Verfahrens
als Flussdiagramme,
-
4c einen
serverseitig erzeugter Seitenquelltext einer generischen Hypermedia-Seite,
der im Zuge des Verfahrensablaufs der 4a und 4b an
das Clientsystem übermittelt
wird,
-
4d eine
auf dem Seitenquelltext der 1 basierende
serverseitig erzeugte Programmdatei zur Übermittlung an das Clientsystem
im Zuge des Verfahrensablaufs der 4a und 4b und
-
4e einen
clientseitig modifizierten Seitenquelltext, der auf dem serverseitig
erzeugten Seitenquelltext der 4c und
der serverseitig erzeugten Programmdatei der 4d basiert.
-
Detaillierte Beschreibung
der Ausführungsbeispiele
-
Die
Zeichnungen zeigen insgesamt vier Verfahrensabläufe in den 2a, 3a, 4a und 4b,
wobei der Verfahrensablauf der 2a dem Stand
der Technik entspricht.
-
Die
Verfahrensabläufe
illustrieren jeweils ausgehend von dem serverseitig vorliegenden
Ausgangsseitenquelltext der 1 die erforderlichen Verfahrensschritte
bis zur Darstellung der durch den Ausgangsseitenquelltext der 1 beschriebenen Hypermedia-Seite
mit ihren jeweiligen Bestandteilen auf einem Clientsystem.
-
In
den Ablaufdiagrammen der 2a, 3a, 4a und 4b sind
Ablaufschritte, die serverseitig ausgeführt werden, mittels doppelt
umrandeter Kästen
dargestellt und Ablaufschritte, die clientseitig ausgeführt werden,
mittels einfach und fett umrandeter Kästen dargestellt.
-
Die 1 zeigt
den für
alle Ausführungsbeispiele
maßgeblichen
Ausgangsseitenquelltext einer Hypermedia-Seite mit dem Namen „page.html", die im HTML-Standard
vorliegt. Der Quelltext weist insgesamt sechs Zeilen A-01 bis A-06
auf, wobei die Zeilen A-01, A-02, A-05 und A-06 lediglich HTML-Strukturelemente
beinhalten, die keine unmittelbaren Auswirkungen auf die Darstellung
der Seite haben.
-
Die
anderen beiden Zeilen A-03, A-04 weisen Elemente auf, die unmittelbar
Einfluss auf die Darstellung der Hypermedia-Seite haben. Die Zeile A-03
enthält
ein „EMBED"-Element, welches
geeignet ist, das Clientsystem zur Einfügung einer Multimedia-Komponente
namens „embedded.swf" auf der darzustellenden
Hypermedia-Seite zu veranlassen. Die Zeile A-04 umfasst ein „P"-Element, welches
die Darstellung eines Textblockes bezweckt, der sich im Ausgangsseitenquelltext
in der Zeile A-04 zwischen dem öffnenden
Bestandteil <P> des „P"-Element und dem
schließenden
Bestandteil </P> des „P"-Element befindet.
-
Dieser
Ausgangsseitenquelltext der 1 ist auf
einem Massenspeicher des Serversystems als Datei „page.html" abgelegt.
-
Die 2A stellt
den gemäß dem Stand
der Technik üblichen
Weg der Auslieferung des in 1 dargestellten
Seitenquelltexts an das Clientsystem dar.
-
Der
Auslieferungsvorgang wird durch einen Ablaufschritt 10 ausgelöst, in dem
das Clientsystem eine Anforderung an das Serversystem schickt, eine den
Seitenquelltext einer HTML-Seite an das Clientsystem zurückzuschicken.
Auf welche Seite sich die Anforderung bezieht, wird dabei von dem
Clientsystem im Rahmen seiner Anforderung gekennzeichnet. Beim vorliegend
beispielhaft illustrierten Fall handelt es sich um die Seite „page.html", deren Seitenquelltext
in der 1 dargestellt ist. Die Anforderung wird in Form
eines so genannten HTTP-Requests über ein Netzwerk, welches auf
TCP/IP-Basis arbeitet, an den Server übermittelt.
-
Im
Ablaufschritt 20 empfängt
der Server die Anforderung des Clientsystems, wodurch die serverseitige
Bearbeitung initiiert wird. Der Ablaufschritt 20 entspricht
dem Verfahrensschritt (a) des gattungsgemäßen Verfahrens.
-
Im
darauf folgenden Ablaufschritt 30, der die Teilschritte 30, 31, 32 umfasst,
wird serverseitig der vom Clientsystem angefragte Seitenquelltext
zur Verfügung
gestellt. Dies kann etwa – wie
vorliegend beim Seitenquelltext der 1 – durch
Auslesen des Seitenquelltexts aus dem Datenspeicher des Servers
im Zuge der Abarbeitung des Ablaufschrittes 32 erfolgen.
Alternativ dazu kann der Seitenquelltext jedoch auch serverseitig-dynamisch
erzeugt werden, wie es beispielsweise bei Hypermedia- Seiten erforderlich ist,
in die Daten aus einer Datenbank eingefügt werden sollen. Diese serverseitig-dynamische
Erzeugung des Seitenquelltexts geschieht im Ablaufschritt 33.
Den Ablaufschritten 32, 33 vorgeschaltet ist ein Ablaufschritt 31,
in dem geprüft
wird, ob der vom Clientsystem angeforderte Seitenquelltext der angeforderten
Hypermedia-Seite
statisch vorliegt und somit im Zuge des Ablaufschritts 32 ausgelesen
werden kann oder ob der Seitenquelltext im Ablaufschritt 33 dynamisch
zu erzeugen ist. Der Ablaufschritt 30, der die Ablaufschritte 31, 32, 33 umfasst,
entspricht dem Verfahrensschritt (c) des gattungsgemäßen Verfahrens.
-
Nachdem
im Ablaufschritt 30 der Seitenquelltext der angeforderten
Hypermedia-Seite zur Verfügung
gestellt worden ist, wird dieser im Zuge eines sich anschließenden Ablaufschrittes 40 an
das Clientsystem übermittelt.
Hierbei erfolgt keine Modifizierung des Seitenquelltexts. Der Seitenquelltext wird
in der aus dem Ablaufschritt 30 hervorgehenden Form unmittelbar
an das Clientsystem übermittelt.
Im vorliegenden Fall, in dem der Seitenquelltext der 1 im
Ablaufschritt 10 angefordert wurde, ist der Seitenquelltext
der 1 in unveränderter
Form Gegenstand der in Ablaufschritt 40 stattfindenden Übermittlung
an das Clientsystem. Der Ablaufschritt 40 entspricht dem
Verfahrensschritt (e) des gattungsgemäßen Verfahrens.
-
In
Ablaufschritt 50 wird der Seitenquelltext der angeforderten
Hypermedia-Seite vom Clientsystem empfangen.
-
Der
empfangene Seitenquelltext wird in einem darauf folgenden Ablaufschritt 60 für die Darstellung
vorbereitet. 2b zeigt den im Zuge der Vorbereitung
clientseitig modifizierten Seitenquelltext. Dieser unterscheidet
sich von dem ursprünglichen Seitenquelltext
der 1 nur dadurch, dass das Clientsystem mit der Zeile
B-02 noch einige Struktur elemente einfügt hat. Inhaltlich ist der
clientseitig modifizierte Quelltext mit dem ursprünglichen
Quelltext der 1 ansonsten identisch.
-
Dieser
clientseitig modifizierte Seitenquelltext wird anschließend im
Ablaufschritt 70 für
die Darstellung durch das Clientsystem herangezogen.
-
Die
Ablaufschritte 60 und 70 sind beim dargestellten
und beschriebenen Verfahrensablauf gemäß dem Stand der Technik nur
der Übersichtlichkeit wegen
getrennt. Bei den meisten „Browser"-Programmen erfolgt
die Darstellung zeitgleich mit der Vorbereitung. Das „Browser"-Programm stellt
dabei Bestandteile, auf die sich schon vorbereitete Elemente des
Seitenquelltexts beziehen, bereits dar, bevor die Vorbereitung des
gesamten Seitenquelltexts abgeschlossen ist.
-
Die 3a zeigt
ein erstes Ausführungsbeispiel
des erfindungsgemäßen Verfahrens,
wobei dieses ebenfalls in Form eines Flussdiagramms dargestellt
ist. Die Ablaufschritte 110, 120, 130, 131, 132 und 133 entsprechen
vollständig
den korrespondierenden Verfahrensschritten des Verfahrensablaufs der 2a,
der aus dem Stand der Technik bekannt ist. Der durch den Ablaufschritt 130 zur
Verfügung gestellte
Seitenquelltext der angeforderten Hypermedia-Seite ist wiederum
der Ausgangsseitenquelltext der 1.
-
Dieser
Ausgangsseitenquelltext wird in einem Ablaufschritt 135,
der vor der Übermittlung
des Quelltexts der angeforderten Hypermedia-Seite im Zuge des Ablaufsschritts 140 durchgeführt wird,
in einen serverseitig modifizierten Quelltext umgeformt. Der Ablaufschritt 135 entspricht
dem Verfahrensschritt (d) des erfindungsgemäßen Verfahrens. Das Ergebnis
dieser serverseitigen Modifizierung ist dem Seitenquelltext der 3b zu
entnehmen. Dieser unterscheidet sich vom Ausgangsseitenquelltext
der 1 dadurch, dass mit der Zeile C-02 ein erster
Javascript-Programmblock
eingefügt
ist, der eine Funktion „writeHTML" beinhaltet, deren
Zweck es ist, an die Funktion als Parameter übergebene Elemente per „document.write"-Methode clientseitig
in den Seitenquelltext einzufügen.
Mit den Zeilen C-03 bis C-08 ist ein zweiter Programmblock eingefügt, in dem
für jede
der Zeilen A-02 bis A-05 des Ausgangsseitenquelltexts der 1 ein
Funktionsaufruf der Funktion „writeHTML" eingefügt ist,
dessen Parameter – in 3b fett
dargestellt – jeweils
einer Zeile A-02 bis A-05 des Ausgangsseitenquelltexts der 1 entspricht.
Die beiden Programmblöcke
C-02 und C-03 bis C-08 ersetzen die Zeilen A-02 bis A-05 des Ausgangsseitenquelltexts.
-
Dieser
serverseitig modifizierte Quelltext der 3b wird
im Ablaufschritt 140 an das Clientsystem übermittelt.
Das Clientsystem empfängt
den Quelltext der 3b im Ablaufschritt 150.
-
Anschließend wird
im Ablaufschritt 160 durch das Clientsystems eine Vorbereitung
des empfangenen Quelltexts der 3b durchgeführt, im Zuge
derer die Programmquelltextteile der Zeilen C-02 bis C-08 von einem
Javascript-Interpreter ausgeführt
werden. Im einzelnen wird bei der Vorbereitung durch den Javascript-Interpreter
im Zuge der Zeilen C-04 bis C-07 jeweils die Funktion der Zeile C-02
ausgeführt,
die die entsprechenden Elemente, die Parameter der Funktionsaufrufe
der Zeilen C-04 bis C-07 sind, in den Seitenquelltext der Hypermedia-Seite
schreiben. Dies führt
zu einem clientseitig modifizierten Seitenquelltext der Hypermedia-Seite, der
in 3c dargestellt ist. Dabei ist zu erkennen, dass
die wesentlichen inhaltlichen Änderungen
gegenüber
dem serverseitig modifizierten Seitenquelltext der 3b in
den Zeilen D-11 bis D-14 liegen. Diese Zeilen – in 3d fett
dargestellt – sind
Ergebnis des viermaligen Funktionsaufrufes der Funktion „writeHTML" der Zeile C-02.
-
Der
sich ergebende Seitenquelltext der 3c nach
clientseitiger Modifikation wird anschließend im Ablaufschritt 170 zur
Darstellung der Hypermedia-Seite herangezogen. In Hinblick auf die
dargestellte Hyper media-Seite entspricht der serverseitig modifizierte
Seitenquelltext der 3c dem Ausgangsseitenquelltext
der 1. Die Zeile D-12 entspricht inhaltlich der Zeile
A-03 und die Zeile D-13 entspricht inhaltlich der Zeile A-04. Der
wesentliche Unterschied liegt jedoch darin, dass das mittels der erst
clientseitig eingefügten
Zeile D-12 in den Seitenquelltext eingefügte „EMBED"-Element bei der Darstellungen des Bestandteils „embedded.swf" keiner Aktivierung
durch den Benutzer bedarf, sondern nach Fertigstellung der Darstellung
unmittelbar benutzbar zur Verfügung
steht.
-
Die
Seitenquelltexte der 3d und 3f zeigen
wie der Seitenquelltext der 3b einen
serverseitig modifizierten Seitenquelltext. Es handelt sich bei
dieser zweiten Variante der 3d und
der dritten Variante der 3f um
Ergebnisse alternativer Umwandlungsstrategien im Ablaufschritt 135.
Die Seitenquelltexte der 3e und 3g stellen
analog dem Seitenquelltext der 3c jeweils
die korrespondierenden clientseitig modifizierten Seitenquelltexte
dar, die sich nach Ausführung
des Ablaufschrittes 160 aus den serverseitig modifizierten
Seitenquelltexten der 3d und 3f ergeben.
-
Bei
der zweiten Variante des serverseitig modifizierten Seitenquelltexts,
der in der 3d dargestellt ist, ist die
zugrunde liegende Umwandlungsstrategie des Ablaufschritts 135 dahingehend
ausgerichtet, nur jene Elemente des Ausgangsseitenquelltexts in
Programmquelltext umzuwandeln, die von einem bestimmten Typ sind.
Zweckmäßig ist
dies bei Elementen des Typs „APPLET", „OBJECT" und „EMBED". Bei anderen Elementen
hat die entsprechende Umformung des Seitenquelltexts in Programmquelltext
im Hinblick auf eine erforderliche Aktivierung durch den Benutzer
keine Auswirkungen und ist daher nicht erforderlich. Am Seitenquelltext
der 3d ist zu erkennen, dass entsprechend dem Seitenquelltext
der 3b in der Zeile E-02 ein erster Programmblock
mit einer Funktion „writeHTML" eingefügt ist.
Zusätzlich
ist das in Zeile A-03 des Ausgangsquelltexts befindliche „EMBED"-Element durch einen
zweiten Programmblock in den Zeilen E-04 bis E-06 ersetzt, wobei
die Zeile E-05 der Kern dieses zweiten Programmblocks ist. In dieser
ist ein Funktionsaufruf der Funktion der Zeile E-02 eingefügt ist, der
dieser Funktion als Parameter das entsprechende „EMBED"-Element übergibt. Dieser Parameter ist in 3d fett
dargestellt.
-
Die 3e zeigt
den clientseitig im Zuge des Ablaufschritts 160 modifizierten
Seitenquelltext nach der Verarbeitung des Seitenquelltexts der 3d durch
den Javascript-Interpreter des Clientsystems. Dabei ist zu ersehen,
dass der Funktionsaufruf der Zeile E-05 bei dieser clientseitigen
Modifikation zur Einfügung
der Zeile F-07 – fett
dargestellt – im
clientseitig modifizierten Seitenquelltext geführt hat. Wie auch der clientseitig
modifizierte Seitenquelltext der 3c, entspricht
der clientseitig modifizierte Quelltext der 3e damit
in Hinblick auf die Darstellung im Ablaufschritt 170 dem
Ausgangsquelltext der 1.
-
Bei
der dritten Variante des serverseitig modifizierten Seitenquelltexts,
der in der 3f dargestellt ist, wird die
technische Realisierung nicht wie bei den Quelltexten der 3B und 3D über die „document.write"-Methode realisiert,
sondern stattdessen über
das „innerHTML"-Attribut, mittels
dessen der Seitenquelltext ebenfalls clientseitig modifizierbar
ist. Zu diesem Zweck ist der serverseitig modifizierte Seitenquelltext
mit der Zeile G-02 um einen ersten Programmblock ergänzt, der
eine Funktion „addHTML" enthält. Diese
ist geeignet, an den Quelltext, der sich zwischen dem öffnenden „<BODY>"-Bestandteil und dem schließenden „</BODY>"-Bestandteil des „BODY"-Elements der Zeile G-10 befindet, weiteren
Inhalt anzuhängen.
Ein zweiter Programmblock ist in den Zeilen G-03 bis G-08 in den
Seitenquelltext eingefügt,
der eine Funktion „init" umfasst, die im
Zuge ihrer Ausführung
die Funktion addHTML zweimal aufruft, wobei bei den Aufrufen die
Inhalte der Zeilen A-03 und A-04 des Ausgangsquelltexts als Parameter über geben
werden. Die Parameter sind in der 3f fett
dargestellt. Der Funktionsaufruf der Funktion „init" ist in das „BODY"-Element in der Zeile G-10 eingefügt, wobei
dies über
den so genannten Event-Handler „onload" realisiert ist, der dafür sorgt,
dass nach abgeschlossenem Empfang der Hypermedia-Seite die Funktion „init" ausgeführt wird.
-
Die 3g zeigt
das Ergebnis nach clientseitiger Ausführung der Funktion „init". Durch den Aufruf
der Funktion „init" wird die Funktion
addHTML mit den Elementen der Zeilen A-03 und A-04 als Parameter
aufgerufen, was zu deren clientseitiger Einfügung in den Quelltext führt. Die
Einfügung
ist in der 3g in den Zeilen H-13 und H-14
fett dargestellt.
-
Auch
dieser dritte clientseitig modifizierte Seitenquelltext der 3g entspricht
bezüglich
des Inhalts – wie
auch die clientseitig modifizierten Quelltexte der 3c und 3e – dem Seitenquelltext der 1 und
führt zu
einer weitgehend identischen Darstellung.
-
Die 4a und 4b zeigen
ein zweites und ein drittes Ausführungsbeispiel
eines erfindungsgemäßen Verfahrens.
-
Beim
Ausführungsbeispiel
der 4a wird abweichend vom Ausführungsbeispiel der 3a in Reaktion
auf eine im Ablaufschritt 210 vom Clientsystem gesendete
und im Ablaufschritt 220 vom Serversystem empfangene Anforderung
bezüglich
einer Hypermedia-Seite im Ablaufschritt 222 eine generische
Hypermedia-Seite gesendet, die selbst keinen für den Inhalt der angeforderten
Hypermedia-Seite spezifischen Inhalt aufweist. Der Seitenquelltext
dieser generischen Hypermedia-Seite ist für den Fall der Anforderung
der Hypermedia-Seite „page.html" der 4c zu
entnehmen. Der Seitenquelltext der 4c umfasst
als wesentliches Element ein Inkludierungselement in der Zeile I-02.
Dieser Ablaufschritt entspricht dem erfindungsgemäßen Verfahrensschritt
(b1).
-
Im
Ablaufschritt 224 wird der Seitenquelltext der generischen
Hypermedia-Seite vom Clientsystem empfangen und verarbeitet. Diese
Verarbeitung führt
zu einem Senden einer zweiten Anforderung an das Serversystem, die
auf die im Inkludierungselement referenzierte Programmdatei „page.html.js" gerichtet ist.
-
Im
Ablaufschritt 226, der dem erfindungsgemäßen Verfahrensschritt
(b2) entspricht, empfängt das
Serversystem diese zweite Anforderung und ermittelt durch Entfernen
der Endung „.js" die Hypermedia-Seite „page.html", auf deren Seitenquelltext sich
die Anforderung bezieht.
-
Auf
Grundlage dieser Information wird im Ablaufschritt 230 der
Seitenquelltext der angeforderten Hypermedia-Seite zur Verfügung gestellt,
wobei dies wie in den oben beschriebenen Verfahren über ein Auslesen
des Seitenquelltexts aus einem mit dem Serversystem verbundenen
Datenspeicher erfolgt.
-
Wie
auch im Ausführungsbeispiel
der 3a wird anschließend in einem Ablaufschritt 235 eine Umwandlung
dieses Seitenquelltexts in einen serverseitig modifizierten Quelltext
durchgeführt.
Abweichend von dem Ausführungsbeispiel
der 3a wird dabei jedoch keine Umwandlung in einen
Seitenquelltext mit Programmblöcken
durchgeführt,
sondern eine Umwandlung in den Programmquelltext einer reinen Programmdatei.
Dieser Programmquelltext wird ist der 4d zu
entnehmen. Zu ersehen ist dabei, dass in den Zeilen J-01 bis J-04
für jede
der Zeile A-02 bis A-05 des Ausgangsquelltexts der angefragten Hypermedia-Seite „page.html" ein Aufruf der „document.write"-Methode vorgesehen
ist.
-
Im
Ablaufschritt 240 wird dieser Programmquelltext als Programmdatei „page.html.js" an das Clientsystem übersendet,
welches die Programmdatei im Ablaufschritt 250 empfängt.
-
Im
Ablaufschritt 260 erfolgt die Abarbeitung der Programmdatei,
wobei dies im Rahmen der Verarbeitung des Quelltexts der generischen
Hypermedia-Seite geschieht, die im Ablaufschritt 224 begonnen
hat. Die Abarbeitung führt
zu einer clientseitigen Modifikation des Seitenquelltexts des Seitenquelltexts
der generischen Hypermedia-Seite der 4c, welcher
nach Ausführen
der Anweisung des Programmquelltexts der 4d einen
Inhalt aufweist, der in der 4e dargestellt
ist. Dabei ist zu ersehen, dass die Anweisungen der Zeilen J-01
bis J-04 zur Einfügung
der fett dargestellten Zeilen K-05 bis K-08 in den Seitenquelltext
geführt
haben. Wie auch schon bei den clientseitig modifizierten Quelltexten
der 3c, 3e, 3g ist
dieser Seitenquelltext der 4d bezüglich des
darzustellenden Inhaltes weitgehend identisch mit dem Seitenquelltext
der 1 und wird im Ablaufschritt 270 entsprechend
dargestellt.
-
Beim
Ausführungsbeispiel
der 4b handelt es sich um eine Variante des Ausführungsbeispiels
der 4a. Dieses unterscheidet sich im Wesentlichen
durch die Reihenfolge der Ablaufschritte. Abweichend von der Ausführungsform
der 4a, erfolgt die Übersendung des Quelltexts der
generischen Hypermedia-Seite im Ablaufschritt 322 sowie das
clientseitige Senden und das serverseitige Empfangen der Anforderung
nach der Programmdatei in den Ablaufschritten 324, 326 erst
nach Abarbeitung der Ablaufschritte 310, 320, 330 und 335.
Die Quelltexte der 4c, 4d, 4e bleiben
hiervon allerdings unberührt.