DE102006050978B3 - Verfahren und Serversystem zum Ausliefern von Hypermedia-Seiten - Google Patents

Verfahren und Serversystem zum Ausliefern von Hypermedia-Seiten Download PDF

Info

Publication number
DE102006050978B3
DE102006050978B3 DE200610050978 DE102006050978A DE102006050978B3 DE 102006050978 B3 DE102006050978 B3 DE 102006050978B3 DE 200610050978 DE200610050978 DE 200610050978 DE 102006050978 A DE102006050978 A DE 102006050978A DE 102006050978 B3 DE102006050978 B3 DE 102006050978B3
Authority
DE
Germany
Prior art keywords
page
hypermedia
source text
program
client
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE200610050978
Other languages
English (en)
Inventor
Ralf Dobslaw
Bernhard Böhrer
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
WEBFACTORY GmbH
Original Assignee
WEBFACTORY GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by WEBFACTORY GmbH filed Critical WEBFACTORY GmbH
Priority to DE200610050978 priority Critical patent/DE102006050978B3/de
Application granted granted Critical
Publication of DE102006050978B3 publication Critical patent/DE102006050978B3/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Abstract

Die Erfindung betrifft ein Verfahren zum Ausliefern von angeforderten Hypermedia-Seiten durch ein Serversystem mit den Schritten (a) Empfangen (120) einer Anforderung eines Client-Systems zur Übermittlung einer angeforderten Hypermedia-Seite, (c) Einlesen (132) des Seitenquelltexts der angeforderten Hypermedia-Seite aus einem mit dem Serversystem verbundenen Datenspeicher oder Erzeugen (133) des Seitenquelltexts der angeforderten Hypermedia-Seite durch das Serversystem, wobei der Seitenquelltext Elemente aufweist, die Informationen über jeweils zugeordnete Bestandteile der Hypermedia-Seite enthalten, und (e) Übermitteln (140) von Informationen über die eingelesene oder erzeugte angeforderte Hypermedia-Seite an das Client-System sowie ein Serversystem zur Durchführung dieses Verfahrens. Erfindungsgemäß weist das Verfahren zusätzlich auf: Einen Schritt (d) Erzeugen (135) 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) (135) nach Schritt (c) (130) und vor Schritt (e) (140) durchgeführt wird. Verwendung, um ActiveX-Aktivierungserfordernis zu umgehen.

Description

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

Claims (12)

  1. Verfahren zum Ausliefern von angeforderten Hypermedia-Seiten durch ein Serversystem mit den Schritten (a) Empfangen (120; 220; 320) einer Anforderung eines Client-Systems zur Übermittlung einer angeforderten Hypermedia-Seite, (c) Einlesen (132; 232; 332) des Seitenquelltexts der angeforderten Hypermedia-Seite aus einem mit dem Serversystem verbundenen Datenspeicher oder Erzeugen (133; 233; 333) des Seitenquelltexts der angeforderten Hypermedia-Seite durch das Serversystem, wobei der Seitenquelltext Elemente aufweist, die Informationen über jeweils zugeordnete Bestandteile der Hypermedia-Seite enthalten, und (e) Übermitteln (140; 240; 340) von Informationen über die eingelesene oder erzeugte angeforderte Hypermedia-Seite an das Client-System, gekennzeichnet durch einen Schritt (d) Erzeugen (135; 235; 335) 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.
  2. Verfahren nach Anspruch 1, gekennzeichnet durch zwei Schritte (b1) Übermitteln (222; 322) des Seitenquelltexts einer generischen Hypermedia-Seite an das Client-System, wobei der Seitenquelltext der generischen Hypermedia-Seite ein Inklu dierungselement enthält, das auf eine für die angeforderte Hypermedia-Seite spezifische Programmdatei gerichtet ist, und (b2) Empfangen (226; 325) einer Anforderung des Client-Systems 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 Client-System übertragen wird.
  3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass das Inkludierungselement eine für die angeforderte Hypermedia-Seite spezifische Referenzierung umfasst.
  4. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass in Schritt (d) nur zu Elementen des Seitenquelltexts der angeforderten Hypermedia-Seite Programmquelltext erzeugt wird, die zu einer Gruppe von festgelegten Typen gehören.
  5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass die Gruppe von festgelegten Typen mindestens die Typen „OBJECT", „APPLET" und „EMBED" umfasst.
  6. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass der Seitenquelltext der angeforderten Hypermedia-Seite, der in Schritt (c) eingelesen oder erzeugt wird, gemäß dem HTML- oder XHTML-Standard ausgebildet ist.
  7. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass der Programmquelltext, der in Schritt d erzeugt wird, gemäß dem ECMAScript-Standard, dem JScript-Standard oder dem Javascript-Standard ausgebildet ist.
  8. 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 Verfahrens nach dem Oberbegriff von Anspruch 1 in Reaktion auf eine vom Clientsystem gesendete Anfrage bezüglich einer Hypermedia-Seite ausgebildet ist, dadurch gekennzeichnet, dass das Programm zur Durchführung des Verfahrens nach Anspruch 1 bis 7 ausgebildet ist.
  9. Serversystem nach Anspruch 8, dadurch gekennzeichnet, dass das Programm eine HTTP-Server-Software ist, die um eine Zusatzkomponente zur Durchführung des Schritts (d) sowie vorzugsweise zur Durchführung der Schritte (b1) und (b2) ausgebildet ist.
  10. Serversystem nach Anspruch 9, dadurch gekennzeichnet, dass die Zusatzkomponente als kompiliertes Modul ausgebildet ist.
  11. Serversystem nach Anspruch 9, dadurch gekennzeichnet, dass die Zusatzkomponente als interpretierbares Skript ausgebildet ist, insbesondere als ASP-, PHP-, PERL- oder PHYTON-Skript.
  12. Programmprodukt mit auf einem maschinenlesbaren Datenträger gespeichertem Programmcode zur Durchführung des Verfahrens nach einem der Ansprüche 1 bis 7, wenn das Programmprodukt auf einem Rechner abläuft.
