Initiator des Projektes war die SHE AG die nach einer mobilen Eingabemöglichkeit zur Zeiterfassung verlangte.
Ziel des Projektes war es ein vorhandens browserbasiertes Zeiterfassungssystem als Anwendung auf einen PDA (Personal Digital Assistant) zu portieren und in das bestehende System integrieren.
Die Zeiterfassung der SHE AG besteht aus einer Lösung, die via Browser bedient wird. Als Software läuft der MS IIS, der über ASPs mit integrierten JavaScript die Anfragen verabeitet und an eine Oracle Datenbank weitergibt. Usertracking erfolgt über Cookies. Als Betriebsystem läuft WindowsNTServer 4.0. Da die gesamte Bussiness-Logik sich einerseits auf die ASP-Seiten und andererseits auf JavaScript-Scripte verteilt, gab es keine vordefinierte Schnittstelle, an die wir hätten anbinden können. Weiterhin wäre es zu aufwendig geworden eine Lösung zu entwickeln, welche direkt Einträge in die Datenbank schreibt, da wir die gesamte Logik noch einmal implementieren müssten. Deshalb haben wir eine JAVA-Anwendung entwickelt, die sich wie ein Anwender über http an der Zeiterfassung anmeldet, die HTML-Seite mit den Projekten, welche zur Auswahl stehen parst und in eine Datei speichert, welche dann auf den Handheld synchronisiert wird. Weiterhin wird die Datei mit den abgearbeiteten Projekten, die vom Handheld kommt, über die HTTP-Post-Methode an die Zeiterfassung geschickt und somit eingetragen.
Das Parsen der HTML-Dokumente wurde unter Zuhilfenahme des Parsergenerators JavaCC entwickelt, der sich aufgrund der Anlehnung seiner Syntax an JAVA sehr gut in das Gesamtkonzept einfügt. Erhältlich ist JavaCC bei www.webgain.com. Mehr zum Thema JavaCC
hier auf unseren Seiten.
Als Handheld sollen Palms mit PalmOS (PalmV, PalmIII, PalmIIIx, PalmM100 ...) und palmsizedPCs mit WindowsCE (Casio E105 ...) zum Einsatz kommen, daher mussten wir auf Platformunabhängigkeit achten. Wir machten uns auf die Suche nach einer Portierung von JAVA auf mobile Geräte und mussten feststellen, dass SUN für die beiden Systeme (PalmOS, WindowsCE) zwei verschiedene Programmierumgebungen anbietet, die untereinander nicht kompatibel sind. Deshalb haben wir WABA von www.wabasoft.com ausgewählt: Eine Virtuelle Maschine, welche für WindowsCE und PalmOS angeboten wird. Die Sprache selbst ist ähnlich zu JAVA, doch in einigen Bereichen müssen Einschränkungen gemacht werden, da die Geräte mit PalmOS recht wenig Leistung besitzen. Noch dazu ist der Quellcode von WABA vollständig zu bekommen. Die Programme, die man mit WABA entwickelt, laufen fast problemlos auf beiden Systemen. Lediglich beim Dateizugriff muss man unterschiedliche Techniken implementieren und das unterschiedlich große Display beachten.
Das Problem mit dem unterschiedlichen Dateizugriff haben wir mit dem Design-Pattern "Abstract Class" gelöst. Für jedes Betriebsystem gibt es eine Spezialisierung dieser abstrakten Klasse. Das hat den Vorteil, dass für eine Erweiterung um ein neues BS nur eine neue Spezialisierung dieser abstrakten Klasse implementiert werden muss. Ein weiteres von uns verwendetes Pattern ist "Model-View-Controller", um die Daten und die implementierte Logik von der Ansicht getrennt zu halten. Die Implementation dieses Patterns war nicht vollständig möglich, da WABA keine Trennung von der Anzeige und der Eingabe zulässt, jedoch ließen sich Daten und Logik abtrennen.
Derzeit sind für die Anwendung zwei Plattformen verfügbar:
PalmOS
WindowsCE
© 2006-2012 Fachhochschule Worms · Alle Rechte vorbehalten





FH Worms bei Facebook