17.02.2006, 15:22 Uhr

Datenmanagement für den mobilen Einsatz

Es gibt unterschiedlichste Ansätze, um Daten zwischen einer mobilen Anwendung und einem zentralen Server auszutauschen. Wir zeigen Ihnen die Vor- und Nachteile der unterschiedlichen Möglichkeiten.
Robert Panther ist Diplom-Informatiker (FH) und hat sich auf die Programmierung von Mobile Devices spezialisiert und zu diesem Thema bereits mehrere Bücher verfasst.
Wenn man einmal von kleinen Spielereien absieht und sich auf ernsthafte Anwendungen beschränkt, stellt man schnell fest, dass sich ein Grossteil der Anwendungen für mobile Geräte (wie Pocket PCs und Smartphones) mit der dezentralen Erfassung von Daten befassen. So werden beispielsweise in einem Lager oder Ladengeschäft Artikel inventarisiert, Politessen erfassen die Daten von Parksündern und Versicherungsagenten erfassen Vertragsdaten. All das geschieht, um die Daten am Ende des Tages in einer zentralen Unternehmensdatenbank zusammenzuführen und weiter zu verarbeiten.
Oft werden auch bereits vorhandene Daten dezentral bearbeitet und ergänzt. Als Beispiel sei hier ein Vertriebsmitarbeiter genannt, der sich seine Kundendaten auf den Pocket PC überspielt und mit diesem zum Kunden fährt. Dort wird dann eventuell noch eine Bestellung aufgenommen, die beispielsweise mit einem Pocket PC erfasst und am Abend in die zentrale Datenbank übernommen wird. Das grundlegende Problem ist dabei stets dasselbe: Wie bekommt man die Daten am besten aus der zentralen Unternehmensdatenbank auf das Mobilgerät und (die geänderten Daten) wieder zurück? Hierzu gibt es eine ganze Reihe unterschiedlicher Ansätze, die alle ihre Vor- und Nachteile haben und von verschiedenen Faktoren abhängig sind, die im Folgenden näher beleuchtet werden.

Datenhaltung und Skalierbarkeit

Mittlerweile gibt es eine Vielzahl an Datenformaten, die von Pocket PCs in irgendeiner Form unterstützt wird. Von der gewählten Art der Datenhaltung ist unter anderem die Skalierbarkeit abhängig, da einige Datenformate (wie beispielsweise Pocket Access) für grössere Datenmengen relativ ungeeignet sind.
Textdateien (XML, CSV): Dabei muss die Datenhaltung auf dem Pocket PC nicht zwingend in derselben Form erfolgen, wie auf dem Desktop bzw. Server. Bei kleinen Datenmengen bietet sich dies zwar an, da hierdurch der Datenabgleich vereinfacht wird. So lassen sich im einfachsten Fall kommagetrennte Textdateien (CSV: Comma Separated Values) oder alternativ auch XML-Dateien komplett per ActiveSync-Dateisynchronisation vom Desktop auf den Pocket PC übertragen, dort bearbeiten und zu einem späteren Zeitpunkt wieder auf den Desktop aufspielen. Dies ist vom Datenabgleich sicherlich die einfachste Variante, aber auch die am wenigsten flexibelste, denn hier können die Daten immer nur an einer Stelle geändert werden.
Pocket Access (CDB): Etwas mehr Flexibilität beim Datenabgleich erhält man bei Verwendung von Access- bzw. Pocket-Access-Datenbanken (CDB: Compact DataBase). Diese werden zwar auch per ActiveSync synchronisiert, hier findet jedoch ein zeilenweiser Abgleich statt, so dass nur die jeweils geänderten Zeilen übertragen werden. Damit sind die Daten bedingt auf beiden Seiten änderbar. Hier ist jedoch zu beachten, dass dieses Format vom .NET Compact Framework nicht mehr direkt unterstützt wird (hier muss man stattdessen auf Bibliotheken von Drittanbietern zurückgreifen). Auch der Datenabgleich per ActiveSync wird spätestens ab Windows Mobile 5 nicht mehr offiziell unterstützt.
SQL Server Mobile: Bei grösseren Datenmengen sollte SQL Server Mobile in zusammenarbeit mit einem SQL Server verwendet werden, zumal dieser mit Remote Data Access und Replikation die professionellsten und flexibelsten Varianten des Datenabgleichs ermöglicht. Für beide Varianten muss auf Seiten des Pocket PCs lediglich eine Internetverbindung bestehen, während der Webserver im Firmennetzwerk Zugriff auf den SQL Server mit den Unternehmensdaten hat. Über diese Verbindung stehen ähnliche Abgleichverfahren zur Verfügung, wie man sie von der Replikation zwischen zwei vollwertigen SQL Servern kennt: Daten können auf beiden Seiten geändert werden und werden automatisch aktualisiert (Screen 1).
Mischform mit XML als Zwischenformat: Es sind aber auch Mischformen möglich, indem man die unterschiedlichen Datenformate durch ein standardisiertes Zwischenformat entkoppelt. Dabei werden die Unternehmensdaten in einem beliebigen Datenbank-Management-System abgelegt, das einen Export der Daten (oder eines Teils der Daten) im XML-Format erlaubt. Diese werden dann per ActiveSync-Dateisynchronisation auf den Pocket PC übertragen und dort eventuell sogar wieder in eine SQL Mobile Datenbank importiert. Vorteil dieser Variante ist eine grösstmögliche Skalierbarkeit auf beiden Seiten. Server-seitig kann praktisch jedes Datenbanksystem verwendet werden, das es erlaubt, die Daten im XML-Format zu exportieren. Somit kann ein Kunde auf dem Desktop Access verwenden, ein anderer einen SQL-Server von Microsoft oder auch andere Datenbank-Management-Systeme wie beispielsweise Oracle oder DB2. Client-seitig sind verschiedene Front-Ends (z.B. für Smartphones, Pocket PCs oder auch Handhelds) realisierbar, die allesamt die vom Server erzeugten XML-Dateien importieren und weiterverarbeiten können.Diese grösstmögliche Flexibilität erkauft man sich durch einen einmaligen Mehraufwand, da für Import und Export des XML-Formats zumindest auf Pocket PC Seite eigene Routinen programmiert werden müssen (wobei dies dank der guten XML-Unterstützung des .NET Compact Frameworks kein allzu grosser Aufwand ist) (siehe Tabelle unten / Screen 2 auf S. 53).