DE200610050978 2006-10-20 2006-10-20 Verfahren und Serversystem zum Ausliefern von Hypermedia-Seiten Expired - Fee Related DE102006050978B3 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE200610050978 DE102006050978B3 (de) 2006-10-20 2006-10-20 Verfahren und Serversystem zum Ausliefern von Hypermedia-Seiten

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE200610050978 DE102006050978B3 (de) 2006-10-20 2006-10-20 Verfahren und Serversystem zum Ausliefern von Hypermedia-Seiten

Publications (1)

Publication Number Publication Date
DE102006050978B3 true DE102006050978B3 (de) 2008-02-07

Family

ID=38885258

Family Applications (1)

Application Number Title Priority Date Filing Date
DE200610050978 Expired - Fee Related DE102006050978B3 (de) 2006-10-20 2006-10-20 Verfahren und Serversystem zum Ausliefern von Hypermedia-Seiten

Country Status (1)

Country Link
DE (1) DE102006050978B3 (de)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10128147A1 (de) * 2000-06-16 2001-12-20 Vigos Ag Verfahren zur Übermittlung von Daten in einem Computer-Netzwerk

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10128147A1 (de) * 2000-06-16 2001-12-20 Vigos Ag Verfahren zur Übermittlung von Daten in einem Computer-Netzwerk

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Activating ActiveX Controls. Microsoft Corp., http://msdn.microsoft.com/workshop/anthor/dhtml/ov erview/activating-activex.asp *

Similar Documents

Publication Publication Date Title
EP2350873B1 (de) Erfassung des visuellen inhalts von browserfenstern
EP1176482B1 (de) Verfahren und Computerprogramm zum Herstellen einer Regelung oder Steuerung
EP1369790A2 (de) Verfahren zur dynamischen Generierung strukturierter Dokumente
DE102004036976A1 (de) Verfahren zur Generierung von Internetseiten, zugehöriges Computerprogramm und Computersystem
DE19953055C2 (de) Vorrichtung und Verfahren zur geschützten Ausgabe eines elektronischen Dokuments über ein Datenübertragungsnetz
DE10196978T5 (de) System und Verfahren zum Einfügen und Integrieren eines fließenden Videoinhaltes in ein digitales Medium
EP1620810A2 (de) Verfahren und anordnung zur einrichtung und aktualisierung einer benutzeroberfl che zum zugriff auf informationsseiten in ein em datennetz
EP1673915B1 (de) Betriebsverfahren für einen server und hiermit korrespondierende gegenstände
EP2171582B1 (de) Fernbedienung eines browser-programms
EP1760647A2 (de) Verfahren und Anordnung zur Handhabung von Dateien mittels mobiler Endgeräte sowie ein entsprechendes Computerprogramm und ein entsprechendes computerlesbares Speichermedium
DE102006050978B3 (de) Verfahren und Serversystem zum Ausliefern von Hypermedia-Seiten
EP2863277A1 (de) Verfahren zur Gerätesimulation
EP3528473A1 (de) Verfahren, client-computer und computerprogramm zur ausführung von quellcode an einem client-computer
DE102006027664A1 (de) Kommunikationssystem zum Verarbeiten von Daten
DE10219390B4 (de) Server, Pufferspeicher und Browser zur beschleunigten Übermittlung von Hypertext-Dokumenten
DE10332492B4 (de) Verfahren und Anordnung zum visuellen Darstellen von Inhalten auf einem Darstellungsmittel
EP3483756A1 (de) Cad/cam analyse werkzeug mit rückverbindung zu cad/cam daten
DE102013113969B4 (de) Dokumentation von Transaktionen zwischen Endgeräten und einem Server
DE10047112A1 (de) Verfahren, Computersystem, Computerprogrammprodukt, Internetserver und Benutzerhost zum Einspielen von Werbung auf Web-Seiten
DE19964082C1 (de) Verfahren und Vorrichtung zur Simulation von Benutzereingaben
WO2008022955A2 (de) System und verfahren zum erzeugen und lesen von html-formularen
DE102019205311A1 (de) Kommunikation zwischen Bediengerät und Robotersteuerung
DE102014100225B4 (de) System und Verfahren zum Ausliefern von Werbeinhalten
DE10219899A1 (de) Mehrkanal-Übermittlungssystem
DE102005000193B4 (de) Verfahren zum Einpflegen einer postalischen Zustelladresse in eine Adresssammlung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee