Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
DISPLAY CONTROL COMPRISING ACTIVE HYPERTEXT DOCUMENTS
Document Type and Number:
WIPO Patent Application WO/2001/086402
Kind Code:
A2
Abstract:
The invention relates to a computer application comprising a sequence control system and a user interface. According to the invention, the user interface is produced by the representation of pages of a marking language and at least one part of the sequence control is activated by programmes which can be embedded in pages of said marking language. The page containing the sequence control and the page to be displayed which produces the user interface are separated from one another.

Inventors:
URBAN PATRICK
Application Number:
PCT/DE2001/001464
Publication Date:
November 15, 2001
Filing Date:
April 14, 2001
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
WINCOR NIXDORF GMBH & CO KG (DE)
International Classes:
G06F8/38; G06F9/44; (IPC1-7): G06F3/00
Other References:
"Javascript Tip of the Week" YOU WANT ANSWERS ?, [Online] 21. Oktober 1996 (1996-10-21), Seiten 1-4, XP002230792 Gefunden im Internet: [gefunden am 2003-02-12]
"Tour Components" IRT.ORG, [Online] 1. Januar 1997 (1997-01-01), Seiten 1-18, XP002230793 Gefunden im Internet: [gefunden am 2003-02-12]
DORTCH, BILL: "Preliminary Documentation" THE HIDAHO FRAMESET, [Online] 25. Februar 1996 (1996-02-25), Seiten 1-6, XP002230794 Gefunden im Internet: [gefunden am 2003-02-12]
Download PDF:
Claims:
Patentansprüche
1. Methode für eine Computeranwendung mit einer Ablauf steuerung und einer Benutzerschnittstelle, wobei die Benutzerschnittstelle durch die Darstellung von Seiten einer Markierungssprache bewirkt wird und zumindest ein Teil der Ablaufsteuerung durch in Seiten dieser Markie rungssprache einbettbare Programme bewirkt wird, d gekennzeichnet, daß die die Ablaufsteuerung enthaltende Seite und die die Benutzerschnittstelle bewirkende anzuzeigenden Sei te voneinander getrennt sind.
2. Methode nach Anspruch 1, wobei die Ablaufsteuerung die Anzeige einer oder mehrere anzuzeigender Seiten be wirkt.
3. Methode nach Anspruch 1 oder 2, wobei die die Ablauf steuerung enthaltende Seite für den Benutzer nicht er kennbar ist.
4. Methode nach Anspruch 1, wobei die die Ablaufsteuerung enthaltende Seite eine Anzeige ohne variable Inhalte bewirkt.
5. Methode nach einem der vorhergehenden Ansprüche, wobei ein Anzeigeprogramm für die Markierungssprache eine Aufteilung der Anzeigefläche in Rahmen vorsieht und für die Seite der Ablaufsteuerung ein Rahmen ohne variable Inhalte verwendet wird.
6. Methode nach einem der vorhergehenden Ansprüche, wobei die visuelle Ausgabe über die anzuzeigende Seite, die Bedienung aller anderen Peripheriegräte einschließlich von Tastaturen oder Zeigergeräten durch die Ablauf steuerung erfolgt.
7. Methode nach einem der vorhergehenden Ansprüche, wobei der Transfer von Daten zwischen Ablaufsteuerung und an zuzeigender Seite über eine prozedurale oder objekt orientierte Schnittstelle erfolgt.
8. Computerprogramm, welches eine der Methoden nach einem der vorherigen Ansprüche enthält.
Description:
Anzeigesteuerung mit aktiven Hypertextdokumenten Technisches Gebiet Die Erfindung betrifft die Ablaufsteuerung von Computerpro- grammen, insbesondere bei aktiven Hypertextdokumenten, d. h. solchen, bei denen Programme auf dem das Dokument anzeigen- den Rechner ausgeführt werden.

Stand der Technik Bei einer Anwendung der Datenverarbeitung wird unterschie- den zwischen der Verarbeitungslogik, d. h. dem eigentlichen Programm, und der Interaktion mit dem Benutzer über eine Benutzerschnittstelle. Für letztere ist die Bezeichnung 'user interface', UI, oder'graphical user interface', GUI, üblich. Bekannt ist beispielsweise das GUI der'Windows'- Betriebssysteme, welches in das ausführbare Programm über Schnittstellenaufrufe integriert ist. Eine Trennung der Verarbeitungslogik von den Aufrufen der Benutzerschnitt- stelle ist in diesem Fall nicht möglich. Das heißt, die Verarbeitungslogik und die Gestaltung der Oberfläche sind integral ineinander verwoben.

