Mobiler Datenzugriff auf dezentrale und verteilte Datenbanken

Werbung
Mobiler Datenzugriff auf dezentrale und verteilte Datenbanken
HANEFI YAGMUR AKGÜN, GÖTTINGEN
BURCHHARD MÖLLERS, GÖTTINGEN
ERICH BRUNS, GÖTTINGEN
Abstract
There is an emerging need in the agricultural sector for a database access system, which can
operate over decentralized database structures and distributed data with user interface support for mobile internet devices like Smart phones and PDAs. This paper describes the actual
stage of development process of a mobile database access solution, which can build connections to various database systems simultaneously and can transmit collected query results to
one of the implemented user interfaces in a form adapted to the type of user’s internet device.
1
Einführung
Dezentrale Datenbankstrukturen und verteilte Daten sind typisch in der landwirtschaftlichen
Produktion, besonders bei den tierspezifischen Datenbanken. Es stellt sich die Frage, wie man
diese Daten effektiv zur Verfügung stellen und benutzen kann. Mit der zunehmenden Verwendung des Internets entwickelt sich eine steigende Nachfrage nach dem aktuellsten Stand
der Daten. Datensammlungen auf Wechselmedien und Suchmaschinen, die in einer soliden
Datensammlung Recherchen durchführen, sind nicht mehr in der Lage, den Bedarf der Internetbenutzer zu erfüllen. Ein anderer Teil der Problematik stellt die variierende Erwartung bei
Benutzerplattformen dar. Man kann die Datenbankzugriffslösungen nicht mehr nach dem
klassischen Internetbenutzer mit einem PC ausrichten, da die Anzahl der Benutzer, die über
einen mobilen Internetzugang verfügen, permanent ansteigt.
Fügt man alle Fakten zusammen, lässt sich ein Konzept für den Zugriff zu den dezentralen
landwirtschaftlichen Datenbanken mit den verschiedenen mobilen Internetzugängen
entwickeln. Die Lösung hierfür sollte folgende Eigenschaften enthalten:
• Schneller Zugriff auf mehrere Datenbanken
• Auffinden und Zusammenfassen der relevanten Daten
• Unterstützung mehrerer Empfängerplattformen wie Mobiltelefone und PDAs
• Problemlose Adaptation an technische Weiterentwicklungen
• Leichte Anpassung in verschiedenen Einsatzbereichen
• Akzeptable Anschaffungskosten
Dieses Konzept stellt den Rahmen der vorliegenden Arbeit dar.
2
Material und Methode
2.1
Programmiersprachen
Das Programm wurde hauptsächlich mit PHP entwickelt. Für Datenbankabfragen wurde SQL
verwendet. Die Gestaltungsmuster für die Benutzerschnittstellen wurden jeweils mit der
kompatiblen SGML Sprache erstellt.
2.2
Unterstützte Datenbanken
Die Datenbanksysteme MySQL, PostgreSQL und MS SQL Server wurden mit dem
Programm erfolgreich getestet. Unterstützung von Oracle, IBM DB/2 und Sybase ist geplant
und theoretisch möglich.
1
2.3
Unterstützte Benutzeroberflächen
Das Programm wurde für die Verwendung unter UMTS-Netzen geplant. Zur Zeit werden alle
i-mode Mobiltelefone, alle internettauglichen PDAs und klassische Browserplattformen wie
Netscape und Internet Explorer unterstützt. Eine Benutzerschnittstelle für WAP2
Mobiltelefone ist geplant.
2.4
Datenmaterial
Für diese Arbeit wurde eine selbst erstellte Datenbankstruktur mit Pferdedaten verwendet. Als
Ausgangspopulation wurden 275 Fohlen ausgewählt, deren Vaternamen mit D, G, F und W
anfangen. Mit den Lebensnummern der Väter und Mütter wurde im Jahrbuch 2002 vom FNVerlag nach Daten der Eltern bis zu sieben Generationen gesucht. Das entsprach insgesamt
8003 Pferden. Aus dem Jahrbuch wurden die Datenfelder Lebensnummer, Pferdename,
Lebensnummer des Vaters, Lebensnummer der Mutter, Geburtsdatum, Geschlecht, Farbe,
Verband und Züchter ausgewählt. Mit den gesammelten Daten wurde eine künstliche
dezentrale Datenbankstruktur erstellt, in der die Daten auf mehrere Datenbanken verteilt
wurden. Tierindividuelle Daten (Lebensnummer, Geschlecht, Geburtsdatum, Name) wurden
auf einer MySQL Datenbank in Göttingen gespeichert. Pedigreedaten (Lebensnummer,
Lebensnummer des Vaters, Lebensnummer der Mutter) wurden auf einer PostgreSQL
Datenbank in Göttingen gespeichert. Eine Replikation der Pedigreedaten sowie der
Züchterdaten wurden auf einem MS SQL Server in Verden bei dem VIT gespeichert. Farbe
und Verbandsdaten wurden auf einem freien MySQL Server in den USA gespeichert (Abb.1).
PostgreSQL
Göttingen
MS SQL
Verden
Pedigree
PFERD
MySQL
Göttingen
Züchter
Pferdinfo
ZUECHTER
VATER
ID
NAME
MUTTER
PFERD
STRASSE
ZUECHTER
PLZ
PFERDNAME
ORT
GESCHLECHT
TELEFON
MySQL
USA
Verband
ID
VERBAND
NAME
FARBE
MySQL
USA
VERBAND
Farbe
GEBDAT
ADRESSE
ID
BILDGR
FARB
BILDKL
NAME
Abb. 1: Verteilte Datenbankstruktur
Das entwickelte Programm läuft auf einem separaten Linux Server, der sich in Göttingen befindet. Das Programm benötigt kein eigenes Datenbanksystem. Das Programm dient als eine
Brücke zwischen Datenbanken und verschiedenen Benutzerplattformen.
2
3
Darstellung der Ergebnisse
3.1
Das Programm
Das Programm wurde als eine Suchmaschine gestaltet, mit der die Benutzer über mobile
Internetzugänge sowie über gewöhnliche Rechner mit Internetzugang Datenbankabfragen
durchführen können.
Das Programm besteht aus zwei Hauptkomponenten. Eine Komponente ist die
Benutzeroberfläche, die sich um alles auf der Seite des Benutzers kümmert. Diese
Komponente findet heraus, welchen Internetzugang der Benutzer hat und entscheidet, mit
welcher Oberfläche (i-mode, HTML, cHTML) der Benutzer empfangen wird. Es beschäftigt
sich auch mit dem Empfang der Suchwörter und Suchkriterien und der formalen Gestaltung
und Weiterleitung der Ergebnisse an den Benutzer.
Die zweite Hauptkomponente ist der Datenbankbereich, der sich um alles bezüglich des
Datenbankzugriffs und um die Ergebnisbewertung kümmert. Diese Komponente empfängt
von der Benutzeroberfläche bearbeitete Suchwörter und Suchkriterien, erstellt die
Abfrageketten, führt die Abfragen an die Datenbanken durch, sammelt die relevanten
Ergebnisse und leitet diese Ergebnisse zur Weiterbearbeitung an die Benutzeroberfläche.
Abbildung 2 zeigt ein Schaubild über die Funktionsweise der Programmkomponenten.
Abb. 2: Funktionsweise der Programmkomponenten
3.2
Benutzeroberfläche und Bedienung
Das Programm erkennt die Plattform des Benutzers mit Hilfe eines PHP-Skriptes, mit dem
man nicht nur die Plattform sondern auch den Browsertyp, Browserversion und bei
Mobiltelefonen meistens auch die Marke des Gerätes feststellen kann. Nachdem die Plattform
des Benutzers festgestellt wurde, werden die für diese Plattform vorbereiteten Seiten an den
Browser geschickt. Obwohl die Empfangsseiten ähnlich aussehen, gibt es viele technische
Unterschiede zwischen den plattformabhängigen Teilen des Programmes. Unter dem Verweis
„Suche“ verbirgt sich die tatsächliche Funktion des Programmes, ein Formular, um die
Datenbankabfragen durchzuführen. Mit Hilfe dieses Formulars können die Benutzer nach
Name oder Lebensnummer der Pferde suchen. Nach Eingabe eines Suchwortes und Wahl
eines Suchkriteriums (Name oder Lebensnummer) werden diese Eingaben von dem
Programm empfangen und die erste Suche innerhalb der Tabelle „Pferdinfo“ wird
durchgeführt. Wenn es nur einen Treffer gibt, werden weitere Datenbankabfragen
durchgeführt und detaillierte Informationen über das Pferd gezeigt. Wenn es mehr als einen
3
Treffer gibt, werden die Ergebnisse in Form einer Liste präsentiert. Obwohl es keine
Begrenzung der Anzahl der Ergebnisse gibt, werden die Ergebnisse auf mehrere Seiten
aufgeteilt, um die lange Ladezeit der Seiten zu sparen und die Seitenlängenbegrenzungen des
i-modes zu überwinden. Auf i-mode werden drei und auf PocketPC zehn Ergebnisse pro Seite
angezeigt. Auf der HTML-Plattform gibt es keine Begrenzungen, alle Ergebnisse werden auf
einmal dargestellt. Um mehr über eines der aufgelisteten Pferde zu erfahren, kann man auf
eines dieser Ergebnisse klicken. Das führt zu einer neuen Datenbankabfrage, in der nur
Informationen über ein einzelnes Pferd gesucht werden. Für diese Suche wird dieselbe
Abfragemethode wie bei der ersten Suche verwendet. Damit ergibt die Suche nur einen
Treffer in der Pferdinfo Datenbank. Weil es nur ein Ergebnis gibt, führt das Programm
weitere Abfragen in anderen Datenbanken durch und sammelt alle möglichen Informationen.
Die gesammelten Informationen über das Pferd werden an die Benutzeroberfläche
weitergeleitet und dort je nach Plattformtyp unterschiedlich gestaltet. Abbildung 3 zeigt, wie
ein detailliertes Ergebnis aussieht.
Abb. 3: Die Suchformulare und detaillierte Ergebnissseiten im PDA Fenster und im i-mode.
4
-
-
Diskussion
Die gesetzten Ziele für diese Arbeit wurden fast alle erreicht. Das hier entwickelte Programm
ist in der Lage, mit verschiedenen Datenbanksystemen Verbindungen aufzubauen, in diesen
Datenbanksystemen Abfragen durchzuführen und erhaltene Ergebnisse an verschiedene
mobile, sowie stationäre Benutzerplattformen mitzuteilen. Die geforderten Eigenschaften des
Programmes konnten zum größten Teil erfüllt werden.
Schneller Zugriff auf mehrere Datenbanken: Das Ergebnis dieser Anforderung war besser als
die theoretische Schätzung.
Auffinden und Zusammenfassen der relevanten Daten: Mit dem verwendeten Datenmaterial gab es keine Probleme bei der Realisierung dieser Anforderung. Andererseits bedarf es
einer Weiterentwicklung für die reibungslose Funktion bei fehlerhaftem Datenmaterial.
Unterstützung mehrerer Empfängerplattformen wie Mobiltelefone und PDAs: Es ist
gelungen, für verschiedene Empfängerplattformen angepasste Benutzeroberflächen zu entwickeln. Unterstützung für weitere Plattformen können problemlos in das Programm implementiert werden.
4
-
Problemlose Adaptation an technische Weiterentwicklungen wie z.B. für UMTS: Das
Programm ist so konzipiert, dass es an technische Weiterentwicklungen leicht angepasst
werden kann.
-
Leichte Anpassung in verschiedenen Einsatzbereichen: Man kann das Programm an verschiedene Einsatzbereiche anpassen, jedoch sind dafür Fachkenntnisse über PHP und SQL
Programmiersprachen, sowie Spezialwissen über Datenbanken und Empfängerplattformen
erforderlich.
-
Akzeptable Anschaffungskosten: Durch den Einsatz der Open Source Produkte entstanden
bei der Entwicklung des Programmes keine Kosten, ohne Berücksichtigung der Programmierarbeit des Autors.
Das konzipierte Programm ist ein Modell für den zukünftigen Einsatz in verschiedenen
Einsatzbereichen und Nutzungsrichtungen.
5
Literatur
5.1
Online Dokumentationen
9
9
9
9
Apache HTTP Server Documentation (http://httpd.apache.org/docs/)
FreeTDS User Guide (http://www.freetds.org/userguide/)
HyperText Markup Language (HTML)(W3C) (http://www.w3c.org/MarkUp/)
Microsoft SQL Server 7.0 Online Documentation (http://www.microsoft.com/sql/
techinfo/productdoc/70/books.asp)
9 MySQL Reference Manual (http://www.mysql.com/documentation/index.html)
9 PostgreSQL Official Documentation (http://www.postgresql.org/docs)
5.2
Webseiten und Foren
9 Das i-mode Forum: http://www.imodeforum.de/
9 Microsoft Mobile Devices: http://www.microsoft.com/mobile/
9 Sitepoint : http://www.sitepoint.com
Danksagung
Die Autoren danken dem VIT, Verden für die Bereitstellung eines MS SQL-Servers während
der Programmentwicklungsphase.
5
Herunterladen