Powered by Rexx!Entwurf und Entwicklung
eines Web-basierten Terminkalenders


Inhalt

WML-Version

Hinweis: HTML-Version ist ebenfalls verfügbar bei Thomas Jungmann!

2. Systemarchitektur

Systemarchitektur des Terminkalenders


Clients, WAP & HTTP

Der Client kann der Web-Browser eines PCs oder ein WAP-fähiges Endgerät (WAP-"Handy") sein, welches über das Wireless Application Protocol (kurz WAP) mit einem WAP-Gateway kommuniziert. Das WAP-Gateway kommuniziert mit dem Web-Server wiederrum über das Internet mit dem HyperText Transfer Protokol (kurz HTTP - RFC[2616]). Das WAP ist das Ergebnis der Bemühungen des WAP-Forums eine Industrieweite Spezifikation einer Technologie zu fördern, die es ermöglicht Anwendungen zu erstellen, die über drahtlose Netze laufen.

WAP-Gateway nach WAP Architecture Specification


WWW-Server & WML-HTML

Der WWW-Server nimmt Anfragen als HTTP-Daemon entgegen und schickt Ergebnisse zurück. Bei der ersten Anfrage schickt der Server das "index.wml"-File, ein statisches vom System bereitgelegtes WML- oder HTML-Formular, als Antwort bzw. Ergebnis. "WML ist eine Auszeichnungssprache, die auf XML basiert und zum Einsatz kommt in der Spezifizierung der Schnittstelle zwischen dem Inhalt und dem Benutzer eines Web-Informationssystems für schmalbandige mobile Endgeräte" , wie z.B:

  • Mobil-Telefone (Handys, GSM)
  • PDA's (Personal Digital Assistants, Organizer)
  • Palmtop-Computer
  • Auto-Navigationsgeräte
WML wurde mit XML entwickelt, demnach muss auch jede WML-Seite mit folgenden Direktiven an den XML-Parser beginnen:

<?xml version="1.0"?>
= Die zugrundegelegte Version als Direktive an den XML-Parser

<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN""http://www.wapforum.org/DTD/wml_1.1.xml">
= Die URL der DTD, um das Dokument auf "Gültigkeit" prüfen zu können.

WML-Deck nach WAP WML Specification


Initiierung einer Session - login.rxx & CGI

Durch ein mobiles Endgerät wird zu beginn der Sitzung das Login-Formular (WML-Deck) vom Server angefordert. Die eingegebenen Daten (Name, Paßwort) werden im Query-String an den Web-Server übermittelt, welcher diese mittels CGI an das Login Rexx-Skript weiterleitet. Mittels DBI werden die Eingaben mit den Einträgen in der User-Datenbank validiert. Bei korrekter Eingabe wird eine SessionID generiert, dem Benutzer zugeordnet und in der Session-Datenbank temporär gespeichert. Hierzu wird das Rexx-Skript login dienen.

Bemerkung: Die SessionID wird nach erstmaliger Ermittlung durch Hidden-Formfields mit jeder weiteren Afrage des Client an den Server übertragen. Nach jeder Übertragung der SessionID wird das Zeitlimit der aktuellen Session in der Session-DB aufs neue gesetzt.


Ansichtsauswahl - diary.rxx & CGI

Nachdem der Login-Vorgang erfolgreich abgeschlossen wurde, generiert die Anwendung eine Dynamische WML Seite, die den Benutzer begrüsst und verschiedene Ansichtsoptionen (Month-, Week-, Dayview,...) und Ansichtskategorien (TO-DO und EVENT nach [RFC 2445]) anbietet. Nach Auswahl der Ansichtsoption wird eine weitere Dynamische WML Seite mit Benutzerspezifischen Termindaten erstellt. Die Termindaten des Benutzers werden durch einen DBI-Zugriff auf die Diary-Datenbank ermittelt. Hierzu wird das Rexx-Skript diary dienen.

Bemerkung: Die unterschiedlichen Zeitzonen werden von der Anwendung nicht beachtet. Die Zeitzone entspricht der geografischen Position des Web-Servers. Als Kalenderscala wird der gregorianische Kalender benutzt.


Ednan Masovic
Last modified: November 2000