In etlichen Anwendungsfällen ist jedoch eine Trennung von Benutzerschnittstelle und Verarbeitungslogik erwünscht.

Dies beginnt bei der Erstellung von sprachspezifischen Va- rianten und endet bei einem unterschiedlichen Design der Bildschirmanzeigen. Dies hat insbesondere dazu geführt, daß hochkomplexe Entwicklungssysteme wie beispielsweise Delphi der Firma Inprise entstanden sind, die mittels objektorien-

tierter Programmierung die Ablaufsteuerungung bewirken und die Benutzerschnittstelle über ein interaktives Formatie- rungsprogramm bewirken. Damit ist zwar eine Veränderung we- sentlich schneller zu bewirken ; dennoch muß der Programmie- rer die Entwicklungsumgebung voll verstehen, um keine uner- wünschen Veränderungen zu bewirken.

Ein anderer Ansatz zur Lösung dieser Aufgabe besteht darin, ein standardisiertes Anzeigeprogramm zu verwenden und den Aufbau der Bildschirmanzeige durch eine Hypertext- Markierungs-Sprache wie HTML zu bewirken. HTML erlaubt die Definition von Eingabfeldern, in die vom Benutzer Daten eingegeben und über ein Netzwerk an einen Server geschickt und dort verarbeitet werden können. Die Verarbeitung er- folgt dann jedoch ausschließlich im Server, insbesondere über Programme, die nach dem'common gateway interface', CGI, aufgerufen werden und als Ergebnis des programmierten Ablaufs eine neue HTML-Seite zurücksenden. Da jedoch die HTML-Seiten von dem CGI-Programm erzeugt werden, ist wie- derum eine Vermischung von Programm und Benutzerschnitt- stelle gegeben. Diese Lösung hat zudem den Nachteil, voll- ständig auf dem Server abzulaufen.

Daher sind unter dem Stichwort'aktive Inhalte'Erweiterun- gen von HTML beschrieben worden, die eine Programmausfüh- rung auf dem die HTML-Seite anzeigenden System zulassen.

Diese Erweiterungen sind unter den (Marken-) Namen 'JAVASCRIPT, JAVA und'ActiveX bekannt. Die Anweisungen der Programme werden bei JAVASCRIPT in die Seite eingebet- tet und bei JAVA als separate präkompilierte Datei ("Byte- code") übertragen. Nach wie vor ist jedoch eine enge Ver- knüpfung von Programm und Darstellung durch HTML gegeben.

Da zudem die Programmteile auf jeweils eine HTML-Seite be-

grenzt sind, ergeben sich Probleme bei der Programmorgani- sation, wenn die Steuerung von komplexen Transaktionsanwen- dungen, wie sie bei Geldautomaten usw. vorkommen, benötigt wird.

Aufgabe der Erfindung ist es daher, eine Lösung anzugeben, bei der die Benutzerschnittstelle von der Ausführungslogik entkoppelt ist und dennoch eine stardardisierte Markie- rungssprache wie HTML verwendet werden kann.

Darstellung der Erfindung Die Lösung besteht aus einer Reihe von Maßnahmen, die jede für sich allein einsetzbar sind und in ihrer Gesamtheit be- sonders vorteilhaft sind. Im folgenden wird daher, ausge- hend von einer einfachen Maßnahme, die Erfindung an Hand der jeweils darauf anwendbaren Veränderungen oder Ergänzun- gen beschrieben. Die dabei verwendeten Code-Beispiele sind zu Gunsten der Übersichtlichkeit stark vereinfacht und er- füllen ggf. auch Funktionen, für die integrierte Mittel zur Verfügung stehen.

Kurzbeschreibung der Figuren Es zeigen Fig. 1 den Code für die steuernde Seite, Fig. 2 den für die erste Maske, Fig. 3 den für die zweite Maske, Fig. 4 den für eine Maske ohne variabel Inhalte,

Fig. 5 eine schematische Darstellung der beteiligten Komponenten, Fig. 6 ein Blockdiagramm der Softwarestruktur, einer Ausführungsform der Erfindung.

Beschreibung einer Ausführungsform der Erfindung In Fig. 5 sind die beteiligten Komponenten in ihrem Bezug schematisch dargestellt. Die Beispiele beziehen sich auf das Anzeigeprogramm Netscape Communicator 4.7, im folgenden 'Browser'genannt. Der Browser 20 ist als Anwendungspro- gramm auf einem Rechner 22 aktiv. Der Browser 20 ist in be- kannter Weise derart konfiguriert, daß er WEB-Seiten, ba- sierend auf HTML-Code, anzeigt, die beispielsweise von ei- nem Server 24 über ein geeignetes Computernetzwerk 26, bei- spielsweise das Internet, geladen werden.

