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


Inhalt

WML-Version

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

1. Anforderungsanalyse

Abrufen von persönlichen Terminen im Web

Aufgabe ist es eine web-basierte Anwendung zu erstellen, die es dem Benutzer ermöglicht bestehende Einträge aus seinem persönlichen Terminkalender mit Hilfe von mobilen Endgeräten (z.B. Wap-Handy...) abzurufen.

Die De-facto-Normen für WML und WAP sind in den Referenzen zu finden http://www.wapforum.org . Derzeit wird von den meisten WAP-Endgeräten, die aktuell von Benutzern verwendet werden, die Version 1.1 von WML (1999 definiert) einigermassen vollständig unterstützt. Aus diesem Grund wird beim Testen des Systems ein Emulator des ersten WAP-fähigen Handys benutzt, des Nokia "7110". Den Emulator: "NOKIA WAP Toolkit Version 2.0" stellt Nokia jedem WAP-Entwickler gratis zur Verfügung bei: http://www.forum.nokia.com/.

Realisiert wird die Anwendung über WML-Forms ("GET"- und "POST"-Methode), die über die vordefinierte CGI-Schnittstelle mit Rexx-Skripten kommunizieren.

Die jeweiligen Termine werden in einer SQL-Datenbank verwaltet, welche mittels entsprechender Rexx-Prozeduren angesprochen wird. Die Daten sowie die Prozeduren zur Datenmanipulation (Einfügen, Löschen und Editieren) generiert Thomas Jungmann im Rahmen seines Projektes.

Damit benutzerorientierte Daten abrufbar sein können muß die Anwendung ein Authentifizierungsmechanismus (z.B. Passwortabfrage) bieten, um die Identität des Benutzers sicherzustellen.

Ein anschliessendes Session-Management soll die Zustandslosigkeit des verwendeten HTTP bzw. WAP umgehen, d.h. eine Authentifizierung ist nur mit der ersten Anfrage notwendig. Bei keiner weiteren Anfrage soll die Session, nach Überschreiten eines vorgegebenen Zeitlimits, automatisch beendet werden.

Aufgrund der relativ schlechten Eingabemölichkeiten (keine Maus, kompakte Tastatur,...) der verwendeten mobilen Endgeräte sollen die Termine mit wenigen Tastatureingaben abrufbar sein.


Schwerpunkt dieser Arbeit

  • Neben der benutzerspezifischen Informationsabfrage aus einer SQL-Datenbank soll der anschliessend dynamisch generierte WML-Output für alle gängigen WAP-Handys optimal gestaltet werden.
  • Desweiteren möchte ich die technischen Möglichkeiten, die heute auf dem Markt durch die unterschiedlichen Hersteller von mobilen Endgeräten gegeben sind, mit dieser Arbeit näher demonstrieren.
  • Die Frage inwiefern werden die unterschiedlichen Standards wie z.B. WAP 1.1, WAP 1.2 und WAP 1.3 von den Herstellern umgesetzt, soll geklärt werden.
  • Ein weiterer wichtiger Aspekt ist der Einsatz von Object-Rexx als Scripting-Engine und die damit verbundenen Schwierigkeiten bei der Implementierung des Prototypen.


Benötigte Komponenten

benötigte Komponenten:definierte Schnittstellen:
Session-ManagementHTTP bzw. WAP
Rexx-SkripteCGI
WML-DecksDBI
SQL-Datenbanken
verwendeter Server: http://swt.wi-inf.uni-essen.de

Session-Management

    Transaktionsablauf mittels HTTP
  • Verbindungsaufbau durch den User
  • Request: Anfrage des Users an den WWW-Server ein bestimmtes Objekt zu senden
  • Response: Antwort des WWW-Servers
  • Verbindungsabbau
Nach jeder Anfrage geht der Webserver in seinen Ursprungszustand zurück. Es besteht somit für den Webserver keine Möglichkeit zwei aufeinander folgende Anfragen in Verbindung zu bringen und somit eine Session zu initiieren. Das Session-Management umgeht diese "Schwäche" des HTTP, indem es eine eindeutige Zeichenkette (Session-Identifier) zur Identifikation des Users in Hidden-Fields einbaut. Diese eindeutige Zeichenkette sendet der User mit jeder Anfrage an den Server mit.

Rexx-Skripte

Die Programm-Logik wird mit Hilfe von Object Rexx - Klassen und - Skripten implementiert. Die Skripte werden zum Zugriff auf die Datenbank und zum generieren der dynamischen WML-Decks und -cards benötigt

WML-Decks

Ein WML-Deck entspricht einer HTML-Seite für das Handy. Fast alle WML-Decks werden dynamisch generiert und enthalten Informationen, die der Datenbank "Calendar-Store" entnommen wurden.

SQL - Datenbank

Die Datenbank "Calendar-Store" beinhaltet vier Relationstabellen, die folgendes leisten:

  • Benutzer und Passwörter des Systems verwalten,
  • Informationen für das Session-Management temporär speichern,
  • die Termine kategorisieren,
  • und die Journal-Einträge der einzelnen Events speichern.


Ednan Masovic
Last modified: November 2000