Aktualität mit zentralen Daten

So wie die Datenhaltung die Skalierbarkeit beeinflusst, ist die Aktualität der Daten primär von der Verbindungsart abhängig. In den bereits beschriebenen Szenarien wurde meist von einer manuell angestossenen Synchronisation ausgegangen. Im Normalfall bedeutet dies, dass das Mobilgerät nur einmal zu Beginn oder Ende eines Arbeitstages per Docking Station mit dem Server verbunden wird um sich einen Auszug der Daten abzuholen, bzw. die geänderten Daten wieder auf den Server zu übertragen. Somit ist eine Verzögerung von bis zu einem Tag möglich. Abhilfe schafft eine zwar manuell angestossene aber häufiger vorkommende Aktualisierung beispielsweise per GPRS-Verbindung. Die grösstmögliche Aktualität erreicht man selbstverständlich bei konstanter Verbindung (beispielsweise durch UMTS oder WLAN). Somit können die Daten vom Server nahezu in Echtzeit abgerufen und/oder aktualisiert werden. Dazu eignet sich entweder der Datenbankabgleich per Replikation, alternativ kann man bei konstanter Verbindung die Datenhaltung auch komplett auf dem Server belassen, indem man auf dem Pocket PC lediglich die Präsentationsschicht durch ein eigenes Front-End realisiert, das per direktem Datenbankzugriff oder auch über Web-Services auf den Server zugreift. Noch einen Schritt weiter geht es, wenn man auch die Präsentationsschicht auf den Server auslagert, indem man eine Webanwendung nutzt, die durch Verwendung von speziellen ASP.NET Mobile Controls speziell auf die kleinere Displaygrösse von Pocket PCs und Smartphones zugeschnitten ist (Screen 3).

Fazit:

Individuell entscheiden Wie nicht anders zu erwarten war, kann man leider keine allgemeine Empfehlung geben, dass diese oder jene Variante die beste ist. Vielmehr gilt es abzuwägen, wie hoch die Anforderungen an Aktualität der Daten und Skalierbarkeit sind. Denn je höher diese sind, desto höher wird auch der anfängliche Programmier- oder Konfigurationsaufwand. Aufgrund der Kürze des Artikels konnten die zugrunde liegenden Technologien hier natürlich nur kurz angerissen werden. Der Text sollte jedoch hilfreich dabei sein, eine Idee zu bekommen, mit welchen Technologien man sich intensiver auseinandersetzen sollte.
Robert Panther



Das könnte Sie auch interessieren