Gemäß der Erfindung werden dem Browser 20 HTML-Daten gesen- det, die einer Steuerseite 26 und einer oder mehrerer An- zeigeseiten 28 entsprechen. Wie weiter unten näher erläu- tert wird, enthält die Steuerseite einen Frameset 30, der den HTML-Code für eine von den Anzeigeseiten 28 enthält.

Für eine gewünschte Benutzer-Interaktion enthält die Anzei- geseite 28 einen Mechanismus zur Ereignissteuerung 32, der auf der Steuerseite die Ausführung von Anweisungen bewirkt.

Daher bewirkt die Steuerseite 26 eine Ablaufsteuerung, die schematisch bei 34 dargestellt ist, wohingegen die Anzeige- seiten 28 die Funktionalität einer Benutzerschnittstelle bereitstellen, schematisch bei 36 dargestellt.

Fig. 6 zeigt die zur Zeit bevorzugte Software- Systemarchitektur in mehr Einzelheiten. Die Steuerseite 26 enthält Programmcode, der von dem Browser 20 ausgeführt werden kann, bevorzugt HTML mit JavaScript. Andere, wie JScript, JAVA, ActiveX und XML sind gleichfalls möglich.

Die Steuerseite 26 enthält bei Verwendung von HTML bei- spielsweise ein Rahmenwerk 38, dessen Code in Fig. 1 darge- stellt ist und weiter unten genauer beschrieben wird. Das Rahmenwerk 38 umfaßt ausführbaren Code 40, insbesondere Ja- vaScript, sowie einen Frameset für die Seiteninhalte 42. In Fig. 6 ist der Frameset 44 zur besseren Veranschaulichung als eigene Einheit dargestellt.

Der Frameset 44 enthält einen oder mehrere Frames, die An- zeigeseiten oder andere Daten enthalten. In Fig. 6 wird der Framset 44 mit einer Leerseite 46 und einer ersten Anzeige- seite 48. Die erste Anzeigeseite 46 wird auch mit dem Be- zeichner'showl. htm'versehen.

Das allgemeine Layout für zwei beispielhafte Anzeigeseiten ('showl. htm'und'show2. htm') wird bei 50 und 52 näher dar- gestellt. Die'showl. htm'Seite 50 ist zur Zeit als Anzei- geseite 48 geladen. Sie umfaßt einen Eingabe-Mechanismus 54 und eine Ereignissteuerung 56. Die Ereignissteuerung sendet Ereignis-Nachrichten and den JavaScript-Code 40, welcher damit vorbestimmte Befehle ausführt.

Wenn der Anwender die Steuerseite 26 in den Browser 20 lädt, bestimmt der Seiteninhalt des Framsets 44, was dem Benutzer angezeigt wird. Das Beispiel nach Fig. 6 ent- spricht den Programmlistings nach Fig. 1 bis Fig. 4. Wie weiter unten noch ausführlich dargestellt wird, ist die er- ste geladene Seite 46 ('dummy. htm'), ein letztendlich lee-

rer Seitenkopf, der keine variablen Daten enthält. Er dient hier lediglich dazu, zu zeigen, daß ein Frameset Seitenin- formation enthalten kann, die keinerlei variabel Daten oder aktive Inhalten enthalten. Die zweite geladene Seite 48 ('showl. htm') erzeugt die aktuelle Anzeige für den Benut- zer. Für die Zwecke dieses Beispiels ist der Eingabemecha- nismus der Benutzerinteraktion 54 die Nachricht bzw. Einga- beaufforderung"Please Enter Text". Unterhalb der Eingabe- aufforderung ist ein Eingabefeld, in das der Benutzer Text eingeben kann, den er einzugeben wünscht. Natürlich ist dies nur ein Beispiel. Es gibt viele verschiedene Arten der Benutzerinteraktion, die in der derzeitigen Web-Technologie verfügbar sind. Diese umfassen'dropdown'Listen, An- kreuzkästchen ('check box'), Alternativkästchen ('radio button') und Mengentextfelder.

Die Ereignissteuerung 56 der Anzeigeseite 50 wird im Bei- spiel durch den'onChange'Parameter des Eingabefeldes aus- gelost, der eine Überwachung des Eingabefeldes bewirkt.

