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