Verläßt der Benutzer ein Feld, in das er zuvor Eingaben be- wirkt hat, wird hierdurch ein Ereignis innerhalb von Java- Script 40 ausgelöst. Im vorliegenden Fall besteht es aus der Nachricht, daß die Funktion'putText ()'der Steuerseite 26 aufzurufen ist.

Durch die den Aufruf von'putText ()'bewirkende Nachricht an JavaScript 40 werden die Anweisungen der Funktion'put- Text ()'ausgeführt. Im Beispiel wird zunächst die Benutzer- Eingabe in dem globalen Speicher 60 in der Variablen'the- Text'abgelegt. Daraufhin vollführt das Skript ein Wechsel der Anzeigeseite, indem die durch'show2. htm'bezeichnete Seite die in dem Frameset 44 enthaltene Seite'showl. htm'

50 ersetzt. Der ersetzende Inhalt kann denselben Interakti- onsmechanismus wie zuvor oder einen anderen benutzen.

In den Figuren 1 bis 3 sind in der allfällig bekannten Sprache HTML formulierte Codes dargestellt. Die den Zeilen vorgestellten Nummern dienen lediglich der besseren Bezug- nahme und sind nicht Teil der codierten Anweisungen.

In Fig. 1 ist der Code für die steuernde Seite dargestellt.

Die Zeilen 1 und 17 gehören zu dem in HTML vorgeschriebenen Rahmen. In Zeile 2 bis 12 sind Javascript-Befehle aufge- führt, die insbesondere drei Funktionen definieren, die weiter unten im Zusammenhang ihrer Benutzung genauer be- schrieben werden.

In den Zeilen 13 bis 16 wird der Inhalt der Seite als Rah- menmenge ('frameset') definiert, hier mit horizontaler Un- terteilung in zwei Rahmen, deren erster 10 Pixel hoch ist und deren zweiter den Rest ausfüllt. Die Definitionen der beiden Rahmen sind unter'dummy. htm' bzw.'showl. htm' zu finden und in Fig. 4 bzw. Fig. 2 gezeigt. Sofern der Brow- ser es zuläßt, wird bevorzugt nur ein Rahmen innerhalb der Rahmenmenge verwendet, so daß der Rahmen'dummy. htm', der effektiv leer ist und keinerlei variable Daten enthält, entbehrlich ist.

In Fig. 2 ist der HTML-Text'showl. htm' gezeigt, der in den Rahmen geladen wird, in dem die Interaktion mit dem Benut- zer stattfindet. Dieser besteht in diesem einfachen Bei- spiel nur aus dem Führungstext"Please Enter Text"in der 2. Zeile und und einem Eingabefeld in Zeile 4, für das eine JAVASCRIPT-Ereignisbehandlung über den'onChange'-Parameter in Zeile 5 definiert ist. Dieses bestimmt, daß die in Zeile 4 von Fig. 1 definierte Funktion'putText'mit dem Inhalt

des Eingabefeldes,'this. value', aufgerufen werde, wenn der Feldinhalt verändert ist. Je nach Browser erfolgt diese beim Verlassen des Feldes durch die TAB-Taste oder die ENTER-Taste, ggf. abhängig vom weiteren Inhalt der Seite.

Diese Funktion'putText'legt zunächst in Zeile 5 von Fig.

1 den als Parameter'x'übergebenen Text in der globalen Variabelen'theText'ab. Nach einer Abfrage in Zeile 6, ob der Text nicht leer ist, wird sodann gemäß der Erfindung die in dem Rahmen angezeigte Maske, die bislang durch 'showl. htm' definiert war, in Zeile 7 durch'show2. htm' er- setzt. Damit wird also erreicht, daß in der durch 'showl. htm'definierten Seite, die die Benutzeroberfläche darstellt, keine Ablaufsteuerung vorhanden ist, sondern die Ablaufsteuerung durch eine Funktion bewirkt wird, die in einer anderen Seite, hier der Seite mit der Rahmenmenge ('frameset'), enthalten ist, welche wiederum keinerlei va- riable und vom Benutzer sichtbare Ausgaben erzeugt. Der Funktionskörper der Funktion'putText', der hier der Über- sichtlichkeit halber auf seine Essenz reduziert wurde, ent- hält bei einer realistischen Anwendung eine komplexe, die Möglichkeiten einer Programmiersprache wie JAVASCRIPT aus- schöpfende, Ablaufsteuerung.

Mit Ausführung der Zeile 7 von Fig. 1 wird die in Fig. 3 dargestellte HTML-Text in den Rahmen geladen, in dem bis- lang'showl. htm' aktiv war. Diese Maske besteht aus einem Leittext"Your Input :" in Zeile 4, einem zur Ausgabe be- nutzten Feld"was"in Zeile 5 und einem Betätigungsknopf Again§ in Zeile 6. Durch die Angabe'onLoad'in Zeile 2 wird die Funktion'getText', wiederum aus der übergeordne- ten Rahmenmenge nach Fig. 1, dort Zeile 8-9, aufgerufen und das Ergebnis in das Ausgabefeld"was"von Zeile 5 Fig. 3

abgelegt. Nach dem Laden dieser HTML-Seite erscheint also der vormals eingegebene Text in dem Eingabefeld.

Durch Betätigen des Knopfes'Again'wird die Funktion 'again'aus der Rahmenmenge nach Fig. 1 Zeile 10-11 aufgeru- fen, welche wiederum die erste Seite'showl. htm'anstelle der angezeigten lädt. Auch hier wird bei einer realisti- schen Anwendung die Steuerung abhängig von einer komplexen Programmlogik erfolgen.

Damit ist erreicht, daß die Ablaufsteuerung, die hier mini- malistisch nur den Wechsel zweier Masken nach'showl. htm' und'show2. htm realisiert, ausschließlich in dem HTML-Text nach Fig. 1 niedergelegt ist.

Anstelle der Verwendung von Frames, wie bisher dargestellt, kann auch ein neues Fenster geöffnet werden, z. B. durch den Script-Befehl'openWindow'. Bei dem Browser'Internet Ex- plorer'ist dabei ein Parameter'fullscreen'zulässig, der bewirkt, daß das neue Fenster den Bildschirm voll ausfüllt und damit den die Steuerung enthaltenden Bildschirm ver- deckt und damit für den Benutzer nicht mehr erkennbar ist.

Besonders nützlich ist die Anwendung der Erfindung, wenn lokale Peripherie wie Magnetkartenleser, Maus oder Tasta- tur, letztere auch in Sonderausführugen, zu berücksichtigen sind. In diesem Fall erfolgt die Behandlung ausschließlich in der die Ablaufsteuerung enthaltenen Seite.

Gerade wenn Peripherieereignisse wie Tastendrücke oder die Aktivierung eines Magnetkartenlesers durch Einführen einer Karte berücksichtigt werden müssen, kann die Ablaufsteue- rung die Anzeigen verändern. Dies ist durch das'document object modell ('DOM') möglich, das bereits in den dem Bei-

spiel verwendet wurde. Der in den Zeilen 7 und 11 bewirkte Wechsel der Seite durch Verändern der Eigenschaft'locati- on'des Objekts'show'als Unterobjekt von'top'ist eine Fähigkeit des DOM. Genauso kann die Ablaufsteuerung durch eine Zuweisung an'document. show. forml. was. value'den Wert des Feldes in Zeile 5 von Fig. 3 verändern. Hierbei ist allerdings zu berücksichtigen, daß dies erst möglich ist, wenn'show2. htm' vollständig geladen ist, weshalb im vor- liegenden Beispiel die Lösung in Zeile 2 der Übersichtlich- keit halber bevorzugt wurde. Es ist aber klar, daß es auch möglich ist, vollständig auf aktive Inhalte auf der die Be- nuteroberfläche darstellenden Seite zu verzichten.

Die Verwendung von Feldnamen entspricht einer herkömmlichen Schnittstelle. Bevorzugt werden jedoch in den die Benutzer- schnittstelle realisierenden Seiten Funktionen definiert, die die Felder verändern und damit die Feldnamen verbergen.

Dies entspricht eher einer objektorientierten Schnittstel- le. In beiden Fällen wird die Ablaufsteuerung vor einem Aufruf der Funktionen bzw. Lesen oder Schreiben von Feldern durch den'typeof'Operator sicherstellen, daß das anzu- sprechende Objekt auch vorhanden ist. Unterstützt wird die- se Maßnahme, wenn die Seite durch das'onLoad'-Attribut von '<body>'bei der Ablaufsteuerung signalisiert, daß und wel- che Schnittstellen aktiviert sind und gegebenenfalls Ver- weise auf die Schnittstellenfunktionen oder Datenfelder mitliefert. Diese Technik einer Registrierung von Funktio- nen und Datenfeldern ist allgemein auch unter der Bezeich- nung'callback'bekannt und im Rahmen der Erfindung vor- teilhaft anwendbar.