Home
Fachhochschule der Wirtschaft -FHDW
Contents
1. Abbildung 14 Aktivit tsdiagramm DBS Test durchf hren Abbildung 15 zeigt den vollst ndigen Ablauf eines Synchronisationstestes Auch hier werden zun chst vorbereitende Schritte unternommen Der Tester muss zun chst daf r sorgen dass das Ger t f r eine Verbindung mit dem Server die zu testende Technologie verwendet Dies kann man ber die Netzwerkeinstellungen des Betriebssystem 65 einstellen Wie beim DBS Test wird die Aktivit t Testzustand herstellen durchgef hrt wenn auf dem Client noch nicht alle unn tigen Prozesse beendet worden sind Weiterhin werden die Parameter f r den Test ermittelt und gepr ft sowie sichergestellt dass eine Basisdatenmenge vorhanden ist Mobiler Client Testzustand hergestellt Maximale Datenmenge erreicht N chste Synchronisationsdatenmenge ermitteln Testsession beenden Parameter f r den Synchronisationstest ermitteln Parameter vollst ndig und korrekt eingegeben Wal Na Basisdatenmenge erstellt Y Nein Synchronisationsdatenmenge Mobile Datenbank bereirigen aktuele Datenmenge und mit Basisdatenmenge f llen rh O T welche f r den Test synchronisiert werden soll lt lt central buffer gt gt Einf gedatum Ist der aktuelle Durchlauf ein Vorlauf Nein Synchronisation durchf hren Zeitmessung beenden und Zeit sp
2. der Auswahlbox unter der berschrift Zeiteinheit rechts neben der Testfallauswahl kann die Gr enordnung der Laufzeit f r die Graphen ausgew hlt werden Millisekunden Sekunden Minuten w hrend die letzte Auswahlbox ganz rechts die Gr eneinheit der Datenmenge ausw hlt kB oder MB Die Auswahlbox f r die Gr eneinheit der Datenmenge ist lediglich dann aktiv wenn die Datenmenge nicht in Anzahl Zeilen angegeben wird wie z B bei den DBS Tests angewendet werden soll Mithilfe des Schalters Anzahl Zeilen Byte kann man die Einheit der Datenmenge zwischen Anzahl der Zeilen und Byte umschalten EE Server Kontrolle Datei Testauswertung Prozesse berpr fung der Messergebnisse Test Client t Aktualisierung von Daten T Kopieren Bild speichern als Seite einrichten Drucken Punktwerte anzeigen T E o N o F t 5 E o nm Ma stab auf Standardwert setzen 10 10 Getestete Datenmenge kB Szenario nderung v Testfall Aktualisierung von D w Zeiteinheit Dateneinheit Anzahl Zeilen Byte Skalierung X Log Skalierung Y Log v Millisekunden kB v L sche Ansicht Abbildung 35 Screenshot Darstellung der Messergebnisse Mithilfe des Buttons L sche Ansicht stellt man den Grundzustand der Maske durch das L schen aller Graphen her Mithilfe eines Rechtsklick auf das Diagramm ffnet sich das
3. Abbildung 8 Beispieldiagramm Abbildung 8 stellt f r dieses Vorgehen ein Beispieldiagramm dar Bei der Erstellung der Diagramme ist eine Auswahl von aussagekr ftigen Achseneinheiten wichtig z B Anzahl Datens tze f r die Datenlast Innerhalb dieser Arbeit ist die logarithmische Einteilung der Achsen zu beachten Im folgenden wird ein Testsystem aufgebaut welches zeigen soll f r welche Anforderungen und Lasten die Synchronisationen ber Funktechnologien sowie mobile DBS geeignet sind 43 6 Durchf hrung eines Performance Tests eines mobilen Datenbanksystems und einer Synchronisation Innerhalb dieses Kapitels wird durch die Realisierung eines Performance Tests bestehend aus mehreren Schl sselszenarien gezeigt werden wie stark sich die Einfl sse der mobilen Umgebung auswirken Daf r wird eine Testapplikation bereitgestellt Der Aufbau dieser Applikation wird ebenfalls dargestellt 6 1 Einf hrung F r den Performance Test wird eine Testumgebung ben tigt die ein mobiles Ger t mit einem mobilen DBS einem zentralen DBS sowie einem Replikationsserver der den Datenabgleich zwischen mobilen DBS und zentralem DBS bernimmt enth lt Um ein solches System automatisiert testen zu k nnen wird eine verteilte Applikation entwickelt welche die Durchf hrung vorher definierter Testf lle erm glicht sowie zus tzliche Dienste bereitstellt Dazu geh rt z B das Herstellen eines Testzustandes auf der Server und Clientseite durc
4. bernimmt Schicht zwei neben den Sicherungsmechanismen auch die Techniken zum Mehrfachzugriff auf das Medium Innerhalb von Schicht drei wird die Auffindung des jeweiligen Kommunikationspartners realisiert Daneben erm glicht sie innerhalb von WWANs die bergabe von Verbindungen zwischen zwei Basisstationen bzw Zellen diese werden im folgenden noch n her erl utert Innerhalb von Schicht sieben k nnen spezielle Probleme durch die mobile Umgebung auftreten Dazu geh rt z B die Auffindung von Diensten in mobilen Ad Hoc Netzwerken und die Verwendung verschiedener Ger te und Betriebssysteme WLANs unterteilen sich dabei in zwei unterschiedliche Arten von Netzwerken Zun chst gibt es Funknetze die auf einer station ren Basisstation basieren welche die Verwaltung des drahtlosen Netzwerkes bernimmt Diese kann eine Weiterleitung in kabelbasierte Netzwerke oder dem Internet anbieten Um eine gr ere Abdeckung des WLANs zu erreichen k nnen mehrere Basisstationen eines WLANs miteinander verbunden werden Dem gegen ber stehen die Ad Hoc Netzwerke in denen sich die teilnehmenden Ger te selbst organisieren Diese Art des WLANs hat keine Infrastruktur auf die sie sich st tzen kann Somit verbleibt der Verwaltungsaufwand des Netzwerkes bei den einzelnen Teilnehmern Welche von diesen beiden Kategorien von Netzwerken unterst tzt werden h ngt von der jeweiligen Technologie ab Die verschiedenen Techniken und Probleme haben zu mehrer
5. lt lt device gt gt il r Speichermed Speichermedium peichermedium lt lt execution enviroment gt gt Is Synchronisation Datenhaltung lt lt component gt gt SQI Server 2005 lt lt component gt gt SAI Server CE D Server Agent f r die Replikation Datenhaltung Datenhaltung lt lt artifact gt gt O TestService Lieferung von Teststeuerung erlaubten Prozessen und Ergebnis lt lt artifact gt gt D bertragung TestProfile xmi lt lt artfact gt gt Client Agent f r die Replikation m Datenhaltung Datenhaltung lt lt executable gt gt ServerSteuerung exe j gt a an a e a am an a a a an ad Steuerung des Replikationssystems lt lt executable gt gt n TestSuite exe Abbildung 10 Verteilungsdiagramm der Testkomponenten 134 Vergl Kapitel 6 5 135 Zum Aufbau von Verteilungsdiagrammen vergl Rupp Chris et al 2007 S 211ff und S 223ff sowie 61 Die Testapplikation besteht aus einer Anwendung auf Clientseite TestSuite exe sowie Serverseite ServerSteuerung exe und einer Webapplikation TestService welche Web Services f r die Steuerung des Servers sowie Schnittstellen zur bertragung von Messergebnissen enth lt Zus tzlich kommt das mobile DBS und das Server DBS mit dem Agent System f r die Replikation zum Einsatz Di
6. Durch St rungen wie z B Geb ude mit einer schlechten Durchl ssigkeit von Funkwellen oder laufende Maschinen Falls auch Gesch ftskunden mit entsprechenden Anlagen zum Kundenstamm geh ren kann allerdings die Verbindung zum WWAN abbrechen Weiterhin decken auch WWANs nicht alle Bereiche ab Somit m ssen die Applikationen auf dem Ger t eine Datenhaltung und verarbeitung f r eine Offline Verwendung realisieren Solche Clients werden als Thick Clients bezeichnet Da die Daten in vielen Szenarien sp ter zentral verf gbar gemacht werden m ssen und die leistungsschwachen Ger te nicht immer eine komplette Verarbeitung bernehmen k nnen m ssen Strategien f r eine Synchronisation mit dem zentralen System und einer Verteilung von Daten realisiert werden Daraus resultiert ein erh hter Entwicklungsaufwand f r mobile Applikationen und h here Kosten der einzelnen Applikationen Mit der zuk nftigen Weiterentwicklung der mobilen Funknetzwerke ebenso wie der zunehmenden Leistungsf higkeit von mobilen Ger ten entsch rfen sich die Probleme der mobilen Ger te Die Unsicherheit der Verbindungen bleibt aber bestehen Den M glichkeiten der Applikationen die durch mobile Datenbanken eine gewisse Unabh ngigkeit erlangt haben stehen ebenfalls Probleme gegen ber Eingeschr nkt werden die mobilen Applikationen durch eine geringe Leistungsf higkeit der Ger te sowie die Komplexit t die durch die Synchronisation und Datenverteilung entstehen
7. Ein Modell welches an mobile Ger te angepasst ist und ein pessimistisches Synchronisationsverfahren verwendet ist das Virtual Primary Copy Modell Dieses Modell stellt eine Weiterentwicklung des Primary Copy Modells dar Das Primary Copy Modell stellt einen Peer To Peer Ansatz dar bei dem von jedem zu replizierenden Datensatz eine Masterkopie auf einem Knoten innerhalb des Gesamtsystems existiert nderungen werden zuerst an der Masterkopie durchgef hrt Bevor die nderungen durchgef hrt werden wird die Masterkopie f r weitere nderungen gesperrt Die an der Masterkopie vorgenommenen nderungen werden dann an den Kopien vorgenommen und danach wird die Sperre wieder entfernt Falls die Masterkopie auf einem mobilen Ger t ohne Konnektivit t liegt k nnen nderungen nicht durchgef hrt bzw beendet werden solange die Verbindung nicht wiederhergestellt ist Daher wird beim Virtual Primary Copy Verfahren von den Masterkopien jeweils eine virtuelle Masterkopie angelegt An diese wird die Anforderung gestellt dass sie st ndig erreichbar ist z B indem sie sich auf einem station ren Teilnehmer befindet nderungen werden falls die Masterkopie nicht erreichbar ist an der virtuellen Kopie vorgenommen welche sp ter mit der Masterkopie wieder vereint wird Das Problem der Unerreichbarkeit der Masterkopie wird damit entsch rft Ger te ohne Konnektivit t zur virtuellen und regul ren Masterkopie k nnen trotz dessen keine nderungen an
8. Datengenerators werden unter anderem die Datenmengen f r die Synchronisation erzeugt und gel scht Um Werte f r die Datenmengen zu generieren liefert die Klasse ServerWerteGenerator zuf llig generierte Werte Die Klasse TestDatenbankZugang stellt den zweiten Teil dar Mit ihr wird ein Zugriff auf die Relationen f r die Messergebnisse erm glicht Der Web Service TestSessionSyncTest greift auf die Klassen ServerDatenGenerator sowie TestDatenbankZugang zu um den Synchronisationstest zu erm glichen w hrend der Web Service TestSessionDBSTest die Klasse TestDatenbankZugang f r die bertragung der Messergebnisse ben tigt System Web Ruft Applikationsinformationen 4 und globale Variablen ab aus einem Speichert Applikationeninformationen und applikationsweite Informationen in einem TestSessionDBSTest TestSessionSyncTest Application_Start ein sender object ein e EventArgs H Application_Endfein sender object ein e EventArgs Eg Ts Erm glicht die Eintragung von Messergebnissen in die Serverdatenbank mit einen Erm glicht den Umgang mit 7 Testdaten mit einem TestLibraryServer Rz F llt Serverdatenbank mit Werten aus einem z 1 ServerWerteGenerator Ermittelt Applikationspfade zu ServerSteuerung Prozessen mit einem b u L dt und speichert Prozessprofile u Stell Testzustand A 1 Datenbank her mithilfe einer 1 Erstellt Serverdatenban
9. 54 B DS 3 16Z 2 32B NULL 0B 10Z 2 20B 134 B 14Z 2 28B 54 B DS 4 8Z 2 16B NULL 0B 52 Tabelle Nr des Ds oder Gr enberechnung der Gesamtgr e Datensatz Gesamtgr e Anzahl Ds Felder Datens tze Relation 8Z 2 16B 21Z 2 42B mar 54B DS 5 56Z 2 112B 15Z 2 30B 19Z 2 38B 270 B 18Z 2 36B 54 B DS 6 492 2 98B 17Z 2 34B 36Z 2 72B 360 B 51Z 2 102B 54 B DS 7 26Z 2 52B NULL 0B NULL 0B 202 B 52 Z 2 104B 54 B DS 8 26Z 2 52B NULL 0B 144B 19Z 2 38B NULL 0B 54B Auftrag DS 1 NULL 0B 54 B 518 B 54B DS 2 36Z 2 RB 126 B 54 B DS 3 24Z 2 48B 102 B 54B DS 4 64Z 2 128 B 182 B 54 B DS 5 NULL 0B 54 B 54 B Artikel DS 1 20Z 2 40B 114 B 1352 B 74B DS 2 12Z 2 24B 98 B 74B DS 3 17Z 2 34B 108 B 74B DS 4 NULL 0B 74 B 74B 53 Tabelle Nr des Ds oder Gr enberechnung der Gesamtgr e Datensatz Gesamtgr e Anzahl Ds Felder Datens tze Relation DS 5 NULL 0B 106 B 74B DS 6 162 2 32B 106 B 74B DS 7 152 2 30B 104 B 74B DS 8 30Z 2 60B 134 B 74B Position 12 DS 12 Ds 52 624 B Produktart 3 DS 3 Ds 44 132 B Kollektion 14 DS 14 Ds 60 840 B Tabelle 9
10. Berechnung der Gr e der Datenbl cke f r das Erh hen der Last alle Szenarien Die Datenbl cke aus Tabelle 9 werden f r s mtliche Szenarien verwendet Die reale Datenmenge die in die zentrale und mobile Datenbank eingef gt wird wird weiterhin durch einen Overhead f r die Verwaltung der Datens tze im SQL Server sowie durch die Replikationstechniken des SQL Servers erh ht Die Verwaltung der Daten belegt pro Feld 1 Byte und pro Zeile 6 Byte F r die Verwaltung der Replikation vergr ert sich jede Zeile der einzelnen Tabellen um einen Integer Wert 4 Byte einen Globally Unique Identifier GUID Werte dieses Datentyps sind weltweit eindeutig und sind 16 Byte gro sowie ein Bin rfeld mit einer Gr e von 24 Byte In dieser Arbeit soll die Gr e der reinen Nutzdaten betrachtet werden daher werden die Gr en f r die Verwaltung der Daten sowie der Replikation nicht mit in die Berechnungen f r die Datenmengen aufgenommen Die einzelnen Attribute der Datens tze werden mit Werten aus einem Zufallsgenerator gef llt F r Aktualisierungen die beim Test der Synchronisation einen weiteren Teil der zu synchronisierenden Daten ausmachen ndert sich die Berechnung aus Tabelle 9 da die Werte die die jeweilige Zeile identifizieren nicht ver ndert werden sollen Szenario 1 Dasselbe gilt f r die Fremdschl ssel sowie f r das Erstellungsdatum Daf r wird das nderungsdatum gef llt Damit wird die Komplexit t des Update Vo
11. INNER Position ON Auftrag AuftraglId Position Auftragld INNER JOIN Artikel ON Artikel Artikelld Position Artikelld Kunde Nachname LIKE TESTKUNDE AND Kunde ErstellungsZeitpunkt lt ErstellungsZeitpunkt BY Nachname Bezeichnung JOIN JOIN Der dritte Testfall f r Szenario 2 stellt eine komplexe Abfrage dar Diese ist in dem folgendem Datenbank Listing dargestellt Neben der Verbindung aller sechs Relationen der wird die Einschr nkung der Datens tze ber eine Unterabfrage Zeile 21 23 realisiert Weiterhin wird nach drei Attributen sortiert Bei dieser Abfrage ist aufgrund der aufw ndigen Operationen eine lange Laufzeit auf dem mobilen Ger t zu erwarten 01 SELECT Kunde Vorname Kunde Nachname Kunde Strasse Kunde Ort 02 03 04 05 06 OTi 08 094 FROM vo 20 WHERE 21 22 23 24 ORDER 254 Kunde PLZ Kunde KundenNr Kunde ErstellungsZeitpunkt AS KundeErstellung Kunde AenderungsDatum Auftrag AuftragDatum Auftrag Rabatt Auftrag Kommentar Auftrag AuftragsArt Auftrag ErstellungsZeitpunkt AS AuftragErstellung Position Menge Position PreisBeiBestellung Position ErstellungsZeitpunkt AS PositionErstellung Artikel EAN Artikel Preis Artikel Bezeichnung Artikel Kollektionld Produktart ProduktArtName Kollektion KollektionName Kunde INNER JOIN Auftrag ON Kunde Kundeld Auftrag Kundeld INNER JOIN Position ON Auftrag AuftraglId Position Auftragld INNER JOINArtikel ON Position Artik
12. Implementierungskonzepte f r Datenbanksysteme Springer Berlin 2003 93 Shanmugam Ramadas Padmini R Nivedita S Using TCP IP Special Edition QUE Indianapolis 2002 Skibo Craig Young Marc Johnson Brian Arbeiten mit Microsoft Visual Studio 2005 Mit Makros und individueller Konfiguration Visual Studio 2005 optimieren Microsoft Press Unterschlei heim 2006 Sneed Harry M Baumgartner Manfred Seidl Richard Der Systemtest Von den Anforderungen zum Qualit tsnachweis Hanser Fachbuch M nchen 2009 Spillner Anderas Linz Tilo Basiswissen Softwaretest Aus und Weiterbildung zum Certified Tester dpunkt Verlag Heidelberg 2007 Stein Erich Taschenbuch Rechnernetze und Internet Hanser Fachbuch M nchen 2007 Tannenbaum Andrew S 2003 Moderne Betriebssysteme Pearson Studium M nchen 2003 Steiner Ren Grundkurs Relationale Datenbanken Einf hrung in die Praxis der Datenbankentwicklung f r Ausbildung Studium und IT Beruf Vieweg Verlag Wiesbaden 2003 Tannenbaum Andrew S van Steen Maarten Verteilte Systeme Prinzipien und Paradigmen Pearson Studium M nchen 2008 Terry Douglas B Satyanarayanan Mahadev Hrsg Replicated Data Management for Mobile Computing Synthesis Lectures on Mobile and Pervasive Computing Morgan amp Claypool San Rafael 2007 Thaller Georg Erwin Software Test Verifikation und Validation Heise Hannover 2002 Tse David Viswanath Pramod Fundament
13. Um mehrere Snapshots zu b ndeln und den Clients zur Verf gung zu stellen kann das Snapshot Modell mit einem Publish Subscribe Modell kombiniert werden Beim Publish Subscribe Modell werden Publikationen erstellt die aus einem oder mehreren Snapshots Publikationsartikel bestehen Bei diesem Modell bietet sich eine Replikationsschicht an die die Verwaltung dieser Publikationen bernimmt Clients k nnen sich f r die verschiedenen Publikationen anmelden um diese zu erhalten und lokal zu speichern Subskription Dies kann auch dynamisch w hrend der Ausf hrung einer Applikation geschehen um Daten zu erhalten die zum Zeitpunkt des Abgleichs ben tigt werden Das Snapshot Verfahren stellt eine f r Thick Clients gut angepasste Struktur dar da lokale nderungen ohne Verbindung durchgef hrt werden k nnen Das SQL Server System verwendet f r bidirektionale Synchronisation eine Kombination aus diesen beiden Modellen 4 3 3 Vergleich von Architekturen f r verteilte DBS mit mobilen Ger ten Innerhalb dieses Kapitels wird eine Architektur f r das in dieser Arbeit aufzubauende verteilte DBS ausgew hlt F r die Verteilung von Datenbanksystemen gibt es mehrere Architekturen um die einzelnen Komponenten als Gesamtsystem auftreten zu lassen Abbildung 7 stellt zwei grundlegende Ans tze vor Die Architektur mit einem mobilen Multidatenbanksystem MDBS stellt eine Architektur dar die dem logischen Aufbau einer verteilten Datenbank wie
14. higkeit auf die Performance auswirkt Um darzustellen welchen Beschr nkungen die Netzwerktechnologien f r mobile Ger te unterliegen werden in dieser Arbeit zun chst die Grundlagen der mobilen Kommunikation dargestellt Dabei wird speziell auf die Funktechnologien eingegangen da diese die mobile also ortsunabh ngige Kommunikation erm glichen Weiterhin werden die Schwachpunkte in den Technologien aufgezeigt ein berblick ber die 1 einzelnen Technologien gegeben sowie die Konsequenzen aus den Schw chen dargestellt Im weiteren Verlauf wird beschrieben wie mobile Datenbanksysteme strukturiert und aufgebaut werden Dazu geh ren die Anforderungen welche an Systeme gestellt werden die eine strukturierte Speicherung von Informationen realisieren Dabei werden allgemeine Anforderungen wie auch Anforderungen an mobile Systeme dargestellt Weiterhin wird der Aufbau von Datenbanksystemen dargestellt Dabei werden zun chst allgemeine Konzepte und dann speziell mobile Architekturen betrachtet Abgeschlossen wird dieses Kapitel mit einer kompakten Darstellung der Grenzen von mobilen Datenbanksystemen Fortgesetzt wird die Arbeit mit der Beschreibung von verteilten Systemen und verteilten Datenbanken in Kapitel 4 welche mobile Ger te mit einbeziehen Diese bilden die Grundlage f r die Sammlung von Daten in einem zentralen System Um verteilte Systeme zu beschreiben wird zun chst auf die Anforderungen der mobilen Netzwerkschnittstellen
15. 1 f r die realen Laufzeiten und die Messwerte angenommen Weiterhin wird eine Irrtumswahrscheinlichkeit amp festgelegt in der Praxis normalerweise zwischen 5 und 10 Werte ber 20 lassen eine zu hohe Irrtumswahrscheinlichkeit zu mit der die berpr fung falsch liegen kann sowie ein Wert d mit dem ein Intervall um den Mittelwert 7 der Messwerte gebildet wird das Intervall berechnet sich aus 7 d F r d hat sich gezeigt dass die Definition d b Mittelwert der Messreihe gute Ergebnisse liefert wobei b zwischen 0 05 und 0 1 max jedoch 0 2 gew hlt werden sollte ansonsten wird die berpr fung zu ungenau Der Test pr ft mit einer Irrttumswahrscheinlichkeit amp ob sich die durchschnittliche reale Laufzeit im definierten Intervall um die gemessene durchschnittliche Laufzeit befindet F r diese berpr fung wird das so genannte Ui w2 Quantil der Normalverteilung 0 1 ben tigt Dies bedeutet die Verwendung des Quantils der Normalverteilung welches sich aus der Wahrscheinlichkeit 1 2 ergibt Basierend auf diesen Parametern kann berpr ft werden ob die Anzahl der Wiederholungen ausreicht um einen aussagekr ftigen Mittelwert zu erhalten oder ob die Messungen durch u ere Einfl sse zu stark verzerrt worden sind Die genauen Berechnungen die in dem Test implementiert werden sind in Anhang 1 dargestellt Das Quantil der Normalverteilung zu einer Wahrscheinlichkeit kann aus Anhang 2 entnommen werden Ein w
16. 113 Vergl Beydeda Sani Hrsg 2004 S 87f und Jain Raji 1991 S 37ff 40 diese durchgef hrt werden und wie ein korrektes Ergebnis aussehen soll Innerhalb eines Projektes stellt dieser Schritt einen Teil der Planung dar damit vor der Realisierung klar ist welche Teile wie getestet werden Damit wird verhindert dass die Implementierung eines Projektes den Aufbau der Tests beeinflusst Innerhalb eines normalen Projektes geh ren zu den Anforderungen auch Aussagen zum Performanceverhalten des Systems wie z B die maximale Reaktionszeit Innerhalb dieser Arbeit werden keine solchen Vorgaben gemacht da hier gezeigt werden soll wie das Performanceverhalten der zu testenden Systemteile ist Reale Vorgaben die als maximale Grenze dienen gibt es nicht Nach der Definition der Szenarien der Arbeitslast sowie der einzelnen Testf lle werden diese in einer Testumgebung ausgef hrt Beim Aufbau einer Testumgebung muss auf eine Isolierung der zu testenden Software oder des zu testenden Systems vor u eren Einfl ssen geachtet werden um eine verl ssliche Aussage zur Performance der Software zu treffen Dies bedeutet z B das Beenden aller unn tigen Prozesse auf den beteiligten Ger ten Damit wird die Performance des Ger tes lediglich durch ben tigte Prozesse sowie dem Testsystem belastet Dadurch k nnen Messungenauigkeiten reduziert werden Trotz der Isolierung werden Messungen von verschiedenen nicht beeinflussbaren Faktoren wie
17. 1998 S 458 103 3 Datendefinition der Testdatenbank Kunde Kundeld Vorname Nachname Strasse Ort PLZ KundenNr ErstellungsZeitpunkt AenderungsZeitpunkt Auftrag Auftragld AuftragDatum Rabatt Kommentar AuftragsArt ErstellungsZeitpunkt AenderungsZeitpunkt Kundeld Produktart ProduktArtld ProduktArtName ErstellungsZeitpunkt AenderungsZeitpunkt Kollektion Kollektionld KollektionName ErstellungsZeitpunkt AenderungsZeitpunkt ProduktArtld Artikel Artikelld EAN Preis Bezeichnung ErstellungsZeitpunkt AenderungsZeitpunkt Kollektionld Position Artikelld Auftragld Menge PreisBeiBestellung ErstellungsZeitpunkt AenderungsZeitpunkt Inklusionsabh ngigkeiten Auftrag Kundeld S Kunde Kundeld Kollektion ProduktArtld G Produktart Produkt Artld Artikel Kollektionld Kollektion Kollektionld Position Artikelld Artikel Artikelld Position Auftragld Auftrag Auftragld 104 4 Installationsanleitung f r das Testsystem Um das Testsystem zu installieren m ssen die Softwareteile die in Abbildung 10 in Kapitel 6 8 1 dargestellt werden installiert bzw vorbereitet werden Die einzelnen Komponenten auf der CD welche in dieser Arbeit mitgeliefert werden sind in Tabelle 14 dargestellt Inhalt Beschreibung Pfad auf der CD Mobile Testapplikation Dieser Ordner enth
18. 2 E Em oO ogo 0 00039522633744 Abbildung 46 berpr fung Szenario 2 Testfall Anfrage mit niedriger Komplexit t Datenmenge Berechnung Wiederholungen 9 23492845823772 Datenmenge Berechnung Wiederholungen 4 44399349844193 0 00109408330366 0 02342348853934 0 00751611871240 0 00094070400979 w oO En gt nm ogo oO 0 00051342844732 0 00045293156027 8 92228189867905 3 97660576574711 Bo oo 8 oO oO oO oO 1 E E 2 E 5 _ E oz oo ZB SZ SZ So ZB SZ OO en E E E E E E 5 _ Cs oz oz oo ZB SZ SZ So ZB SZ OO oo oO Abbildung 47 berpr fung Szenario 3 Testfall Aktualisieren von Daten Datenmenge Berechnung Wiederholungen 0 004917248 Datenmenge Berechnung Wiederholungen 0 00822710291493 0 01040507232394 0 002348234429 0 00282211202338 0 0060025 0 00531709342560 NE N E gm ogo 0 00282211202938 p oO oO 0 00282211202338 0 0025088 0 01742880907372 E E E BE oB oo oo oo oO 0 00053802037743 0 00154864197530 0 00166764850458 N pa B cc HB o Be En 8 sh sBsSsB sE E fm ss ss sB s EB Ss 335 sp ss 3535355 ogo E E E cH os Bo 3 o Ho Abbildung 48 berpr fung Szenario 3 Testfall Einf gen von Daten 117 Datenmenge Berechnung Wiederholungen bi u ogo _ oO 0 00054438658022 o po CHE E
19. 49 Vergl Lockemann Peter C et al 2004 S 347ff sowie Mutschler Bela et al 2004 S 199 und S 223 50 Vergl Mutschler Bela et al 2004 S 173 und 178f Weiterf hrende Literatur f r Pico Datenbanken stellt Mutschler Bela et al 2004 Kapitel 8 S 173ff dar 51 Vergl Microsoft 2009 b Microsoft 2009 c sowie Mutschler Bela et al 2004 S 257 19 mobilen Systems mit der Verwendung eines zentralen SQL Servers als Informationspool f r die Clients Dieses DBS ist f r m chtigere Clients gedacht und bringt ein eigenes Speichermodul sowie einen Abfrageprozessor mit der die Clientanfragen verarbeitet In dieser Struktur ist kein in den Server integrierter Warden wie in der allgemeinen Architektur vorgesehen Stattdessen sollen RDA Zugriffe oder Replikationsmechanismen verwendet werden um einen Abgleich mit einen zentralem System getrennt von den Anfragen an das mobile DBS zu erm glichen F r die Replikationsmechanismen wird ein Agent System verwendet Replikationen und Agent Systeme werden in Kapitel 4 n her erl utert RDA steht f r Remote Database Access und ist ein DBS unabh ngiges Protokoll um entfernte Datenzugriffe auf DB zu erm glichen Die Replikationsmechanismen des SQL Server 2005 haben an dieser Stelle gegen ber den RDA Zugriffen den Vorteil dass bereits Algorithmen zur Synchronisation implementiert worden sind und ein Kommunikationsmodell mit Agents zur Verf gung steht welches f r mobile U
20. 6 8 4 Pakelalfban ns a O E a a a 71 6 8 3 Modell Server a a nn ig 73 6 8 0 Modell mobiler Chert ee i as 76 6 9 Darstellung der Messersebnisse u nn Nie 79 6 9 1 Ergebnisse Szenario 1 Synchronisation von Daten u ee 79 6 9 2 Abschlie ende Betrachtung der Synchronisationsergebnisse 81 6 9 3 Ergebnisse Szenario 2 Anfragen zur Ermittlung von Daten aus der mobilen Datenbank 6 9 4 Ergebnisse Szenario 3 Datenmanipulationen 6 9 5 Abschlie ende Betrachtung der Datenbankergebnisse Ts Ergebnis und Ras lassen Literaturverzeichnis Abbildungsverzeichnis Abbildung 1 Abbildung 2 Abbildung 3 Abbildung 4 Abbildung 5 Abbildung 6 Abbildung 7 Abbildung 8 Abbildung 9 Abbildung 10 Abbildung 11 Abbildung 12 Abbildung 13 Abbildung 14 Abbildung 15 Abbildung 16 Abbildung 17 Abbildung 18 Abbildung 18 Abbildung 19 Abbildung 20 Abbildung 21 Abbildung 22 Abbildung 23 Abbildung 24 Abbildung 25 Abbildung 26 Abbildung 27 Abbildung 28 Abbildung 29 Abbildung 30 Abbildung 31 Clusteraufbau im WWAN Charakteristika der Funktechnologien der einzelnen Generationen Allgemeine Architekturen mobiler Datenbanksysteme Architektur des SQL Server CE Peer To Peer Modell und Client Server Modell Schemata einer verteilten Datenbank Architekturen eines verteilten DBS Beispieldiagramm Datenbankmodell f r den Performance Test seeeee
21. Abbildung 13 beschreibt aus welchen Teilschritten der Anwendungsfall Testzustand herstellen besteht Dieser Ablauf wird auf Clientseite wie auf Serverseite verwendet Dabei gilt auf der Serverseite dass im Unterverzeichnis Profile im Ausf hrungsordner der Web Services ein Testprofil abgelegt werden muss Falls mehrere Testprofile vorhanden sind wird von den Web Services das erste Profil genommen welches gefunden wird 7 Testzustand herstellen Aktion w hlen Prozess Testzustand Profil i beenden Profil hergestellt l laden Si hern Auf Serverseite sollte speichern die Konfigurationsdatei Prozess ausw hlen im Webserver liegen i Unterverzeichnis Profile Pfad eingeben Pfad eingeben des Web Services damit der Server vom Prozess beenden Client in einen Testzustand versetzt werden kann Nicht in dem Profil Aktuell laufende Prozesse vorhandene Prozesse mit Pfad des zugrundeliegenden beenden Programms in Datei schreiben T j l l l l l j m Profil vorhandene aber nicht laufende Prozesse starten Abbildung 13 Aktivit tsdiagramm Testzustand herstellen Abbildung 14 stellt die einzelnen Schritte dar aus denen der Anwendungsfall DBS Test durchf hren besteht Der Test startet mit der berpr fung ob sich das mobile Ger t im Testzustand befindet Dabei wird die Aktivit t Testzustand herstelle
22. Abbildung 28 Ergebnis Szenario 2 Die Laufzeiten der Abfragen steigen im Bereich von 10 000 Datens tze und mehr st rker an Dabei befindet sich die Laufzeit der komplexen Abfrage bei einer Datenmenge von 20 000 Datens tzen bereits im zweistelligen Sekundenbereich Solche Laufzeiten stellen f r viele Applikationen eine zu gro e Verz gerung durch die Ermittlung von Daten dar Die beiden anderen Abfragen erreichen diese Zeiten erst im Bereich zwischen 60 000 und 100 000 Datens tze Datenmengen die ber diesen Grenzen liegen f hren zu Laufzeiten die sich dem Minutenbereich stark ann hern bzw berschreiten Dabei ist die komplexe Abfrage hervorzuheben bei der Laufzeiten ber eine Stunde erreicht werden Selbst die Laufzeit der einfachen Anfrage ist mit einer Laufzeit von ca 100 Sekunden bei 500 000 Datens tzen weit ber den durchschnittlichen Performance Anforderungen welche an eine Datenhaltung gestellt werden 83 Somit ist die Laufzeit von Abfragen bis zu einer Datenmenge von 10 000 Datens tzen im akzeptablen Bereichen w hrend speziell Abfragen die mehrere Relationen betreffen ber einer solchen Datenmenge zu hohe Laufzeiten aufweisen Innerhalb eines Anwendungsfalls muss somit abgesch tzt werden welche Datenmengen auftreten sowie welche Komplexit t die Abfragen erreichen k nnen Mithilfe einer solchen Absch tzung sowie der hier ermittelten Ergebnisse wird ersichtlich ob das mobile DBS die an den Anwendungsfall gestel
23. Daten sicher Das Problem bei mobilen Systemen ist der Aufwand zur Erf llung der Transaktionsregeln welche die Laufzeit von Anfragen an das System erh ht Eine weitere Anforderung besteht aus der Realisierung einer Zugriffskontrolle Diese verwaltet die Benutzerrechte f r Benutzer und Applikationen die auf die Daten zugreifen wollen Dadurch wird ein unberechtigter Zugriff auf Daten verhindert Um auf die M glichkeit eines Systemabsturzes oder eines Fehlers des Speichermediums zu reagieren m ssen DBS eine Sicherungsschicht realisieren die die Entstehung von Inkonsistenzen verhindert Da nach einem Ausfall des Ger tes eine Verhinderung von Inkonsistenzen evtl nicht m glich ist m ssen entsprechende M glichkeiten geboten werden um nach einem erneuten Start des Systems die Konsistenz wieder herzustellen Neben den vorhergehenden Anforderungen werden an Datenbanksystemen der Anspruch gestellt dass diese Backup Funktionen anbieten mit denen in regelm igen Abst nden der Datenbestand gesichert werden kann 27 Vergl Saake Gunter et al 2008 S 388f und H pfner Hagen et al 2005 S 553f 28 Vergl Saake Gunter et al 2008 S 385 und Mutschler Bela et al 2004 S 115f 29 Vergl Saake Gunter et al 2008 S 7f 30 Vergl T rker Can et al 2006 S 4f 13 3 2 Anforderungen an mobile Datenbanksysteme An die mobilen Datenbanksysteme werden dieselben grundlegenden Anforderungen gestellt die auch an norm
24. Datenbank mit dem Namen DBTest aus die auf dem SQL Server per Hand angelegt werden muss Das Script selber legt die Tabellenstruktur an die f r die Tests und die Messergebnisse ben tigt werden F r die Erstellung der Publikation basierend auf den Tabellendefinitionen der 172 Die ben tigten Teile befinden sich auf der CD welche der Arbeit beiliegt 173 Auch als Download unter Microsoft 2009 f verf gbar 174 Als Download unter Microsoft 2009 g verf gbar 105 Testdatenbank muss zum einen eine lokale Publikation auf dem SQL Server 2005 erstellt werden zum anderen muss diese Publikation auf einen Web Server dem Replikationsserver ver ffentlicht werden F r das Ver ffentlichen auf einen Web Server k nnen die SQL Server 3 5 Server Tools verwendet werden Die Erstellung der Serverdatenbank sowie der Publikationen m ssen vor der Erstellung der mobilen Datenbank geschehen damit die mobile Datenbank vom Schema der Publikation abgeleitet werden kann HE Server Kontrolle Datei Datenbank erstellen Abbildung 32 Anhang Datenbank erstellen ber Serverapplikation Damit die Server Applikation die neu erstellte Datenbank findet muss die Verbindungszeichenfolge angeben werden F r diesen Zweck existiert in der Serverapplikation die Konfigurationsdatei ServerSteuerung exe config welche sich im selben Verzeichnis mit der Serversteuerung befindet Das folgende Listing stellt e
25. Datens tze Felder Datens tze Relation Kunde 8 Ds 4 30 Z 2 B 240 B 8 286B 2288B 2288 B 46 B Auftrag 5 Ds 68 Z 2 136B 5 158 B 958 B 958 B 22 B Artikel 7 Ds 60Z 2 120B 7 182 B 1274 B 1286 B 42 B 1 Ds 75Z 2 150B 1 192B 19B 42 B Position 12 Ds 12 Ds 20 240 B 240 B Produktart 3 Ds 3 Ds 28 84B 84 B Kollektion 14 Ds 14 Ds 28 392 B 392 B Tabelle 10 Berechnung der Gr e der Datenbl cke f r Ver nderungen Szenario 1 Innerhalb des Synchronisationsszenario soll jeweils eine H lfte der Last aus neuen Datens tzen und eine H lfte aus aktualisierten Datens tzen bestehen Wie das Verh ltnis zwischen neuen und aktualisierten Datens tzen in der Realit t aussieht ist abh ngig vom Anwendungsfall Um eine Filterung innerhalb von Abfragen zu erm glichen werden Suchbl cke verwendet Innerhalb solcher Bl cke werden in der Kundenrelation im Attribut Nachname der Wert Testkunde in s mtliche Datens tze des Blocks eingetragen und mit zuf lligen Zeichen vor und hinter dem Wert aufgef llt werden falls die L nge nicht zu den Berechnungen in Tabelle 9 passen um eine Suche nach einem Zeichenkriterium zu erm glichen Weiterhin wird in den Tests des DBS das Erstellungsdatum der 55 Suchbl cke gespeichert Damit k nnen die Anfragen f r Szenario zwei immer nach derselben Menge an Daten suchen indem das Erstellungsdatum mit als Kriterium bernommen wird Die einzelnen Messreihen eines Testlaufs
26. Kapitels werden die Grundlagen der Netzwerkkommunikation mobiler Ger te dargestellt Dabei beschr nkt sich diese Arbeit auf kabellose Technologien die mobilen Applikationen eine begrenzt ortsunabh ngige Kommunikation erlauben Diese werden im Normalfall von mobilen Ger ten zur Kommunikation verwendet 2 1 Technologien f r mobile Netzwerkkommunikation Bei Technologien f r mobile Kommunikation kann man zwischen zwei grundlegenden Systemen unterscheiden Erstens gibt es das Wireless Local Area Network WLAN f r die Verwendung in lokalen Bereichen wie z B einem Firmengeb ude Zweitens gibt es das Wireless Wide Area Network WWAN zur Abdeckung gro er Bereiche wie z B die Funknetzwerke f r Mobiltelefone Solche WWANs geben dem Benutzer eine wesentlich h here Ortsunabh ngigkeit Gleichzeitig ist der Aufbau komplexer und unterliegt zus tzlichen Beschr nkungen Die Strukturen des WWANs werden genauer dargestellt um zu zeigen wo im Gegensatz zu WLANs zus tzliche Beschr nkungen auftreten Weiterhin ist die Gesamtstruktur komplexer und es gibt im Gegensatz zu WLAN mehr Technologien mit unterschiedlichen Charakteristiken Die f r die kabellosen Netzwerke verwendeten Technologien basieren auf elektromagnetischen Wellen Charakterisierend f r diese Wellen ist die Frequenz Anzahl Schwingungen pro Sekunde Dabei steigt mit h heren Frequenzen die Anzahl der Daten die man bertragen kann Gleichzeitig steigt die Fehleranf lligkeit und
27. Messungen gezeigt hat muss bei der Planung eines Thick Clients ebenfalls die Datenbasis betrachtet werden welche sich zum Zeitpunkt einer Daten bertragung in der mobilen Datenbank befindet Diese wirkt sich direkt auf die Laufzeiten der Synchronisation aus und verz gert diese um Sekunden bis Minuten 155 Vergl f r eine Einf hrung in Sicherheitstechniken f r Funktechnologien vergl Eckert Claudia 2007 Kapitel 13 S 785ff 82 6 9 3 Ergebnisse Szenario 2 Anfragen zur Ermittlung von Daten aus der mobilen Datenbank Abbildung 28 zeigt das Ergebnis der Testf lle des Szenario 2 Da es sich bei allen drei Testf llen um Abfragen unter denselben Voraussetzungen handelt die sich lediglich in der Komplexit t unterscheiden werden sie zum Vergleich in einem Diagramm dargestellt Dabei zeigt sich ein starker Unterschied der Laufzeiten der komplexen Anfrage zu den beiden anderen Testf llen W hrend die Laufzeit der Abfrage mit mittlerer und niedriger Komplexit t bis zu mehreren tausend Zeilen sich im Bereich der Millisekunden befinden liegen die Laufzeiten der komplexen Abfrage bereits bei Datenmengen ber 1000 Datens tze im Sekundenbereich Test Client Anfrage mit hoher Komplexit t t Anfrage mit niedriger Komplexit t Anfrage mit mittlerer Komplexit t 10 nn Mn T E Ben tigte Zeit s 10 i H 10 10 10 10 108 Getestete Datenmenge Anzahl Zeilen
28. Neben der geringen Leistungsf higkeit der mobilen Ger te kommen auch zus tzliche Fragestellungen auf wenn ein mobiler Thick Client entwickelt wird Eine Frage ist z B wie bei mobilen Thick Clients auf die Heterogenit t der Ger te reagiert wird Einige mobile Ger te und mobile Betriebssysteme unterst tzen z B die Laufzeitumgebung von Java und Net bei anderen werden eigene Modelle angeboten 22 Vergl Hanhart Daniel 2008 S 12f und Coulouris George et al 2005 S 40 f 23 Vergl B Far Reza et al 2005 S 33f und H pfner Hagen et al 2005 S 2f 11 3 Darstellung mobiler Datenhaltung Das vorhergehende Kapitel hat die Notwendigkeit einer Datenhaltung auf mobilen Ger ten aufgezeigt Um diese Datenhaltung zu erm glichen gibt es heutzutage Datenbanksysteme die auf die beschr nkten M glichkeiten mobiler Ger te wie Handhelds PDAs und Mobiltelefone und kleinere Ger te angepasst sind Mobile Datenbanksysteme stellen eine wesentliche Grundlage zur Implementation von Thick Clients dar Sie erm glichen eine zentrale Verwaltung von Datenbest nden auf mobilen Ger ten und besitzen im Idealfall bereits Schnittstellen zu zentralen Systemen Allerdings stellt die Verwaltung von Datenbest nden in mobilen Umgebungen auch eine Stelle dar an der Performance Probleme auftreten k nnen Dieses Kapitel zeigt welche Anforderungen an mobile Datenbanksysteme gestellt werden und wie solche Systeme aufgebaut werden k nnen
29. Teil der so genannten nicht funktionalen Anforderungen dar Nicht funktionale Anforderungen stellen Qualit tsanspr che dar welche h ufig schwer messbar sind Dazu geh ren Anspr che wie z B einfache und intuitive Bedienung oder ein schnell reagierendes System Um Performance Anspr che messbar zu machen m ssen quantitative Aussagen zu bestimmten Performance Merkmalen getroffen werden Solche Merkmale stellen z B die Geschwindigkeit in der Anfragen verarbeitet werden oder die Anzahl von Operationen die in einer bestimmten Zeit m glich sind dar Diese Merkmale nennt man Metriken Anforderungen an solche Eigenschaften z B max Antwortzeit oder ein Minimum an Transaktionen welche innerhalb eines bestimmten Zeitfensters verarbeitet werden m ssen k nnen gemessen und berpr ft werden Performance Tests sind inzwischen Teil von standardisierten Testmodellen wie z B dem ISO Standard 9126 Performance Tests sind ein Mittel um festzustellen ob ein Gesamtsystem mit verschiedenen Softwarebestandteilen den Anforderungen an die Performance gen gt Falls solche Tests nicht vor der Einf hrung eines Systems durchgef hrt werden kann dies zu einem Fehlschlag des Projektes f hren Weiterhin k nnen Performance Tests zeigen f r welche Last ein System geeignet ist um Kunden oder den eigenen Marketing Experten Informationen zu einzelnen Metriken bereitzustellen Damit kann vor dem Kauf eines Systems entschieden werden ob dieses f r den jew
30. Testprofils auf dem Server falls keins vorhanden ist wird der Vorgang abgebrochen und alle f r den Synchronisationstest ben tige serverseitige Session Variablen erstellt 66 worden sind also Variablen welche mehrere Web Service Aufrufe berleben und zu einem Synchronisationstestlauf geh ren kann mit der eigentlichen Testdurchf hrung gestartet werden Dann wird quivalent zum DBS Test eine Messreihe simuliert um m gliche Schwankungen in der Laufzeit durch einen Start der Replikation und ein Aufbauen der entsprechenden Verbindungen zu vermeiden Dabei werden keine Messungen vorgenommen sondern lediglich die Synchronisation durchgef hrt Weiterhin wird eine Anzahl von Wiederholungen verwendet die lediglich f r den Vorlauf gilt Damit soll vermieden werden dass eine zu hohe Anzahl von Wiederholungen zur Vorbereitung den Test unn tig verz gern Der erste Schritt um eine Messreihe f r den Synchronisationstest zu erhalten besteht in der Ermittlung und Erstellung der f r die Messreihe ben tigten Datenmenge die synchronisiert werden soll f r die Erstellung der Datenmenge vergl Abbildung 16 Danach wird die Messung der Laufzeit der Synchronisation durchgef hrt Nach der Durchf hrung der Synchronisation wird die Laufzeit gespeichert und die neu eingef gten Daten gel scht um den Ursprungszustand f r die n chste Messung herzustellen Dieser Vorgang wird so lange wiederholt bis die vom Benutzer eingegebene Anzahl von Wie
31. Transport Protocol HTTPS Hypertext Transport Protocol Secure IEEE Institute Of Electrical And Electronics Engineers ISO International Standard Organisation LBS Location Based Services LDBS Lokales Datenbanksystem MDBS Multidatenbanksystem IIS Microsoft Internet Information Services OSI Open Systems Interconnection iv Remote Database Access Remote Procedure Call Short Message Service Simple Mail Transfer Protocol Simple Object Access Protocol Structured Query Language Transmission Control Protocol Internet Protocol Universal Mobile Telecommunications Service Time Division Multiplexing Wireless Application Protocol Worldwide Interoperability For Mikrowave Access Wireless Local Area Network Wireless Wide Area Network Extensible Markup Language Zeichen 1 Einf hrung Moderne Technologien haben zu einer Verkleinerung von Computersystemen gef hrt Dadurch sind kompakte und im Verh ltnis zur Gr e leistungsf hige mobile Ger te entstanden Beispiele daf r sind intelligente Mobiltelefone Smartphones Personal Digital Assistents PDA kleine Computer die man in der Hand tragen kann Spezialger te wie Barcodescanner f r Lagerh user welche direkt mit zentralen Systemen verbunden sind oder Navigationsger te Diese mobilen Ger te bilden die Grundlage um Benutzer unabh ngig von ihrem Aufenthaltsort zu unterst tzen Solche Ger te stehen h ufig vor dem Problem lokal Daten spe
32. Verbindung zu erm glichen Speziell die h here Mobilit t stellt einen zentralen Unterschied gegen ber den WLAN L sungen dar Mikro Zelle 4 Piko Zelle Abbildung 1 Clusteraufbau im WWAN Ein wichtiger Bestandteil dieser Netze sind Cluster die eine Zusammenfassung von mehreren Zellen mit jeweils einer eigenen station ren Basisstation darstellen siehe Abbildung 1 Dabei kann die Anzahl der Zellen variieren Idealerweise nehmen Zellen eine hexagonale Form an welche in der Praxis durch rtliche Gegebenheiten verzerrt werden Die Verbindungen in einer Zelle und somit zu einer Basisstation kann an eine zweite Zelle bergeben werden Auch zwischen verschiedenen Clustern k nnen Verbindungen weitergegeben werden Das gesamte Netzwerk wird aus solchen Clustern gebildet Innerhalb eines Clusters wird der verf gbare Frequenzbereich unter den einzelnen Zellen aufgeteilt Jeder Cluster kann wiederum denselben Frequenzbereich verwenden Dies funktioniert da sich Funkwellen mit der Zeit abschw chen und die Cluster eine solche Abdeckung erreichen dass sie sich nicht gegenseitig st ren Frequence reusing 13 Vergl Kurose James F et al 2008 S 526f und S 544f 14 Vergl Murthy C Siva Ram et al 2004 S 112 15 Vergl Murthy C Siva Ram et al 2004 S 110 ff und Tse David et al 2006 S 121 sowie Walke Bernhard 2001 S 53 7 Je weniger Zellen in einem Cluster vorhanden sind desto mehr Frequenze
33. Verteilungsdiagramm der Testkomponenten ceeennnnenn Datenbankschema der Datenbank f r die Speicherung der Messersebtissea se ds sr AD AHWENdINSS Tale ee zes Aktivit tsdiagramm Testzustand herstellen eese Aktivit tsdiagramm DBS Test durchf hren eese Aktivit tsdiagramm Synchronisationstest eeneeneeneneneennen Unteraktivit ten f r den Synchronisationstest enee Aktivit tsdiagramm Basisdatenmenge erstellen 00 Aktivit tsdiagramm berpr fung der Messergebnisse durchf hren Aktivit tsdiagramm berpr fung der Messergebnisse durchf hren Aktivit tsdiagramm Diagramme erstellen Aktivit tsdiagramm Datenbanken anlegen een Paketdiagramm sessiisseueetkkeasen cine Modell der Serversellen ans aan Modell mobile Testapplikation a Modell Clientbibli thek u usesen en Es Ergebnis Szenario 1 Testf lle f r GPRS cenen Ergebnis Szenario 1 Testf lle f r WLAN neensensenseen Ergebnis Szenario 1 Gegen berstellung WLAN und GPRS Erocbiiis SZenario 2 re er an Ergebnis Szenario 3 Testfall Aktualisierung von Daten Ergebnis Szenario 3 Testfall Einf gen von Daten Ergebnis Szenario 3 Testfall L schen von Daten
34. Vorgehens besteht in der Transparenz der Verteilung Benutzer des MDBS m ssen lediglich das globale System ansprechen ohne die Verteilung ber cksichtigen zu m ssen Allerdings k nnen mobile Knoten ohne Verbindung nicht auf das MDBS zugreifen Das MDBS tritt als Client der verschiedenen Knoten auf w hrend die Clients des gesamten DBS sich an das MDBS selbst wenden Der Begriff Multidatenbanksystem entstammt dem Umstand dass die einzelnen Knoten eigene Datenbanksysteme haben welchen ihren Inhalt mit der globalen Komponente teilen Diese Architektur kann auch mit einem verteilten DBS aufgebaut werden welches auf die einzelnen Knoten verteilt wird und somit die Kontrolle ber den lokalen Datenbestand auf jedem Knoten hat Die beiden Ans tze hneln sich allerdings gibt es im zweiten Fall nur ein verteiltess DBS w hrend das MDBS mehrere lokale Datenbanksysteme zu einem Gesamtsystem verbindet Innerhalb der zweiten Architektur geht man von der direkten Verwendung des LDBS 97 Vergl Mutschler Bela et al 2004 S 70 und S 101ff H pfner Hagen 2005 S 219 sowie zsu M Tamer 1999 S 98 98 Vergl Mutschler Bela et al 2004 S 70f 99 Vergl zsu Tamer M 1999 S 94 34 durch dem Benutzer aus Das LDBS wird durch eine Replikation mit einem Synchronisationsverfahren auf einem m glichst aktuellen Stand gehalten Dabei k nnen mehrere Quellserver verwendet werden Der Einsatz einer Replikationsschicht stellt bei di
35. WLAN Mittel Datenmenge Berechnung Wiederholungen CN EEE ET 12965057240220 Datenmenge Berechnung Wiederholungen 600 7225005537008 00 Jp24s51632578675 3000 1 30442760057273 3 75481714897375 10 C szren Abbildung 43 berpr fung Szenario 1 Testfall WLAN Klein Datenmenge Berechnung Wiederholungen 1 80469306636114 a0 f o00m229673184 Pr E Bi ogo ogo 3 9 18942363079384 6 41021919001307 Datenmenge Berechnung Wiederholungen 4 11344261396343 8 85316698838111 1 39826394553252 8 3819607800224E 4 33486905565723 1 826069601 70048 Abbildung 44 berpr fung Szenario 2 Testfall Anfrage mit hoher Komplexit t Datenmenge Berechnung Wiederholungen 9 42302491 707696 0 0 00 00 00 E E E oB 2 oo Datenmenge Berechnung Wiederholungen 1000 12 73085525828623 4 5779105626593E 1 93720739221883 2 97897390540193 3 09969205824371 4 35789953137531 6 99671041765218 3 37979378945934 4 4237041 7977993 Abbildung 45 berpr fung Szenario 2 Testfall Anfrage mit mittlerer Komplexit t 116 Datenmenge Berechnung Wiederholungen 0 2340238234 Datenmenge Berechnung Wiederholungen _ E _ oO ogo 0 0234282340882 0 01152 N 0 00498639264467 _ oO 0 01467277777777 0 0067228 0 00027875555555 o 0 00133019390581 Bo oB oO oO oO co ii
36. Weiterhin stellt es das Datenbanksystem vor mit dem die mobile Datenhaltung getestet werden soll In den folgenden Kapiteln wird dabei zwischen Datenbanksystem DBS Datenbankmanagementsystem DBMS und Datenbank DB unterschieden Eine Datenbank stellt einen strukturierten Datenbestand dar w hrend ein DBMS eine Software f r den Zugriff auf diese Daten darstellt Das DBMS erm glicht das Ermitteln sowie Manipulieren von Daten sowie das Erstellen und Manipulieren der Datenbanken selbst Dazu geh rt die applikationsneutrale und effiziente Realisierung dieser Zugriffsm glichkeiten Ein DBS ist die Summe aus einem DBMS und dessen Datenbanken 3 1 Anforderungen an Datenbanksysteme Die zentrale Aufgabe von Datenbanksystemen besteht in der strukturierten konsistenten und effizienten Datenhaltung Weiterhin m ssen sie Schnittstellen f r Operationen auf dem Datenbestand zur Verf gung stellen F r die Operationen m ssen Transaktionen mit den ACID Eigenschaften bereitgestellt werden Transaktionen stellen eine Zusammenfassung von Operationen dar welche als Ganzes durchgef hrt werden sollen Eine Operation stellt dabei eine atomare Aktion auf einer Datenbank dar wie zum Beispiel eine Anfrage zur Ermittlung bestimmter Datens tze Abfrage Die Abk rzung ACID steht hier f r Atomarit t Atomicity Konsistenz Consistency Isoliertheit Isolation und Dauerhaftigkeit Durability Atomarit t bedeutet die 24 Vergl Mutschler Bela et a
37. aktuell sein Zum anderen soll der Datenbestand m glichst immer konsistent sein Und als letztes sollen m glichst geringe Kommunikations und Berechnungskosten auftreten Daher gibt es verschiedene Verfahren zur Synchronisation und Modelle f r den Gesamtaufbau der Replikation welche die einzelnen Forderungen in unterschiedlicher St rke erf llen Synchronisationsverfahren werden in zwei unterschiedliche Typen eingeteilt Die konsistenzerhaltenden Verfahren haben als Ziel die Erhaltung der Datenkonsistenz Dem gegen ber stehen die verf gbarkeitserhaltenden Verfahren die die Bedingung der Konsistenz an den Datenbestand begrenzt aufgeben um eine h here Verf gbarkeit von nderungsoperationen zu erreichen Verletzungen der Konsistenzbedingung an den Datenbestand k nnen sich bei der Verwendung einer Replikation durch gleichzeitige 80 Vergl Elmasri Ramez et al 2007 S 860ff 81 Vergl Mutschler Bela et al 2004 S 97f 82 Vergl Mutschler Bela et al 2004 S 81 und 85ff sowie H pfner Hagen et al 2005 S 226f und S 232 29 nderung an zwei verschiedenen Kopien eines Datenbestandes ergeben Da die Aufgabe der Konsistenzbedingung zu einem fehlerhaften Zustand der Daten f hren kann konzentriert sich diese Arbeit auf konsistenzerhaltende Verfahren Die konsistenzerhaltenden Verfahren k nnen noch einmal in pessimistische konfliktvermeidende und optimistische konfliktaufl sende Verfahren eingeteilt werden Pessi
38. die einzelnen Klassen des Testsystems aufgeteilt sind Abbildung 21 zeigt diese Struktur in einem Paketdiagramm Das Paket TestService stellt dabei die Grenze zwischen dem Server und Clientsystem dar und enth lt die Web Services welche im Unterpaket TestSession gekapselt sind Diese Web Services stellen Fassadenklassen dar welche Schnittstellen zu der im Paket TestLibraryServer befindlichen Testlogik auf Serverseite bereitstellen TestLibraryClient Test rn re lt imor gt es 72217 mn AA A gt Datenbank lt lt imports gt gt Be uses 1 I I TestService Ir nr l T t i I uses i I a I i en t I I lt lt imports gt gt ERE TestLibraryServer I I lt lt imppris gt gt 1 ServerSteuerung Ba 3 l E WY lt lt imports gt gt lt lt imports gt gt Datenbank i T TE gt Datenbank Prozess I Abbildung 21 Paketdiagramm Die Client Applikation ist im Paket TestSuite gekapselt und enth lt neben einem GUI Paket Graphical User Interface noch ein Paket in dem Konfigurationslogik f r den Client enthalten ist Config Die Konfigurationslogik im Paket Config erlaubt es die Testapplikation mit Parametern aus einer XML Datei zu versehen Diese Parameter werden f r die Verbindung mit dem zentralen System ben tigt Bei Ver nderungen z B eine nderung der Adresse des Replikationsserv
39. die verschiedenen Generationen mit einigen darin entstandenen Technologien dar Generation Beschreibung Technologiebeispiele 1 Generation Die 1 Generation der Funktechnologien dienen der reinen analogen bertragung von Gespr chen ber eine zellulare Netzwerkarchitektur und unterst tzen von sich aus keine Daten bertragung Technologien der 1 Generationen sind inzwischen selten im Einsatz C 450 Auch bekannt als C Netz Advanced Mobile Phone Service AMPS 2 Generation Um digitale Anwendungen besser zu unterst tzen sind die Technologien der 2 Generation entstanden Diese bieten im Gegensatz zur 1 Generation digitale Schnittstellen an Die 2 Generation bietet weitere Dienste wie z B dem Short Message Service SMS an Global System For Mobile Communications GSM IS 05 Division Access IS 95 CDMA Code Multiple 2 5 Generation Die Generation 2 5 stellt eine Erweiterung und Verbesserung der 2 Generation dar Diese Stufe ist entstanden da der Aufbau von einer fl chendeckenden Versorgung von Technologien der 3 Generation bis heute andauert Unterschiede zur 2 Generation stellen die GPRS General Packet Radio Services basiert auf GSM CDMA 2000 Phase 1 16 Vergl Murthy C Siva Ram et al 2004 S 110 ff sowie Saranqapani Jagannathan 2007 S 17f 17 Vergl Murthy C Siva Ram et al 2004 S 110 ff 8 Generation Beschreibung Technologieb
40. diesem Datensatz vornehmen Ein f r Offline Szenarien geeignetes auf optimistischen Synchronisationsverfahren basierendes Replikationsmodell stellt das Snapshot Modell dar Das Snapshot Modell 89 Vergl Mutschler Bela et al 2004 S 98 und S 108 F r eine Einf hrung in klassische Modelle wie z B der Device Master oder der Peer To Peer Replikation vergl Terry Douglas B et al 2007 Kapitel 2 S 7ff und Mutschler Bela et al 2004 S 88ff 90 Vergl Bauder Irene 2006 S 441f und 443ff Innerhalb des SQL Servers wird anstelle von einer bidirektionalen Synchronisation von einer Merge Synchronisation gesprochen 91 Vergl f r weiterf hrende mobile Modelle Terry Douglas B et al 2007 Kapitel 2 S 7ff 92 Vergl Elmasri Ramez et al 2007 S 880f und Mutschler Bela et al 2004 S 98f 32 folgt einem Client Server Modell bei dem die Daten innerhalb eines oder mehrerer zentraler Datenbankserver Master Sites gespeichert werden Basierend auf den zentralen Datenbest nden werden Snapshots auf Grundlage einer einfacher Snapshot oder mehrerer komplexer Snapshot Relationen aus einer Datenbank definiert Innerhalb des Snapshot Modells sind lokale nderungen der replizierten Daten m glich Synchronisationen erm glichen den Abgleich der Daten zwischen den Clients und dem zentralen System Bei komplexen Snapshots kann durch die Verbindung mehrerer Relationen die M glichkeit zur nderung der Daten wegfallen
41. eingegangen die an ein Gesamtsystem aus mehreren mobilen und station ren Ger ten gestellt werden Danach werden die Grundlagen zur Verteilung von Applikationen und basierend darauf zur Verteilung von Datenbest nden und Datenbanksystemen dargestellt Der Schwerpunkt liegt dabei auf Modellen und Techniken die auf die Probleme und Anforderungen der mobilen Ger te angepasst sind Die Grundlagen f r die Tests die die Leistungsf higkeit mobiler Datenbanken und Synchronisationen ermitteln sollen werden in Kapitel 5 dargestellt Darin wird gezeigt welche Schritte notwendig sind um einen solchen Performance Test durchzuf hren Entsprechend der Schritte in Kapitel 5 wird ein Testsystem aufgebaut Dazu geh rt die Definition von Szenarien sowie einzelner detaillierter Testf lle die die zu testenden Operationen darstellen Basierend darauf wird eine verteilte Applikation aufgebaut welche die automatisierte Durchf hrung dieser Testf lle erm glicht Kapitel 6 stellt diesen Testaufbau sowie den Aufbau der Testapplikation dar Dieses Kapitel wird abgeschlossen durch die Darstellung der Testergebnisse Kapitel 7 fasst das Ergebnis zusammen und zieht ein Fazit Weiterhin gibt es einen Ausblick auf m gliche Weiterentwicklungen des Testsystems bzw der Testszenarien sowie einen kurzen Ausblick auf die Konsequenzen zuk nftiger Entwicklungen der mobilen Ger te bzw der Funktechnologien 2 Grundlagen der Kommunikation mobiler Ger te Innerhalb dieses
42. lt die mobile Installation Mobile Applikation Applikation Web Services Die Webapplikation f r die Installation Testsession Tests Server Applikation Die Server Applikation f r die Installation Serversteuerung Auswertung der Tests sowie f r das Anlegen der Serverdatenbank SQL Server CE 3 5 Servertools Tools zur Erstellungen von Installation SQL Server CE 3 5 32 und 64 Bit Publikationen auf einem Servertools Microsoft IIS auf Basis einer SQL Server Datenbank Clientkomponenten des SQL Diese Pakete stellen den SQL Installation SQL Server 2005 CE Server 2005 CE 3 5 Server 2005 CE 3 5 zur Clientkomponenten Verf gung Microsoft Net Compact Das Installationspaket des Installation Microsoft Net Framework 2 0 Compact Framework f r mobile Compact Framework 2 0 Clientkomponenten Ger te Clientkomponenten Erstellungsscript Mit diesem SQL Script kann die Installation Erstellungsscript Serverdatenbank Testdatenbank auf dem Server Serverdatenbank erstellt werden Tabelle 14 Installationsdateien Um die Serverumgebung vorzubereiten muss zun chst die Testdatenbank auf einen Microsoft SQL Server 2005 erstellt werden Dies kann zum einen durch das direkte Ausf hren des Erstellungsscripts auf dem Server geschehen Zum anderen befindet sich in der Serverapplikation innerhalb des Men s Datei der Punkt Datenbank anlegen Vergl Abbildung 32 Das Erstellungsscript geht von der Existenz einer
43. ngig Das Ziel des Proxys wiederum besteht darin eine Pufferung durchzuf hren Er dient als Stellvertreter des Servers die Clients k nnten sich auch direkt an den Server wenden Um dynamisch verschiedene Serverdienste f r eine Clientanfrage zu kombinieren kann eine Schicht aus Agents eingerichtet werden Ein Agent sucht aus den ihm bekannten Diensten diejenigen heraus die f r die Clientanfrage notwendig sind und ruft sie auf Aus den Ergebnissen der einzelnen Aufrufe wird ein Ergebnis f r den Client erstellt Dieses Modell kann erweitert werden durch Agents auf der Client Seite Diese suchen innerhalb des verf gbaren Netzwerkes die ben tigten Dienste heraus z B Dienste f r das Beziehen der Daten von einem oder mehreren Datenbankservern um einen lokalen Datenbestand aufzubauen Dieses Modell kommt speziell bei der Verbindung des mobilen DBS von Microsoft mit einem zentralen System zum Einsatz Der Microsoft SQL Server 2005 CE kommuniziert ber clientseitige Agents mit station ren Replikationsservern um Daten aus den Servern lokal zu speichern f r Replikation vergl Kapitel 4 3 Microsoft stellt weiterhin ein serverseitiges Agentsystem zur Verf gung mithilfe dessen den Clients eine einheitliche Schnittstelle zur Replikation mit mehreren Quellservern angeboten wird Eine Variante des Agent Systems stellt der mobile Code dar Dort sammeln Agents ausf hrbaren Code f r die Clients Um auf die Probleme der mobilen Ger te in Hinsi
44. ngig von der Komplexit t der verwendeten Anfrage Abbildung 31 stellt das Ergebnis des Testfalls L schen von Daten dar Dabei verh lt sich das L schen hnlich wie die Aktualisierung von Daten Der Unterschied liegt in den geringeren Laufzeiten unter 10 000 Datenzeilen w hrend die Laufzeiten des L schen ber 10 000 Datenzeilen st rker ansteigen als die Laufzeiten der Aktualisierung Der zweistellige Sekundenbereich wird bei 60 000 Datenzeilen erreicht Somit gelten f r das L schen hnliche Beschr nkungen wie f r die Aktualisierung Bis 85 zu einer Datenmenge unter 20 000 Datenzeilen bleibt das L schen bei einer Laufzeit unter einer Sekunde w hrend bei ber 60 000 Datenzeilen der zweistellige Sekundenbereich erreicht wird Test Client t L schen von Daten Ben tigte Zeit s 3 MAAA al H Ar 1H 10 10 10 10 108 Getestete Datenmenge Anzahl Zeilen 102 4 HH Abbildung 31 Ergebnis Szenario 3 Testfall L schen von Daten 6 9 5 Abschlie ende Betrachtung der Datenbankergebnisse Zusammenfassend betrachtet unterliegt das mobile DBS hnlichen Einschr nkungen wie die Synchronisation Bei der Verwendung von Anfragen an DBS sind Laufzeiten im Sekundenbereich bereits an der Grenze zur Unbrauchbarkeit f r viele Anwendungsf lle Dieser Bereich wird mit Ausnahme der komplexen Abfrage und dem Einf gen von neuen Datens tzen bereits zwischen 10 000
45. sie in Abbildung 6 im Kapitel 4 3 1 dargestellt wurde am ehesten entspricht Dort bernimmt eine globale Komponente die Verwaltung der einzelnen Knoten Dem gegen ber steht die zweite Architektur welche von einer Replikation ausgehend entwickelt worden ist und daher besser auf die Gegebenheit eines mobilen Thick Clients angepasst ist 93 Vergl Mutschler Bela et al 2004 S 99f 94 Vergl H pfner Hagen et al 2005 S 223f 95 Vergl Mutschler Bela 2004 S 99f und Bauder Irene 2006 S 439ff und 443ff 96 Vergl Mutschler Bela et al 2004 S 70 33 Architektur unter Verwendung eines MDBS Mobiler Client Dienst aufrufe See Lokaler BE Architektur mit Replikation Daten und Updates Abbildung 7 Architekturen eines verteilten DBS Das MDBS bernimmt die Aufgabe Anfragen zu verarbeiten ein globales Schema bereitzustellen und die Existenz der beteiligten Datenbanksysteme vor dem Benutzer zu verbergen Verteilungstranzparenz Die lokalen Datenbanksysteme LDBS werden vom globalen MDBS angesprochen w hrend sich Benutzer ausschlie lich direkt an das MDBS wenden Ein globaler Transaktionsmanager bernimmt die Durchsetzung der ACID Eigenschaften im globalen System Anfragen m ssen innerhalb dieser Architektur aufgeteilt werden um aus den verschiedenen Knoten die Daten zu ermitteln und daraus ein Ergebnis zu generieren verteilte Abfragen Ein Vorteil dieses
46. und 100 000 Datenzeilen erreicht Im Bereich ber 100 000 Zeilen erreichen selbst Anfragen welche lediglich aus einer Tabelle Daten ermitteln Laufzeiten in zweistelligen Sekundenbereich w hrend sich komplexere Abfragen bei einer solchen Datenmenge in der N he des Minutenbereichs oder bereits dar ber hinaus befinden F r einen Thick Client welcher seine Daten aus der mobilen Datenbank ermittelt bzw seine Daten dort speichert stellen solche Laufzeiten ein gro es Hindernis dar bzw sorgen f r eine Unbrauchbarkeit der Software Somit muss versucht werden beim Einsatz eines Thick Clients auf mobilen Ger ten die Datenmenge passend zur Komplexit t der Anfragen innerhalb des jeweiligen Anwendungsfalls sowie den jeweiligen Performanceanspr chen zu halten F r diesen Zweck w re eine Personalisierung der Daten denkbar sodass nur benutzerspezifische Daten auf das mobile Ger t geladen werden und somit die Datenmenge reduziert wird F r diesen Zweck muss ein entsprechendes Benutzersystem mit in die Replikation aufgenommen werden welches die einzelnen Benutzer identifiziert und zuordnet welche Informationen f r den jeweiligen Benutzer zur Verf gung stehen 86 Innerhalb von Anwendungsf llen in denen mobile Ger te zum Sammeln von Daten f r ein zentrales System verwendet werden bietet sich eine L schung der gesammelten Daten auf dem mobilen Ger t an sobald sich diese im zentralen System befinden Ein weiterer L sungsansatz zur Reduz
47. werden die Schl sselszenarien f r die Performance Tests dargestellt Als zentrale Grundlage f r alle Szenarien wird zun chst ein Datenbankschema definiert nach der die zu testende verteilte Datenbank aufgebaut wird Dabei stellen die folgenden Punkte Grund berlegungen f r den Aufbau dar 1 Gr e der Datens tze Die Erh hung der Datenmenge basiert auf dem Einf gen von Datens tzen die sich aus den Relationen und ihren Attributen ergibt Da f r die bertragung von Daten vom Server zum Client und zur ck die Gr e der Datenmengen in Byte interessant ist wird in diesem Kapitel zus tzlich zum Aufbau der Datenbank die Gr e der Attribute angegeben Innerhalb der Definition der Arbeitslast stellen diese Gr en die Grundlage f r die Berechnung der zu bertragenden Datenmengen dar 2 Aufteilung der Daten in mehrere Tabellen Um Abfragen basierend auf mehreren Tabellen zu erm glichen sollen ber Fremdschl sselbedingungen verbundene Relationen entstehen 3 Die einzelnen Relationen sehen einen Erstellungszeitpunkt f r die einzelnen Datens tze vor Datens tze die f r eine Messung der Synchronisation eingef gt worden sind k nnen damit von anderen Datens tzen unterschieden und gezielt 46 gel scht werden um den urspr nglichen Zustand herzustellen Damit k nnen die einzelnen Messungen der Synchronisation wiederholt werden um eine h here Genauigkeit der Ergebnisse zu erreichen 4 Um eine Erh hung der Datenmen
48. z B unterschiedliche Laufzeiten der Netzwerkkommunikation oder Festplattenzugriffe beeinflusst Wiederholungen der Messungen k nnen diese Schwankungen ausgleichen Solche wiederholten Messungen werden in dieser Arbeit als Messreihe bezeichnet Aufgrund solcher Abweichungen stellt ein aus den Messungen gebildeter Mittelwert eine Ann herung an ein reales Verhalten dar Um Messergebnisse einer bestimmten G te zu erhalten gibt es verschiedene Methoden Innerhalb dieser Arbeit wird eine berpr fung der G te nach einem in der ISO 14756 Norm f r Performance Tests definierten Vorgehen durchgef hrt werden Dort wird eine mathematische Verteilung zur berpr fung einer Messreihe verwendet werden Eine Verteilung zeigt im Fall des in dieser Arbeit durchgef hrten Tests mit welcher Wahrscheinlichkeit sich die Messergebnisse in einem bestimmten Bereich um den realen Wert befinden Innerhalb der Berechnungen zur berpr fung ob die Ergebnisse nicht zu stark durch u ere Einfl sse verzerrt worden sind wird ein Ouantil ben tigt 114 Vergl Borg Ingwer et al 2007 S 313ff und Meier J D et al 2006 S 755 f 115 Vergl Malle H 2006 Teil 3 S 10 und Bronstein I N et al 2008 S 853 41 Dies bezeichnet die Umkehrfunktion zur Verteilung Um die G te einer Messreihe zu bestimmen wird eine Verteilung der Messreihe angenommen da die reale Verteilung unbekannt ist Innerhalb der ISO Norm wird die Normalverteilung 0
49. zur Stabilisation des Systems P durchf hren Parameter f r den Datenbanktest ermitteln Parameter korrekt eingegeben Nein Mobile Datenbank Mobile A Erstellen und bei Datenbank pai Cam Darai a Replikation anmelden vorhanden dass der Tor Ja 1 Alle r Wiederholungen L schung Nach dom Nein Erstellen li f r Vorlauf Test des Einf gens Erfolgreich es durchgef hrt wird Wa 1 durchgef hrt Innerhalb derL schung wird der z Datensatz gel scht 2 fi Alle Toeri der bei dem Test durchgef hrt des Einf gens von gen I Nein Daten eingef gt 1 worden ist N mobilen Datenbank erzeugen _ lt lt central buffer Messergebnisse LJ weight Anzahl Wiederholungen p Vorlauf zur Stabilisation des Systems durchf hren Ah Ersten Testfall laden j Alle Testf lle durchgef hrt Nein Zeitmessung starten Testfall durchf hren Y Zeitmessung beenden und Zeit speichem LJ Messergebnis pa Maximaldatenmenge erreicht Messergebnis lt lt central buffer Messergebnisse Alle Name des Anfrageszenarios dem Wiederholungen Datenver nderungsszenarios durchgef hrt Maximalmenge Startmenge sowie die Anzahl der Wiederholungen f r eine Messreihe Bei der ersten Datenmenge m ssen die bereits eingetragenen Suchwerte mit eingerechnet werden
50. 0 337 0 340 0 342 0 345 0 348 0 350 0 353 0 356 0 358 0 361 0 364 0 366 0 369 0 372 0 375 0 377 0 380 0 383 65 0 385 0 388 0 391 0 393 0 396 0 399 0 402 0 404 0 407 0 410 66 0 412 0 415 0 418 0421 0 423 0 426 0 429 0 432 0 434 0 437 67 0 440 0 443 0 445 0 448 0 451 0 454 0 457 0 459 0 462 0 465 68 0 468 0 470 0 473 0 476 0 479 0 482 0 485 0 487 0 490 0 493 69 0 496 0 499 0 502 0 504 0 507 0 510 0 513 0 516 0 519 0 522 70 0 524 0 527 0 530 0 533 0 536 0 539 0 542 0 545 0 548 0 550 zu 0 553 0 556 0 559 0 562 0 565 0 568 0 571 0 574 0 577 0 580 72 0 583 0 586 0 589 0 592 0 595 0 598 0 601 0 604 0 607 0 610 73 0 613 0 616 0 619 0 622 0 625 0 628 0 631 0 634 0 637 0 640 74 0 643 0 646 0 650 0 653 0 656 0 659 0 662 0 665 0 668 0 671 75 0 674 0 678 0 681 0 684 0 687 0 690 0 693 0 697 0 700 0 703 76 0 706 0 710 0 713 0 716 0 719 0 722 0 726 0 729 0 732 0 736 71 0 739 0 742 0 745 0 749 0 752 0 755 0 759 0 762 0 765 0 769 78 0 772 0 776 0 779 0 782 0 7
51. 1 530 1 538 1 546 94 1 555 1 563 1 572 1 580 1 589 1 598 1 607 1 616 1 626 1 635 95 1 645 1 655 1 665 1 675 1 685 1 695 1 706 1 717 1 728 1 739 96 1 751 1 762 1 774 1 787 1 799 1 812 1 825 1 838 1 852 1 866 97 1 881 1 896 1 911 1 927 1 943 1 960 1 977 1 995 2 014 2 034 98 2 054 2 075 2 097 2 120 2 144 2 170 2 197 2 226 2 257 2 290 99 2 326 2 366 2 409 2 457 2 512 2 576 2 652 2 748 2 878 3 090 Tabelle 13 Quantile der Normalverteilung 170 Vergl Graf Ulrich et al 1998 S 458 102 170 Tabelle 13 enth lt die Quantile zur Normalverteilung 0 1 zu einer Wahrscheinlichkeit amp Die einzelnen Spalten enthalten jeweils eine Nachkommastelle der Wahrscheinlichkeit w hrend die Zeilen den Wert vor dem Komma der Wahrscheinlichkeit darstellen zu denen das jeweilige Quantil geh rt Um ein 1 2 Quantil zu amp 0 05 ermitteln muss zuerst folgende Berechnung durchgef hrt werden 0 05 Formel A2 1 Beispiel der 0 975 Berechnung eines 1 a 2 Quantils Somit muss aus der Tabelle der Wert zu der Wahrscheinlichkeit 97 5 ausgelesen werden u amp 1 96 Zeile 97 Spalte 5 171 Vergl Hartung Joachim Heine Barbara 2004 S 419f und Graf Ulrich et al
52. 2007 Hoffmann Dirk W Software Qualit t Springer Berlin 2008 H pfner Hagen T rker Can K nig Ries Birgitta Mobile Datenbanken und Informationssysteme Konzepte und Techniken dpunkt Verlag Heidelberg 2005 Jain Raj The Art of Computer Systems Performance Analysis Techniques for Experimental Design Measurement Simulation and Modeling John Wiley amp Sons New York 1991 Kurose James E Rose Keith W Computer Networking A Top Down Approach Pearson Education Boston 2008 Lehner Franz Mobile und drahtlose Informationssysteme Technologien Anwendungen M rkte Springer Berlin 2003 Lockemann Peter C Dittrich Klaus R Architektur von Datenbanksystemen dpunkt Verlag Heidelberg 2004 Malle H Handbuch Mathematik Nikol Verlag Frankfurt am Main 2006 Matthiessen G nter Unterstein Michael Relationale Datenbanken und SQL Konzepte der Entwicklung und Anwendung Addison Wesley M nchen 2003 Mathur Aditya P Foundations of Software Testing Addison Wesley Delhi 2008 92 Meier Andreas W st Thomas Objektorientierte und objektrelationale Datenbanken Ein Kompass f r die Praxis dpunkt Verlag Heidelberg 2003 Meier J D Vasireddy Srinath Babbar Ashish Mackman Alex Improving NET Application Performance and Scalability Patterns amp Practices Microsoft Press Redmond 2004 Mertens Stefan XML Komponenten in der Praxis Springer Berlin 2003 Mosler Karl Schmid Friedrich Wa
53. 25 lt Variable gt 26 lt Variable name Password gt 2712 Passwort des Benutzerkontos f r die Replikationsdienste 28 lt Variable gt 29 lt Variables gt 30 lt Config gt S3lr 25 177 Zur Einrichtung einer Webapplikation auf einen Windows Server 2003 mit dem IIS 6 vergl B nning Uwe Krause J rg 2006 S 1048ff f r die Einrichtung auf einen Windows Server 2008 mit einem IIS 7 vergl B nning Uwe Rzepka Dirk 2008 S 975ff 107 Daf r gibt es im Anwendungsordner der mobilen Testapplikation die Datei Config xm im Unterordner Config Dort m ssen die im vorhergehenden Listing dargestellten Werte angegeben werden Diese stellen Angaben f r die Verbindungen zum Server dar Die Replikations URL der Publikationsname Benutzername und das Passwort ergeben sich aus der Einrichtung der Publikation auf dem Webserver mithilfe der SQL Server 3 5 Server Tools w hrend die Web Service URLs sich aus der Installation der Webapplikation ergeben Der Publisher ist der Name des Servers der die Publikation auf einem IIS bereitstellt Nach dem Einstellen dieser Datei muss der Ordner der Clientapplikation auf dem mobilen Ger t auf welchem der Test durchgef hrt werden soll kopiert werden Danach ist die Testumgebung eingerichtet 108 5 Datendefinition der Datenbank f r die Messergebnisse Master Test TestName TestFall TesttFallld Gesamtlaufzeit Kommentar Testschritte Te
54. 86 0 789 0 793 0 796 0 800 0 803 79 0 806 0 810 0 813 0 817 0 820 0 824 0 827 0 831 0 834 0 838 80 0 842 0 845 0 849 0 852 0 856 0 860 0 863 0 867 0 871 0 874 81 0 878 0 882 0 885 0 889 0 893 0 896 0 900 0 904 0 908 0 912 82 0 915 0 919 0 923 0 927 0 931 0 935 0 938 0 942 0 946 0 950 83 0 954 0 958 0 962 0 966 0 970 0 974 0 978 0 982 0 986 0 990 0 994 0 999 1 003 1 007 1 011 1 015 1 019 1 024 1 028 1 032 85 1 036 1 041 1 045 1 049 1 054 1 058 1 063 1 067 1 071 1 076 86 1 080 1 085 1 089 1 094 1 098 1 103 1 108 1 112 1 117 1 122 87 1 126 1 131 1 136 1 141 1 146 1 150 1 155 1 160 1 165 1 170 88 1 175 1 180 1 185 1 190 1 195 1 200 1 206 1211 1216 1 221 89 1 227 1 232 1 237 1 243 1 248 1 254 1 259 1 265 1 270 1 276 90 1 282 1 287 1 293 1 299 1 305 1311 1 317 1 323 1 329 1 335 91 1 341 1 347 1 353 1 359 1 366 1 372 1 379 1 385 1 392 1 398 92 1 405 1 412 1 419 1 426 1 433 1 440 1 447 1 454 1 461 1 468 93 1 476 1 483 1 491 1 499 1 506 1 514 1 522
55. A 270 624 MHz Speicher 256 MB ROM sowie 128 MB SDRAM Festplatte 8GB Funkmodul UMTS GSM GPRS EDGE Weitere drahtlose Zug nge Bluetooth WLAN Betriebssystem Microsoft Windows Mobile 6 Mobiles DBS Microsoft SQL Server 2005 CE V 3 5 Tabelle 5 Daten des mobilen Ger tes Dieser PDA stellt ein m chtiges Endger t dar welcher gen gend Speicherplatz und Rechenkraft hat um ein mobiles DBS wie den SQL Server CE zu betreiben Somit sind die Tests nicht aussagekr ftig f r einfachere Ger te wie kleinere Mobiltelefone o Tabelle 6 beschreibt die Daten des Servers Wie beim mobilen Ger t sind die Testergebnisse lediglich f r hnliche Computersysteme aussagekr ftig Der Server verwendet dabei die Version 6 der Internet Information Services IIS um die Web Services sowie die Replikationsdienste bereitzustellen Als HS wird das Webserversystem von Microsoft bezeichnet Eigenschaft Beschreibung Prozessor Intel 3 00 GHz Speicher 1 5 GBRAM Betriebssystem Microsoft Windows Server 2003 Enterprise Edition DBS Microsoft SQL Server 2005 Webserver Microsoft IIS V 6 Tabelle 6 Daten des Servers Um die verschiedenen Komponenten zu entwickeln kommt das Microsoft Net Framework 2 0 f r die Serverseite zum Einsatz Passend dazu wird auf der Seite des mobilen Clients das Microsoft Net Compact Framework 2 0 verwendet Die Entwicklung wird in der Net Sprache C durchgef hrt 6 3 Abgrenzung
56. Client f r die Tests ben tigten Serverfunktionalit ten kapselt Die Web Services stellen dem mobilen Client diese Funktionalit ten zur Verf gung Zum anderen gibt es ebenfalls ein Paket Prozess welche den Umgang mit Prozessen f r das Herstellen eines Testzustandes auf Serverseite bereitstellt Diese werden von der Serverapplikation verwendet welche sich im Paket ServerSteuerung befindet Dieses Paket wird in das Unterpaket Gui f r die Oberfl che sowie dem Unterpaket Datenbank welche der Serversteuerung den Zugriff auf die Messergebnisse in der Serverdatenbank erm glicht aufgeteilt Die vorgestellte Paketstruktur teilt die mobile Testapplikation in eine GUI Logik und Datenschicht welche einen Austausch einer der Schichten erm glicht sowie die Komplexit t der Gesamtanwendung senkt F r den Wechsel des zu testenden mobilen DBS des zentralen DBS oder des Replikationssystems m ssen lediglich die Testlogik in den Testpaketen sowie die Datenbankpakete auf beiden Seiten angepasst werden Einzige Ausnahme davon k nnen die Konfigurationsparameter in der GUI auf Clientseite sein die sich bei einem Wechsel des Serversystems ndern k nnen z B zus tzliche Verbindungsangaben Auf der Serverseite werden innerhalb der einzelnen Oberfl chenelemente nicht so starke nderungen erwartet wie auf der Clientseite wo ein Wechsel des Ger tes eine komplett 144 Vergl f r eine kurze Einf hrung in Stub Klassen bzw in der Realisierung der Kommu
57. Die Bereitstellung solcher Anbindungen kann als Anforderung an ein mobiles DBS angesehen werden Dies begr ndet sich darin dass in vielen Szenarien die Notwendigkeit besteht Daten zu synchronisieren um einerseits die Daten auf dem Client aktuell zu halten und andererseits die im Client ermittelten Daten an eine zentrale Stelle weiter zu leiten Kapitel 4 besch ftigt sich eingehender mit der M glichkeit mobile DBS mit zentralen Systemen zu verbinden 3 3 Grundlegender Aufbau von Datenbanksystemen Datenbanksysteme ben tigen einen Aufbau der den dargestellten Anforderungen gen gt Um die Daten sowie die Datenbanken selbst zu strukturieren und die Daten von den Speicherstrukturen von Computersystemen zu abstrahieren werden Datenmodelle 14 verwendet Das am weitesten verbreitetste Modell stellt das relationale Modell von Edgar Codd dar Neben diesem gibt es weitere in der Praxis gr tenteils in Spezialf llen angewandte Modelle wie z B das objektrelationale Modell oder das objektorientierte Modell Im relationalen Modell von Edgar Codd werden die Daten in verschiedene Relationen eingeteilt Der Grundgedanke entstammt den mathematischen Relationen daher auch der Name des Modells Aus technischer Sicht wird dabei von Tabellen gesprochen Die Attribute oder Spalten einer Relation tragen zur Identifizierung einen in der Relation eindeutigen Namen und enthalten Werte eines atomaren Datentyps DBS stellen solche Datentypen zur V
58. ERE ErstellungsZeitpunkt ErstellungsZeitpunkt 05 ORDER BY Nachname Innerhalb dieser Abfrage ist lediglich eine Relation betroffen Weiterhin wird nach einem Attribut sortiert sowie nach dem Erstellungszeitpunkt gefiltert um die Suchbl cke zu ermitteln In Zeile vier im SQL Befehl steht das Erstellungsdatum f r den Zeitpunkt nachdem das Einf gen von Suchdaten abgeschlossen worden ist Das folgende Listing beschreibt die mittelschwere Abfrage f r Szenario 2 Diese verbindet die Relationen Kunde Auftrag Position und Artikel miteinander um Informationen ber Kunden und Artikel zu erhalten Die Filterung des Nachnamens stellt eine zus tzliche Herausforderung an das DBS dar Mithilfe dieser Abfrage wird 130 Es hat sich gezeigt dass die einzelnen Testf lle zwischen eineinhalb und zwei Tagen ben tigen 131 W hrend der Testdurchf hrung haben sich unterschiedliche Laufzeiten bei stark unterschiedlichen Log Gr en gezeigt 132 Vergl Kapitel 6 5 59 getestet wie das mobile Datenbanksystem auf das Verbinden von Tabellen reagiert und wie sich die Laufzeit im Gegensatz zu einer Abfrage auf lediglich einer Tabelle verh lt 01 SELECT 02 03 Kunde Vorname Kunde Nachname Kunde Strasse Kunde Ort Kunde PLZ Kunde KundenNr Kunde ErstellungsZeitpunkt Position MengeArtikel Bezeichnung Auftrag AuftragDatum 04 FROM Kunde 05 06 07 08 WHERE 085 10 ORDER INNER JO Auftrag ON Kunde Kundeld Auftrag Kundeld
59. Fachhochschule der Wirtschaft FHDW Paderborn Bachelorarbeit Thema Untersuchung von Einfl ssen auf die Performance von Datenbanken und Datensynchronisation auf mobilen Endger ten Pr fer Herr Prof Dr Reus Herr Dr Baum Verfasser Jens Milbredt Matrikelnummer 1615328 6 Semester Studiengang Angewandte Informatik Schwerpunkt Technik Eingereicht am 28 04 2009 Inhaltsverzeichnis Inkaltsverzeschiisn et es Be en ii Abbild ngsverzeic hnis rnai aa a ea i A a ET nen life iii Tabellenverzeichnis een E a EEEE A eek iii ADkurzunssverzeichnis orani n n E E E E E E ETRS iv Is Emf hr und een A a a a a e A EE 1 2 Grundlagen der Kommunikation mobiler Ger te sssenennnseensneneennnennnnnn 3 2 1 Technologien f r mobile Netzwerkkommunikation esenensneennnn 3 2 2 Konsequenzen der Beschr nkungen mobiler Netzwerktechnologien f r mobile Cheats ss E E E OE E ts 10 3 Darstellung mobiler Datenhaltung uosssenssensnenennnnnnnnnenen nenn 12 3 1 Anforderungen an Datenbanksysteme eessesenesennenensnnnennnnennennn 12 3 2 Anforderungen an mobile Datenbanksysteme ennennennnnenenenen 14 3 3 Grundlegender Aufbau von Datenbanksystemen ennenennnenen 14 3 4 Aufbau von mobilen Datenbanksystemen ennsennennenennnnnnneennn 16 3 5 Grenzen mobiler Datenbanksysteme uuuseseerssesssenennenssnnnennennnnnennenn 20 4 Mod
60. ICHE C LOCH CHE C ECCCER 6 25978869890318 Datenmenge Berechnung Wiederholungen Abbildung 49 berpr fung Szenario 3 Testfall L schen von Daten 118
61. Nachfolger einsetzt Das Problem dabei stellen mobile Ger te dar die evtl nicht alle Technologien unterst tzen und nicht berall eine Kommunikation erm glichen 4 200 Mbps 7802 11 54 Mbps 802 11a 9 802 11a 9 point to point 5 11 Mbps 802 116 WIMAX 3 Generation 4 Mbps 802 11a g point to point Enhanced 1 Mbps 802 151 SBAk ps UMTS CDMA 2000 Phase 2 3 Generation 144 160 kbps GPRS CDMA 2000 Phase 1 2 5 Generation 56 kbps 15 95 COMA GSM 2 Generation gt Innen Au en Au en Au en 10 30m 50 200m 200m 4km 5km 20km Abbildung 2 Charakteristika der Funktechnologien der einzelnen Generationen Abbildung 2 zeigt einen berblick ber die Eigenschaften der einzelnen Generationen und stellt diese im Vergleich zu den verschiedenen WLAN Standards dar Die inzwischen praktisch bedeutungslose 1 Generation wird innerhalb der Abbildung nicht gezeigt Die Werte der Datenraten sind in der Graphik in bits per second bps angegeben Der Abbildung entnimmt man dass WLAN Technologien bei einer 18 Vergl Walke Bernhard et al 2001 S 5 Kurose James F et al 2008 S 517f S 343ff und S 551f sowie Green James Harry 2005 S 359f 19 Vergl Kurose James F et al 2008 S 551ff 20 Vergl Kurose James F et al 2008 S 517 und Stein Erich 2008 S 343 9 geringeren Datenrate eine h here Abdeckung erreichen Innerhalb der Graphik sind die Maximalwerte der Technol
62. Replikation erm glichen den Ausgleich von Ausf llen einzelner Knoten im Gesamtsystem und stellen einen L sungsansatz dar um Datens tze vom zentralen System lokal f r den Offline Zugriff auf den mobilen Ger ten zu speichern Somit spielen Replikationsverfahren eine zentrale Rolle beim Aufbau eines Systems mit mobilen Thick Clients um lokale Kopien von Daten aus dem Gesamtsystem zu erzeugen Eine vollst ndige Fragmentierung stellt f r mobile Ger te lediglich in Online Szenarien eine sinnvolle L sung dar da die Verf gbarkeit des Datenbestandes durch Ger te ohne Verbindung beschr nkt wird Zus tzlich f hren schwache und langsame Verbindungen zu einer sehr langen Laufzeit bei der Verarbeitung von Abfragen die alle verf gbaren mobilen Ger te mit einbeziehen Umgekehrt stellt eine vollst ndige Replikation aufgrund geringer Speichergr en auf mobilen Ger ten ebenfalls keine L sung dar Um eine Replikation des Datenbestandes zu erm glichen k nnen Replikationsschemadefinitionen verwendet werden ber diese Definition werden Teile des globalen Datenbankschemas f r die Replikation ausgew hlt Auf dieser Grundlage k nnen Replikationsdefinitionen erstellt werden Diese stellen eine Auswahl der Daten aus einer Replikationsschemadefinition f r die einzelnen Knoten dar Ein Problem der Replikation ist der Konflikt von drei Forderungen welche an Replikationen gestellt werden Zum einen sollen die Daten m glichst immer verf gbar und
63. S 145ff sowie Mutschler Bela et al 2004 S 115 58 Vergl Reichwald Ralf 2002 S 139f und H pfner Hagen et al 2005 S 2f 59 Vergl Gschwind Thomas et al 2005 S 64f 60 Vergl Eckert Claudia 2007 Kapitel 18 S 785ff f r eine Einf hrung in sichere mobile Kommunikation 22 4 2 Einf hrung in verteilte Systeme Bei einer Verteilung werden einzelne Teile Dienste einer Software auf verschiedenen Computersystemen ausgef hrt und ber Netzwerkschnittstellen vernetzt Dabei kann innerhalb eines Computersystems auch auf die eigenen Dienste zugegriffen werden In diesem Sinne stellen die Verwendung mobiler Clients mit eigenem Datenbestand sowie die Anbindung an ein zentrales System und auch das in dieser Arbeit aufzubauende Testsystem ein verteiltes System dar Beim Aufbau eines solchen verteilten Gesamtsystems stellt sich die Frage welche Rollen die einzelnen Teilnehmer spielen und wie die Kommunikation zwischen den Teilnehmern realisiert wird Dabei stehen dezentralisierte Modelle Peer To Peer Modelle den zentralisierten Modellen Client Server Modelle gegen ber siehe Abbildung 5 Weiterhin existieren kombinierte Modelle aus beiden Ans tzen Hybride Modelle _ Client fa 0 Server Peer To Peer Client Server Abbildung 5 Peer To Peer Modell und Client Server Modell Innerhalb des Peer To Peer Modells werden alle Teilnehmer Knoten oder Nodes gleichberech
64. Somit kann einfach eine Untersuchung von leichten mittleren und hohen Lasten realisiert werden Vorgehen der Lasterh hung f r Szenario 2 und 3 Da der Test des mobilen Datenbanksystems nicht so langwierig ist sollen f r die Testf lle des Szenario zwei und drei eine feinere Schrittweite gew hlt werden Die geringere Laufzeit der Szenarien f r den DBS Test begr ndet sich in der fehlenden Notwendigkeit f r jede Messung Daten zu generieren und zu l schen Statt dessen wird pro Messreihe einmal die Datenmenge erh ht Darauf basierend k nnen die einzelnen Messungen von Szenario 1 und Szenario 2 durchgef hrt werden Mithilfe der feineren Schrittweise kann das Verhalten des mobilen Datenbanksystems unter Last deutlicher dargestellt werden Hier kommt eine Erh hung der Last entsprechend dem Schema in 126 Vergl Kapitel 5 f r die Kombination einer logarithmischen und linearen Schrittweise 56 Formel 6 5 2 zum Einsatz Im Fall von Szenario 2 und 3 steht Dy f r die Datenmenge in kB welche sich bei der Durchf hrung der Testf lle in der mobilen Datenbank befindet Auch hier wird pro Testfall und Messpunkt eine Messreihe erstellt D 20 D 40 D 60 D 80 D 100 Formel 6 5 2 Schrittweite der ne 2 Datenerh hung f r den De NND Datenbanksystem Test 6 6 Metriken Wie in Kapitel 5 dargestellt gibt es verschiedene Metriken die innerhalb eines Performance Tests betrachtet und gemessen werden k nnen Die inner
65. Strukturen stellen die einzelnen Operationen zur nderung und Ermittlung der Daten zur Verf gung und trennen die logische Sicht welche in Schicht drei realisiert ist von der realen Speicherverwaltung Die logische Sicht realisiert z B die Aufteilung in Datens tze Relationen etc dar die im relationalen Modell verwendet werden Die dritte Schicht verwendet somit lediglich die Schnittstellen der vierten Schicht um auf die Daten zuzugreifen Innerhalb dieser dritten Schicht werden die Anfragen an das DBS verarbeitet und ggf optimiert Danach werden die Anfragen mithilfe der vierten Schicht durchgef hrt Schicht zwei stellt eine M glichkeit dar die Anbindung an ein Serversystem zu erm glichen Hier bernimmt ein so genannter Warden die Position eines Stellvertreters um zum einen Synchronisationen von sich aus auszuf hren und zum anderen die Anwendungen je nach Verbindungsstatus auf das mobile DBS oder den Server zu lenken Ein Dienstgeber auf Serverseite stellt die Schnittstellen f r die Clients zur Verf gung Der Warden sorgt also f r Transparenz ob ein lokales oder entferntes DBS verwendet wird und verbirgt die Durchf hrung von Synchronisationen Einen anderen Ansatz stellen Architekturen dar die eine Anbindung an ein zentrales System getrennt von der normalen Abfragebearbeitung realisieren Applikationen verbinden sich bei diesem Vorgehen immer mit dem mobilen DBS und davon getrennt wird der Abgleich mit dem zentralen Infor
66. Tabellenverzeichnis Tabelle OSE M dell u ru 2uus une a ae ent ee Tabelle 2 Darstellung der verschiedenen WWAN Generationen seeennneens iii Tabelle 3 Vorgehensmodell f r Performance Tests rsssensennnneenenn 38 Tabelle 4 Metriken f r Performanee Tess u a ae 40 Tabelle 5 Daten des mobilen Gel es eu Ne a Haken 45 Tabelle 6 Daten des Servers san ke Hgg 45 Tabelle 7 Spaltendefinition f r die Testdatenbank ennenennnnn 49 TabellE8 SZenarien ee a aus en ee 50 Tabelle 9 Berechnung der Gr e der Datenbl cke f r das Erh hen der Last alle DZENAHEN anna 54 Tabelle 10 Berechnung der Gr e der Datenbl cke f r Ver nderungen Szenario 1 55 Tabelle 11 Testf lle Szenario 1 Synchronisation 0usssssessseneeesensensennnneennnnn 58 Tabelle 12 Testf lle Szenario 2 Anfragen und Szenario 3 Datenmanipulationen 61 Abk rzungsverzeichnis ACID Atomicity Consistency Isolation and Durability AMPS Advanced Mobile Phone Service bps Bits pro Sekunde Bps Bytes pro Sekunde CDMA Code Division Multiple Access DB Datenbank DBMS Datenbankmanagementsystem DBS Datenbanksystem Ds Datensatz Datens tze FDM Frequenz Division Multiplexing FTP File Transfer Protocol GPRS General Packet Radio Services GPS Global Positioning System GSM Global System For Mobile Communications GUI Graphical User Interface GUID Globally Unique Identifier HTTP Hypertext
67. agsArt Char 4 4 Byte ErstellungsZeitpunkt Datetime 8 Byte nderungsZeitpunkt Datetime 8 Byte Position Auftragld GUID 16 Byte 48 Tabelle Spalte Datentyp Gr e Artikelld GUID 16 Byte Menge Integer 4 Byte PreisBeiBestellung Money 8 Byte ErstellungsZeitpunkt Datetime 8 Byte nderungsZeitpunkt Datetime 8 Byte Artikel Artikelld GUID 16 Byte EAN Char 26 26 Byte Preis Money 8 Byte Bezeichnung Varchar 2 Byte pro Stelle KollektionID GUID 16 Byte ErstellungsZeitpunkt Datetime 8 Byte nderungsZeitpunkt Datetime 8 Byte Kollektion KollektionID GUID 16 Byte KollektionName Char 20 20 Byte ErstellungsZeitpunkt Datetime 8 Byte Produktartld GUID 16 Byte nderungsZeitpunkt Datetime 8 Byte Produktart Produktartld GUID 16 Byte ProduktartName Char 20 20 Byte ErstellungsZeitpunkt Datetime 8 Byte nderungsZeitpunkt Datetime 8 Byte Tabelle 7 Spaltendefinition f r die Testdatenbank Auf Grundlage dieser DB Struktur werden verschiedene Testszenarien entwickelt Das erste Szenario besteht aus der Synchronisation von Daten Um die Synchronisation zu testen wird zun chst eine Datenmenge in das verteilte DBS eingef gt Damit ist ein Datenbestand gegeben mit der die Synchronisation neue Datens tze abgleicht Weiterhin k nnen diese Datens tze verwendet werden um einen Teil der Last f r die Synchronisation durch Aktualisierungen zu erzeugen Dies stellt ein
68. ahren stellen die erw hnten Inkonsistenzen durch voneinander unabh ngige nderungen an verschiedenen Kopien eines Datensatzes dar Die optimistischen Verfahren gehen zwar von einer geringen Anzahl solcher Konflikte aus m ssen aber auf das m gliche Auftreten vorbereitet sein Deshalb wenden optimistische Verfahren eine Konflikterkennung und l sung an F r die Erkennung wird eine Validierungsphase vor der bernahme von nderungen aus lokalen Knoten verwendet Innerhalb dieser Phase wird ebenfalls entschieden wie mit einem m glichen Konflikt umgegangen wird z B die neueste nderung setzt sich durch W hrend die 83 Vergl Mutschler Bela et al 2004 S 89 sowie S 95 84 Vergl Mutschler Bela et al 2004 S 89 H pfner Hagen et al 2005 S 221f und Tanenbaum Andrew S et al 2008 S 349 85 Vergl H pfner Hagen et al 2005 S 232fund Mutschler Bela et al 2004 S 95 30 optimistischen Verfahren den Zustand der Inkonsistenz als Fehlerzustand ansehen werden die vorher erw hnten verf gbarkeitserhaltenden Verfahren die eine Toleranz von Inkonsistenzen in einem definierten Rahmen vorsehen als eine Variante der optimistischen Verfahren angesehen Weiterhin wird bei Synchronisationen zwischen verschiedenen Szenarien unterschieden Zwei h ufig verwendete Szenarien ist die bidirektionale Synchronisation sowie die unidirektionale Synchronisation Bei der bidirektionalen Synchronisation k nnen auf Client und S
69. ale Datenbanksysteme gestellt werden Mobile Systeme stehen dabei weiterhin vor Herausforderungen die in normalen Datenbanksystemen nicht oder nicht in einer vergleichbaren St rke auftreten Letztere agieren im Normalfall in einer Umgebung die gro e Datenmengen aufnehmen kann komplexe Anfragen nach Daten und die Optimierung dieser Anfragen durch hohe Rechenkraft erm glichen sowie weiterhin auf eine Breitbandverbindung zur ckgreifen kann Mobile Umgebungen stellen solche M glichkeiten nicht zur Verf gung Aufgrund geringer Leistungsf higkeit und geringer Speichergr en mobiler Ger te sind starke Optimierungen von Anfragen und die Verwaltung gro er Datenmengen nicht m glich Trotz dessen m ssen mobile DBS eine strukturierte und fehlerfreie Speicherung der Daten erm glichen Backup Funktionen welche in normalen DBS eine wichtige Anforderung darstellen spielen bei mobilen Systemen speziell wenn die Daten auch in einem zentralen Informationspool z B ein zentraler Datenbankserver gespeichert werden eine untergeordnete Rolle Dies liegt u a an der geringen Speichergr e der mobilen Ger te welche u U nicht gen gend Platz f r Backups bietet Falls das mobile DBS Anbindungen an zentrale Systeme von sich aus unterst tzt kommen weitere Faktoren hinzu die beachtet werden m ssen Dazu geh rt z B die Unterst tzung heterogenen Umgebungen unterschiedliche Betriebssysteme unterschiedliche unterst tze Programmiersprachen etc
70. als of Wireless Communication Cambridge University Press New York 2006 T rker Can Saake Gunter Objektrelationale Datenbanken Ein Lehrbuch dpunkt Verlag Heidelberg 2006 Vossen Gottfried Datenmodelle Datenbanksprachen und Datenbankmanagementsysteme Oldenbourg M nchen 2008 Walke Bernhard Bossert Martin Hrsg Fliege Norbert Hrsg Mobilfunknetze und ihre Protokolle 1 Grundlagen GSM UMTS und andere zellulare Mobilfunknetze Vieweg Teubner Stuttgart 2001 94 Weikum Gerhard Sch ning Harald Rahm Erhard Hrsg BTW 2003 Datenbanksysteme f r Business Technologie und Web 10 GI Fachtagung Leipzig 26 28 Februar Gesellschaft f r Informatik Bonn 2003 Wilrich P Th Henning H J Graf Ulrich Formeln und Tabellen der angewandten mathematischen Statistik Springer Berlin 1998 Yang Laurence T Guo Minyi High Performance Computing Paradigm and Infrastructure Wiley amp Sons Hoboken 2006 b Internetquellen Microsoft How to estimate the size of a SQL Server CE or SQL Server 2005 Mobile Edition Database Microsoft 2007 http support Microsoft com kb 827968 en us 03 01 2009 Microsoft Vorgehensweise Erstellen einer Publikation und Definieren von Artikeln SQL Server Management Studio Microsoft 2008 a http msdn microsoft com de de library ms151160 SQL 90 aspx 11 02 2009 Microsoft Vorgehensweise Konfigurieren von HS f r die Websynchronisierung Microsoft 2008 b http m
71. argestellt Um die berpr fung zu starten wird das Szenario sowie der zu berpr fende Testfall ausgew hlt Weiterhin wird der Wert d aus dem das Intervall berechnet wird sowie das 4 _an Quantil basierend auf der Irrtumswahrscheinlichkeit Vergl f r diese Parameter Kapitel 5 sowie Anhang 1 vom Benutzer eingegeben Die Eingaben k nnen parallel und in beliebiger Reihenfolge geschehen Die Ausnahme davon ist die Berechnung der Wahrscheinlichkeit 1 2 welche zusammenh ngend realisiert worden ist r berpr fung der Messergebnisse durchf hren Server 7 1 0 2 ermitteln 1 Gebe a ein Berechne 1 u 2 Eingabeart f r das Quantil ausw hlen Gesamttest ausw hlen Testfall ausw hlen N Gebe 1 u 2 aus Vorhandenes ausw hlen N N W hle U1 a 2 Quantil aus Innerhalb der parallel ablaufenden Schritte zur Vorbereitung der Berechnungen Der Benutzer kann diese parallel eingeben sind diese drei Schritte nicht unterbrechbar Hier wird mit einer Eingabebox a ermittelt und die beiden darauffolgenden Schritte direkt durchgef hrt N Intervall eingeben Pr fe Messergebnisse 7 N Zeige Ergebnis an Abbildung 18 Aktivit tsdiagramm berpr fung der Messergebnisse durchf hren Daraufhin werden die einzelnen Messreihen des Testfalls berpr ft und angezeigt bei welchen die Abweichungen zu s
72. atenmenge Basisdatenmenge Datengrenze Datengrenze des Testfalls technologie kB Datens tze kB Datens tze WLAN klein WLAN 1 000 10 000 5 000 50 000 WLAN Mittel WLAN 2 000 20 000 5 000 50 000 WLAN Gro WLAN 5 000 50 000 5 000 50 000 GPRS klein GPRS 1 000 10 000 5 000 50 000 GPRS Mittel GPRS 2 000 20 000 5 000 50 000 GPRS Gro GPRS 5 000 50 000 5 000 50 000 Tabelle 11 Testf lle Szenario 1 Synchronisation Innerhalb von Tabelle 11 wird eine Basisdatenmenge pro Testfall angegeben Diese stellt eine Grundbelastung f r die Synchronisation dar und wird vor der Durchf hrung eines Synchronisationstests in die verteilte Datenbank eingef gt Dabei zeigen die in den einzelnen Testf llen verwendeten Basisdatenmengen wie sich die Synchronisation bei einer Verdoppelung und dann bei einem f nffachen einer Basismenge verh lt Da die Synchronisation die neuen Daten mit diesen vorhandenen Daten abgleichen muss liegt die Vermutung nahe dass die Laufzeit der Synchronisation bei einer h heren Basisdatenmenge l nger dauern wird Daher kann ber diese sechs Testf lle gezeigt werden wie sich eine Synchronisation unter einer unterschiedlich hohen Basisdatenmenge sowie einer steigenden Datenmenge f r die Synchronisation verh lt 128 Vergl Kurose James F et al 2008 S 526 129 Vergl Kapitel 6 5 58 Weiterhin zeigt sich der Unterschied zwischen WLAN und GPRS Die Datengrenze der einzelnen Testf lle wur
73. ation auf verschiedene Knoten erlaubt und die Wiederverwendbarkeit von Diensten erm glicht Die Modelle f r die Verteilung basieren auf Middlewares Diese realisieren die Kommunikation zwischen den einzelnen Teilnehmern und erm glichen die eigentliche Verteilung sowie die mehrschichtigen Architekturen Bis heute sind verschiedene Kommunikationsmodelle wie z B Remote Procedure Calls RPC oder verteilte Objekte entwickelt worden Sie bernehmen die reale Netzwerkkommunikation und vereinfachen dadurch die Entwicklung eines verteilten Systems Diese verschiedenen Ans tze erm glichen jeweils eine unterschiedliche Granularit t in der Verteilung z B einzelne Funktionen bei RPC oder Objekte die auf die Teilnehmer aufgeteilt werden und verwenden unterschiedliche Protokolle um eine Kommunikation zu realisieren Eine Middleware welche f r mobile Clients geeignet ist stellen Web Services dar Im Gegensatz zu RPC oder verteilten Objekten verwenden Web Services Transportprotokolle welche standardisiert sowie technologie und plattform bergreifend sind Der Standard des W3C welcher Web Services definiert erw hnt als Transportprotokoll explizit HTTP und das Simple Mail Transfer Protocol SMTP aber andere standardisierte Transportprotokolle wie z B das File Transfer Protocol FTP sind ebenfalls standardkonform Web Services kommunizieren ber Nachrichten in der Extensible Markup Language XML die nach dem Simple Object Access Proto
74. b des lokalen Netzwerks erreicht werden k nnen damit z B ber GPRS eine Verbindung aufgebaut werden kann 01 02 03 04 05 06 07 08 09 lt connectionStrings gt lt remove name TestDatenbank gt lt add name TestDatenbank connectionString Data Source lt Servername gt Initial Catalog DBTest User ID lt Benutzername Password lt Passwort gt providerName System Data SqlClient gt lt connectionStrings gt 10 hnlich wie die Serverseite m ssen auch auf der Clientseite Einstellungen vorgenommen werden N Eee 02 8Config 03 lt Variables gt 04 lt Variable name SyncTestUrl gt 05 URL auf den Webservice f r den Synchronisationstest 06 lt Variable gt 07s lt Variable name DBTestUrl gt 08 URL auf den Webservice f r den Datenbanktest 09 lt Variable gt 10s lt Variable name ReplikationUrl gt 11 URL auf den Replikationsdienst 12 lt Variable gt 13 lt Variable name Publisher gt 14 Name des Servers der die Publikation bereitstellt 15 lt Variable gt le lt Variable name PublisherDatabase gt I7 Name der Datenbank auf die die Ver ffentlichung basiert 18 lt Variable gt 19 lt Variable name Publication gt 20 Name der Publikation 21 lt Variable gt 22 lt Variable name Login gt 23 Benutzername unter dem die Replikationsdienste verwendet 24 werden
75. bleiben somit vergleichbar Da in dieser Arbeit ein Lasttest durchgef hrt wird muss die Datenmenge mit der getestet wird erh ht werden Im folgenden wird dargestellt nach welchen Schemata die Last f r die einzelnen Szenarien erh ht werden soll Vorgehen der Lasterh hung f r Szenario 1 Wie in Kapitel 5 dargestellt soll eine logarithmische Erh hung der Datenmengen verwendet werden Weiterhin sollen pro logarithmischer Laststufe Messpunkte mit einer linearer Schrittweise bestimmt werden F r die automatisierte Erh hung der Datenlast wird die Schrittweite der linearen Erh hung f r die Szenarien festgelegt Innerhalb des Synchronisationstest soll bei einer Datenmenge von 30 kB gestartet werden F r die Synchronisation ergeben sich die verschiedenen zu synchronisierenden Datenmengen Dy in kB wobei die Schrittweite der Lasterh hung nach dem Schema in Formel 6 5 1 126 aufgebaut wird Pro Punkt wird eine Messreihe pro Testfall des Szenario 1 erstellt D 30 D 60 D 90 Formel 6 5 1 Schrittweite der D 300 D 600 Dy Datenerh hung f r die Synchronisation Diese Auswahl an Punkten stellt ein Kompromiss aus Aussagekraft und Laufzeit der einzelnen Testf lle der Synchronisation dar da der Durchlauf eines Testfalls der Synchronisation mit entsprechenden Wiederholungen um eine Messreihe zu erstellen ein langwieriger Vorgang ist Die logarithmische Erh hung erm glicht einen starken Sprung der Last auf dem System
76. chiedene Aspekte der Performance eines Systems oder einer Software Metrik Beschreibung Verarbeitungszeit Dauer von Anfragen an ein System Dauer einer Funktionsdurchf hrung Durchsatz Gibt die Rate von Aktionen pro Zeiteinheit an wie z B Anzahl Transaktionen pro Sekunde Verf gbarkeit Die Zeitdauer in der ein Dienst oder System durchschnittlich ohne Unterbrechung z B wegen Wartung verf gbar ist Verl sslichkeit Gibt an wie verl sslich das System unter einer bestimmten Last ist gemessen in der Wahrscheinlichkeit von Fehlern bzw der Zeit zwischen zwei Fehlern Tabelle 4 Metriken f r Performance Tests Der n chste Schritt stellt die Ausarbeitung von detaillierten Testf llen dar Auf Grundlage der Szenarien Arbeitslast und der zur testenden Metrik werden die einzelnen Testf lle aufgebaut Diese stellen in dieser Arbeit konkrete Datenbankabfragen an das mobile DBS sowie die Synchronisationsoperationen dar die mithilfe verschiedener Netzwerktechnologien ausgef hrt werden sollen Zu den Testf llen geh rt weiterhin die Beschreibung des erwartenden Verhalten des Systems bzw der Software f r den jeweiligen Testfall um Anomalien vom normalen Verhalten unterscheiden zu k nnen Somit stellen die Testf lle konkrete Beschreibungen dar welche Operationen pro Messung durchgef hrt werden unter welchen Bedingungen 112 Vergl Beydeda Sani Hrsg 2004 S 87f und Jain Raji 1991 S 37f
77. cht auf schwache und abbrechende Verbindungen wie auch auf das Auftreten heterogener Ger te mit verschiedenen Kommunikationstechnologien und Betriebssystemen zu reagieren ist die Einf hrung einer Schicht aus Mediatoren denkbar Dieses Modell weist eine Verwandtschaft zum Broker bzw Agentmodell auf und ist speziell auf mobile Ger te angepasst Wie das Agent Modell rufen Mediatoren passend zur Anfrage mehrere Dienste auf und erstellen daraus ein Ergebnis Weiterhin entkoppelt es wie die Broker die Server von den Clients Dadurch m ssen Server keine verschiedenen Schnittstellen f r heterogene mobile Clients bereitstellen und umgekehrt mobile Clients keine heterogenen Server 67 Vergl Buschmann Frank et al 2000 S 99 und Bengel G nther 2004 S 68f 68 Vergl Microsoft 2009 b 69 Vergl Bengel G nther 2004 S 78f Mutschler Bela 2004 S 73ff und Bauder Irene 2006 S 440ff 25 unterst tzten Um Verbindungsverluste mobiler Clients zu unterst tzen k nnen Mediatoren Ergebnisse f r den Client zwischenspeichern Bei einer wiederhergestellten Verbindung kann dann das zwischengespeicherte Ergebnis bertragen werden Neben den vorgestellten Grundmodellen gibt es weitere Modelle mit denen je nach Anwendungsfall weitere Strukturen realisiert werden k nnen Mithilfe der Erweiterungen des einfachen Client Server Modells welche kombinierbar sind k nnen komplexe Strukturen entstehen die eine feine Aufteilung der Applik
78. col SOAP aufgebaut sind Die Verwendung systemunabh ngiger Technologien wie XML und standardisierten Transportprotokollen erm glicht eine Kommunikation zwischen heterogenen Teilnehmern Da mobile Ger te wie Handhelds Web Services unterst tzen gibt es inzwischen mobile Web Services die z B eine 70 Vergl Mertens Stefan 2003 S 145ff 71 F r eine detaillierte Einf hrung in weitere Client Server Modelle vergl Bengel G nther 2003 Kapitel 2 S 27ff 72 Vergl Bengel G nther 2004 S 85f und S 137 sowie Tannenbaum Andrew S et al 2008 S 147 und Mutschler Bela et al 2004 S 71 73 Vergl Heutschi Roger 2007 S 53 74 F r eine Einf hrung in den genauen Aufbau von Web Services vergl Coulouris George et al 2005 S 783ff 26 Integration von mobilen Ger ten in bereits vorhandene Systeme erlauben Bei der Verteilung von Datenbest nden und DBS kann auf die verschiedenen Modelle f r die Aufteilung und Techniken zur Kommunikation und Verteilung zur ckgegriffen werden Dasselbe gilt f r den Aufbau des Tests eines mobilen DBS mit einer Anbindung an ein zentrales Serversystem In dieser Arbeit wird f r den Aufbau des Testsystems ein einfaches Client Server Modell Vergl Abbildung 5 welches auf Web Services basiert verwendet Das mobile Testger t wird die Testdaten ermitteln und an den Server bertragen Dort werden dann die Messergebnisse aufbereitet und angezeigt Weiterhin wird ber dieses Mode
79. de so gew hlt dass sich durch die Schrittweite der Synchronisation drei verschiedene Laststufen ergeben 10 100 1000 Damit kann das Verhalten der Synchronisation bei einer steigenden Last dargestellt werden und l sst Absch tzungen zu wie sich die Daten bertragung bei h heren Datenmengen verh lt Gleichzeitig bleibt die Laufzeit der Testf lle in einem durchf hrbaren Rahmen Um das Transaktionslog der mobilen Datenbank welches die Operationen auf einer Datenbank f r die Realisierung von ACID Transaktionen enth lt und bei einer zunehmenden Gr e Einfluss auf die Performance nimmt zu kontrollieren soll nach jeder Messreihe das Transaktionslog automatisch verkleinert werden Auf Serverseite wird dies per Hand vom Tester durchgef hrt Pro Test ein mal Dies wird lediglich in diesem Szenario durchgef hrt da das Generieren und L schen von Daten f r jede Messung das Transaktionslog unnat rlich stark wachsen l sst 6 7 2 Testf lle Szenario 2 und 3 Um das mobile Datenbanksystem zu testen sind im Kapitel 6 4 zwei Szenarien vorgesehen Die Aufgabe der Testf lle in Szenario zwei ist das Ermitteln und Auslesen von Daten aus der Datenbank Dabei sollen Abfragen einfacher mittlerer und hoher Komplexit t verwendet werden Das folgende Listing zeigt den ersten Testfall des zweiten Szenario 01 SELECT Kunde Kundeld Kunde Vorname Kunde Nachname 02 Kunde Strasse Kunde Ort Kunde PLZ Kunde KundenNr 03 FROM Kunde 04 WH
80. den und die die Grundlage der Anfragen an das DBS stellen bzw aus Datenmengen welche bei der Synchronisation bertragen werden 50 Um die Arbeitslast zu modellieren kann aus der Schemadefinition der Datenbank die Gr en einzelner Testdatens tze f r die einzelnen Relationen ermittelt werden Um die Datenmenge kontrolliert erh hen zu k nnen und um die Komplexit t der Generierung der Daten zu verringern wird eine Grundmenge an Datens tzen definiert die jeweils zusammen als Datenblock in die Datenbank eingef gt werden Tabelle 9 stellt die Anzahl der Datens tze sowie ihre Gr e in Byte dar die in einem solchen Datenblock enthalten sind Innerhalb der Berechnungen der Gr e des Blocks ist das nderungsdatum nicht mit eingerechnet da dieses Feld bei neuen Datens tzen nicht gef llt sein soll Die Abk rzung Ds in der Tabelle steht f r Datensatz bzw f r Datens tze Tabelle 9 ist wie folgt zu lesen Pro Relation mit Ausnahme der Position Produktart und Kollektion gibt es mehrere Zeilen mit Datens tzen F r diese Datens tze werden die Gr en f r Felder mit einer variablen L nge festgelegt in dem in dieser Arbeit verwendeten Datenbankschema lediglich Werte vom Datentyp Varchar also alphanumerische Werte variabler L nge Die Anzahl der Zeichen wird mit zwei multipliziert Die Multiplikationen begr nden sich in dem Datentyp Varchar der im Microsoft SQL Server 2005 CE und Microsoft SQL Server 2005 pro Zeichen mit Z i
81. der berpr fung ob die Messergebnisse nicht zu stark verzerrt worden sind dargestellt Diese sind pro Szenario tabellarisch aufgelistet Dabei wird pro Testfall jeweils pro Zeile die getestete Datenmenge das Ergebnis der Berechnung sowie die Anzahl der Wiederholungen angegeben Diese Tests wurden mit der Wahrscheinlichkeit a 5 und dem Intervall d b Mittelwertder Messungen mit b 0 05 durchgef hrt Datenmenge Berechnung Wiederholungen Datenmenge Berechnung Wiederholungen Cm C C EE Abbildung 38 berpr fung Szenario 1 Testfall GPRS Gro Datenmenge Berechnung Wiederholungen Datenmenge Berechnung Wiederholungen C E E CE EEE E C EE ge EN E KOHREEEEE CO EIS ER Abbildung 39 berpr fung Szenario 1 Testfall GPRS Mittel Datenmenge Berechnung Wiederholungen Datenmenge Berechnung Wiederholungen 6 50566914283317 10 C C Abbildung 40 berpr fung Szenario 1 Testfall GPRS Klein Datenmenge Berechnung Wiederholungen Datenmenge Berechnung Wiederholungen 3 16468039296027 1 27407510243711 60 Me sa612574168871 2 3839841186623E Abbildung 41 berpr fung Szenario 1 Testfall WLAN Gro 115 m 0 1 sgio2es2102113 o T Datenmenge Berechnung Wiederholungen Datenmenge Berechnung Wiederholungen 1 98341953014572 1 91438713636947 3 06743488501296 10 3000 Abbildung 42 berpr fung Szenario 1 Testfall
82. der Replikationsschnittstellen sowie einem erh hten Aufwand und Dauer der Synchronisation durch zus tzliche Bedingungen Im Falle von Thick Clients welche f r den Einsatz ohne ein zentrales System gedacht sind m ssen dem Benutzer entsprechende Kontrollen der Datenmengen zur Verf gung gestellt werden Dazu k nnen L schmasken oder Funktionen zur bertragung von lteren Datens tze in mobile Datenbanken welche zur Archivierung dienen geh ren Das nachfolgende Kapitel fasst diese Ergebnisse zusammen und zieht ein Fazit 156 Vergl Schiller Jochen et al 2004 S 10ff sowie Kapitel f r eine Einf hrung in Location Based Services 157 Vergl f r die benutzerdefinierte Replikation zus tzlich zu Kapitel 4 3 3 Mutschler Bela et al 2004 S 100ff und Weikum Gerhard et al 2003 S 453ff 87 7 Ergebnis und Fazit Im vorherigen Kapitel sind die Ergebnisse der Messungen dargestellt Darin wird speziell die Begrenzung durch die geringere Leistungsf higkeit des mobilen Ger tes sichtbar Somit stellt das mobile DBS bis zu 10 000 Datens tzen ein stabiles System dar welches auch komplexe Anfragen im Millisekundenbereich verarbeiten kann Bei Datenmengen dar ber h ngt die Verwendbarkeit mobiler DBS von der Komplexit t der Anfragen sowie der Performanceanforderungen an die jeweilige Applikation ab hnliches gilt f r die Synchronisation Bis zu einer Datenmenge von einem MB 10 000 Datens tze bleiben die Laufzeiten der Synchroni
83. derholungen erreicht ist Nach der Durchf hrung der Wiederholungen werden die Ergebnisse der Messreihe an den Server bertragen Dann wird mit der n chsten Messreihe fortgesetzt Pro Messreihe wird die zu synchronisierende Datenmenge erh ht und es werden so lange Messreihen erzeugt bis die vom Benutzer eingegebene Maximaldatenmenge erreicht ist Abbildung 16 zeigt die im Synchronisationstest verwendeten zusammengeklappten Abl ufe Synchronisationsdatenmenge l schen und Synchronisationsdatenmenge erstellen Die Aktivit t Synchronisationsdatenmenge erstellen erzeugt eine zu synchronisierende Datenmenge durch das Einf gen neuer Datens tze sowie dem Aktualisieren von vorhandenen Datens tzen auf der Client sowie der Serverseite Weiterhin liefert die Aktivit t das Erstellungsdatum von neuen Datens tzen die sp ter in der Aktivit t Datenmenge l schen verwendet wird um die bei der Datenerh hung eingef gten neuen Datens tze zu l schen und den Grundzustand wieder herzustellen Die Datenmenge wird zur H lfte aus neuen Datens tzen und zur H lfte aus aktualisierten Datens tzen erzeugt Vergl Kapitel 6 5 67 Datenmenge l schen Einf gezeitpunkt Datenmenge erh hen Client Datens tze nach dem Einf gezeitpunkt aus der Client Datenbank l schen Datenmenge auftellen in Client und Serverdatenmenge Datens tze nach dem Einf gezeitpunkt aus der Zeitpunkt ermitteln oo gt Server Datenbank l
84. dhelds oder Mobiltelefone in Zukunft vergr ern wird Die Ausbreitung der Funktechnologien der 3 Generation sowie der nachfolgenden Generationen erleichtern weiterhin den Umgang mit dem zentralen System Somit k nnen gr ere Datenmengen auf das mobile Ger t geladen bzw von dem mobilen DBS verarbeitet werden Zuk nftig k nnen weiterf hrende Szenarien aufgebaut werden die die Performance von Thin Clients testen Damit k nnen Vergleiche zwischen reinen Online Szenarien und den Offline Szenarien durchgef hrt werden Weiterf hrend k nnen andere Modelle f r die Verteilung von Daten oder der Synchronisierung bzw andere Datenbanksysteme getestet werden Basierend auf solchen zus tzlichen Testergebnissen kann die Leistungsf higkeit der mobilen Ger te Daten zu speichern und zu verarbeiten beurteilt werden Basierend darauf kann entschieden werden welche Modelle und Datenbanksysteme f r konkrete Anwendungsf lle und Performance Anspr che geeignet sind 89 Literaturverzeichnis a Monographien Appelrath Hans J rgen Ludewig Jochen Skriptum Informatik Eine konventionelle Einf hrung Teubner Verlag Leipzig 2000 Baker Paul Dai Zhen Ru Grabowski Jens Hagen ystein Schieferdecker Ina Williams Clay Model Driven Testing Using the UML Testing Profile Springer Berlin 2008 Bauder Irene Microsoft SQL Server 2005 f r Administratoren Hanser M nchen 2006 Bengel G nther Grundkurs Verteilte Systeme Viehwe
85. die Verwendung von Realdaten dar falls diese f r das zu testende System vorhanden sind Um das Verhalten des Gesamtsystems unter zunehmender Belastung zu untersuchen werden Laststufen ben tigt auf deren Grundlage gemessen wird Ein in der Praxis gel ufiger Ansatz stellt die Erh hung der Last um einen fest definierten Wert dar Bei einem Lasttest z B kann leicht unter der Last angefangen werden f r die das System gedacht ist und dann linear erh ht werden Die Erh hung der Datenmenge kann auch anders vorgenommen werden je nach Anforderungen an den Test Um das Verhalten des Systems auch unter geringer und mittlerer Last zu ermitteln kann bei einer kleinen Startmenge angefangen werden Damit wird eine Absch tzung m glich wie sich die Performance auch oberhalb der maximal getesteten Last verh lt Innerhalb dieser Arbeit soll gezeigt werden wie sich die zu testenden Teile unter niedrigen mittleren und hohen Belastungen verh lt Dabei stellt die Verwendung einer linearen Erh hung eine ung nstige Wahl dar da f r kleine Datenmengen eine geringe Schrittweite ben tigt wird w hrend bei h heren Datenmengen eine solche Schrittweite einerseits eine Genauigkeit liefert die nicht ben tigt wird und andererseits zu einer hohen Laufzeit des Gesamttests f hrt Eine Alternative stellt die Verwendung einer logarithmischen Schrittweite der Datenerh hung dar Diese kann mit einer linearen Schrittweite kombiniert werden Bei diesem Vorgehe
86. durchf hrung Abbildung 34 Screenshot Optionen Man kann auch ber das Men der Applikation Schaltfl che Optionen in die Teststeuerung kommen ohne einen Testzustand herzustellen Vergl Abbildung 34 Allerdings muss sp testens bei einer Testdurchf hrung vom Benutzer best tigt worden sein dass ein Testzustand hergestellt worden ist Vergl Kapitel 6 8 3 Falls dies bis zur Testdurchf hrung nicht geschehen ist wird die Prozessliste wieder angezeigt In dem Fall ist das Men unter Optionen gesperrt und man ist gezwungen einen Testzustand herzustellen und zu best tigen Nach der Best tigung wird der Test 110 fortgesetzt ber Mob DB anlegen kann man die mobile Datenbank anlegen w hrend Grundzustand Sync eine Basisdatenmenge f r den Synchronisationstest anlegt Die beiden Schaltfl chen darunter sorgen f r den Start des Synchronisations bzw DBS Tests Innerhalb des DBS Tests werden automatisch alle Testf lle des 2 und 3 Szenarios durchgef hrt Die Eingabefelder unter den Schaltfl chen dienen der Parametereingabe f r die Tests Dazu geh rt die maximale Datengrenze bis zu der getestet wird in kB der Name des Szenarios Im Fall des DBS Tests wird der Name f r das 2 und 3 Szenario ben tigt W hrend im DBS Test die sechs Testf lle innerhalb eines Testdurchlaufs durchgef hrt werden und somit die Namen der Testf lle klar zugeordnet werden k nnen ben tigt der Synch
87. e Agents erm glichen die Erstellung von Publikationen die Subskription von Clients sowie die Synchronisation W hrend die Clientapplikation die Tests steuert bernimmt die Applikation auf der Serverseite das Erstellen von Prozessprofilen f r den Server sowie die Anzeige und Auswertung von Ergebnissen Anhang 4 beschreibt welche Schritte zur Installation und Einrichtung dieses Systems unternommen werden m ssen F r die Speicherung der Messergebnisse werden die Relationen aus dem Schema verwendet welches in Abbildung 11 dargestellt ist Die Relation Master_Test nimmt dabei die einzelnen Szenarien auf w hrend die Testf lle in der Relation Testfall und die Messungen in der Tabelle Test gespeichert werden Eine genaue Datendefinition ist in Anhang 5 zu finden In Anhang 6 wird die Bedienung des Systems dargestellt J TestFall Z Maste column column lt gt TestFallid E TestName o ne 5 Column lt ClientTestvalueld Zeit Datenmenge Kommentar Testschritte Abbildung 11 Datenbankschema der Datenbank f r die Speicherung der Messergebnisse 6 8 2 Anwendungsf lle Dieses Kapitel stellt die einzelnen Anwendungsf lle dar die ein Benutzer mit der Testsoftware durchf hren kann Abbildung 12 zeigt diese in einem Use Case Diagramm Die Anwendungsf lle f r die Vorbereitung der Tests stellen das Anlegen der mobilen Datenbank Nach einer Installation der mobile
88. e Zeit s al ttt iid Ks aa rt 10 10 1P 10 Getestete Datenmenge MB Abbildung 26 Ergebnis Szenario 1 Testf lle f r WLAN Abbildung 27 zeigt alle sechs Testf lle des ersten Szenarios um einen Vergleich von WLAN und GPRS zu erm glichen Test Client GPRS Klein GPRS Mittel GPRS Gro WLAN Klein WLAN Mittel t _ WLAN Gro E Ben tigte Zeit s i 73 T terje Pan tt 10 10 1P 10 Getestete Datenmenge MB Abbildung 27 Ergebnis Szenario 1 Gegen berstellung WLAN und GPRS Innerhalb von Abbildung 27 wird ersichtlich dass es zwischen den beiden Funktechnologien zun chst keinen gro en Unterschied gibt Die GPRS Testf lle liegen immer ber ihrem Gegenst ck aus den WLAN Testf llen aber ein drastischer Unterschied ist nicht erkennbar Erst ab drei MB liegt der mittlere und der gro e GPRS Testfall deutlicher ber den mittleren und gro en Testfall der WLAN Reihe Die geringe bertragungsrate der GPRS Technologie wirkt sich somit im MB Bereich deutlicher aus Somit ist die Grenze der Datenmenge bis zu der die Synchronisation eingesetzt werden kann stark abh ngig von dem jeweiligen Anwendungsfall sowie die 80 dort auftretenden zu synchronisierenden Datenmengen 6 9 2 Abschlie ende Betrachtung der Synchronisationsergebnisse Abschlie end betrachtet beschr nkt die mobile Umgebun
89. egangen dass das mobile Ger t eine st ndige Verbindung besitzt Dies kann z B beim Einsatz in Lagerh usern zur Erfassung von Waren der Fall sein wo ein WLAN f r die mobilen Ger te bereitgestellt wird Dabei muss auf eine ausreichende berdeckung des Bereichs sowie einer ausreichenden St rke und Qualit t der Signale geachtet werden St rquellen wie Maschinen beim Einsatz in Produktionszentren o stellen weitere zu beachtende Punkte beim Aufbau eines solchen Netzwerkes dar Die mobilen Applikationen die in einem solchen Szenario eingesetzt werden brauchen lediglich eine Benutzersteuerung zu realisieren Die Verarbeitung und Speicherung der Daten kann in einem zentralen System geschehen welches ber das WLAN mit der Oberfl che auf dem mobilen Ger t verbunden ist Solche Clients werden als Thin Clients bezeichnet Eine komplette Ortsunabh ngigkeit wird aber in diesen Szenarien 21 Vergl Stein Erich 2008 S 343 10 nicht erreicht Dem gegen ber steht das Offline Szenario in dem immer eine Unterbrechung der Verbindung geschehen kann Ein Beispiel f r dieses Szenario w re ein mobiler Client der Mitarbeiter im Vertrieb bei Kundenbesuchen an beliebigen Orten unterst tzt um direkt vor Ort Verk ufe durchzuf hren Dieses Beispiel stellt die Grundlage f r die in dieser Arbeit durchgef hrten Tests In dem Fall muss auf die WWANs zur ckgegriffen werden da bei diesem Szenario keine Verbindung zu WLANs garantiert werden kann
90. eichern C 1 lt lt central buffer Messergebnisse lt lt cenfral buffer Messergebnisse Weight Anzahl L Messergebnisse Wiederholungen Basisdatenmenge erfolgreich erstellt Testprofil auf Server vorhanden la Testprofil auf Server laden Starte Vorlauf zur Stabilisation des Systems Alle Wiederholungen f r den Vorlauf durchgef hrt Synchronisation durchf hren lt lt central buffer gt gt Einf gedatum Ist der aktuelle Durchlauf ein Messergebnisse Vorlauf Alle Nein Ergebnisse an den Server senden F z Wiederholungen Vor einem Synchronisationstest durchgef hrt muss der Benutzer sicherstellen dass das Ger t sich mit der zu testenden Funktechnologie mit dem Server verbindet Name des Szenarios sowie des Testfalls Maximalmenge Startmenge Falls ein bereits vorhandener Testlauf z B durch ein Versagen der Batterie des Ger ts abgebrochen wurde und dieser fortgesetzt werden soll sowie die Anzahl der Wiederholungen f r eine Messreihe Weiterhin ob ber W Lan oder GPRS synchronisiert werden soll Um sp ter den Ursprungszustand f r Wiederholungen wiederherzustellen wird das Einf gedatum der synchronisierten Datens tze ben tigt Abbildung 15 Aktivit tsdiagramm Synchronisationstest Nachdem auch der Server in einen Testzustand versetzt wurde durch das Laden eines
91. eiligen Einsatzzweck geeignet ist Performance Tests werden ebenfalls verwendet um Teile innerhalb eines Systems zu finden die einen wesentlichen negativen Einfluss auf die Performance haben und Entwicklern aufzeigen an welcher Stelle sie ansetzen k nnen um auftretende Performance Probleme zu beheben 102 Vergl Spillner Andreas et al 2007 S 71F Sneed Harry M et al 2009 S 25F Baker Paul et al 2008 S 106ff Dirlewanger Werner 2006 S 14 und Ford Chris et al 2008 S 1 103 Vergl Ford Chris et al 2008 S 1ff und Beydeda Sami Hrsg et al 2004 S 79 36 Das nachfolgende Kapitel beschreibt anhand eines Vorgehensmodells wie Performance Tests aufgebaut werden k nnen speziell in Hinsicht auf den Test des mobilen Datenbanksystems und der Synchronisation 9 2 Herangehensweise an Performance Tests Vor der Entwicklung eines Performance Tests stellt sich die Frage nach der Art dieses Tests Je nach Ziel gibt es unterschiedliche Arten von Performance Tests Um z B zu zeigen wie sich ein System unter der zu erwartenden Maximallast einer Anwendung oder sogar einer dar ber hinausgehenden Last verh lt k nnen Stresstests durchgef hrt werden Dagegen zeigen Lasttests wie sich ein System unter der f r das System gedachten Last verh lt Daf r wird bis zur maximalen geplanten Last getestet oder leicht dar ber um eine Grenze f r Abweichungen zu haben Um zu bestimmen wo die reale Maximallast
92. eine Liste mit Wahrscheinlichkeiten Durch die Auswahl der gew nschten Wahrscheinlichkeit l dt das Programm das entsprechende Quantil EIER Testauswertung Prozesse berpr fung der Messergebnisse mr Berechnung Wiederholungen Datenmenge Berechnung Wiederholungen m E E EEEE CM CE E EE IR CE E A E ID EEE 0 00012236731843 20000 8 3919607800224E 9 18942363079384 10 40000 4 33486905565723 6 41021919001307 50000 1 82506960170048 1 80469306636114 Quantileingabe per Hand Quantileingabe per Auswahl U1 0 2 Quantil 1 960 W hrscheinlichkeit U1 a 2 Intervall 0 05 Testfall Anfrage mit hoher K Szenario si Berechne U1 a 2 Starte berpr fung Abbildung 37 Screenshot berpr fung der Messergebnisse 113 ber die Schaltfl che Berechne ul 2 kann der Benutzer sich zu der Irrtungswahrscheinlichkeit die entsprechende Wahrscheinlichkeit ausrechnen nach der er das Quantil ausw hlen muss Mithilfe der Schaltfl che Starte berpr fung werden die Messreihen gepr ft und ausgegeben Die gr n hinterlegten Felder in der Ausgabe bedeutet die Messreihe hat die berpr fung bestanden w hrend eine rote Hinterlegung bedeutet die berpr fung hat ein negatives Ergebnis geliefert 114 7 Detaillierte Ergebnisse der berpr fungen der Messreihen Innerhalb dieses Kapitels werden die detaillierten Ergebnisse
93. eines Systems liegt bieten sich Skalierungstests an Unter dem Begriff Skalierungstest versteht man verschiedene Arten von Tests Sie k nnen zeigen wie sich die Performance eines Systems verbessert wenn weitere Teile wie z B zus tzliche Prozessoren dem ausf hrenden Computersystem hinzugef gt werden Unter einem Skalierungstest versteht man aber auch einen Test der die realen Leistungsgrenzen eines Systems ermitteln soll z B indem die Last unter der das System arbeitet zunehmend erh ht wird bis Anomalien auftreten Je nach Literatur werden diese verschiedenen Varianten als spezielle Art eines Performance Tests angesehen w hrend andere mit Performance Test speziell die Messung von Laufzeiten meinen auch Laufeittest genannt und unter den anderen Varianten jeweils eigene Arten von Tests meinen In dieser Arbeit wird der ersten Ansicht gefolgt in der Performance Test als globaler Begriff verwendet wird welcher in verschiedenen Variationen auftreten kann Innerhalb dieser Arbeit wird ein Lasttest aufgebaut Da reale Vorgaben der maximalen Last fehlen soll untersucht werden wie sich das mobile DBS und die Synchronisation unter verschiedenen Laststufen verh lt Tabelle 3 beschreibt wie ein Performance Test aufgebaut werden kann 104 Vergl Beydeda Sani Hrsg 2004 S 87f 105 Vergl Baker Paul et al 2008 S 106f und Yang Laurence et al 2005 S 696 106 Vergl Baker Paul et al 2008 S 106f Spillner Andrea
94. eispiele verwendeten Signale und Frequenzbereiche dar sodass zum Teil wesentlich h here Datenraten erm glicht werden 3 Generation Die 3 Generation stellen Technologien dar die vollst ndig Universal Mobile auf Daten bertragung ausgerichtet sind Sie erreichen im Telecommunications Vergleich zu Technologien der 2 Generation wesentlich Service UMTS basiert h here Datenraten liegen aber noch deutlich unter den auf GSM Datenraten der WLANSs CDMA 2000 3 Generation Die Technologien der 3 Generation Enhanced stellen ISO 802 11 a und g Enhanced gr tenteils WLAN Standards dar die unter Verringerung Point To Point der Datenraten eine wesentlich h here Abdeckung WIMAX erreichen Abgegrenzt vom WLAN Standard gibt es die Wirldwide Interoperability Microwave Access Technologie WIMAX welche eine von den vorhergehenden Generationen unabh ngige Entwicklung auf Mikrowellen Basis darstellt Eine zellulare Struktur wird von WIMAX unterst tzt jedoch nicht von den WLAN Standards Allerdings k nnen Technologien die den Standard 802 11 a sowie g realisieren eine hnliche Abdeckung wie die einzelnen Makro Zellen von WWANs unter Reduzierung der Datenrate erreichen Tabelle 2 Darstellung der verschiedenen WWAN Generationen Je nach Land k nnen unterschiedliche Technologien zum Einsatz kommen Europa z B setzt gr tenteils auf GSM und deren Nachfolger w hrend die USA CDMA und deren
95. eiterer Schritt bei der Testdurchf hrung stellen vorbereitende L ufe des Systems dar Je nach zu testendem System ben tigt dieses eine gewisse Zeit bis z B Puffer aufgebaut sind und s mtliche Dienste geladen worden sind Um das mobile DBS sowie die Synchronisation entsprechend vorzubereiten soll in dieser Arbeit zun chst ein Testlauf unter geringer Last durchgef hrt werden welcher nicht als Messreihe mit aufgenommen wird Danach wird mit dem eigentlichen Test begonnen 116 Vergl Mosler Karl et al 2006 S 105 117 Vergl Dirlewanger Werner 2006 S 34f und S 55ff 118 Z B zu entnehmen aus Graf Ulrich et al 1998 S 458 oder Bronstein I N et al 2008 S 1143f wobei bei der letzteren Quelle die Wahrscheinlichkeit genommen werden muss die die gew nschte Toleranz gerade berschreitet vergl f r U _ j auch Graf Ulrich et al 1998 S 112 119 Vergl Dirlewanger Werner 2006 S 42f 42 Der letzte Schritt besteht in der Darstellung und Analyse der Messergebnisse Die in den einzelnen Testf llen ermittelten Werte bestehend aus den Wertepaaren Laufzeit und Datenmenge k nnen in einem Kurvendiagramm abgebildet werden Aus diesem Diagramm kann man ermitteln f r welche Performanceanforderungen das getestete System geeignet ist Test Client t Abfrage mit mittlerer Komplexit t 10 F T T Ben tigte Zeit s a t 10 10 Getestete Datenmenge kB
96. elld Artikel Artikelld INNER JOIN Kollektion ON Artikel Kollektionld Kollektion KollektionlId INNER JOIN Produktart ON Kollektion ProduktArtId Produktart ProduktArtId Kunde Kundeld in SELECT Kunde KundelId FROM Kunde WHERE Produktart ErstellungsZeitpunkt ErstellungsZeitpunkt ANI Kunde Nachname LIKE TESTKUNDE BY Kunde Nachname Auftrag AuftragDatum Artikel Bezeichnung F r Szenario drei ergeben sich drei verschiedene Testf lle das Einf gen Aktualisieren und L schen von Datens tzen Dabei wird jeweils mit einer Datenzeile in der Tabelle Kunde gearbeitet Zugeh riges Name Beschreibung Datengrenze Szenario Datens tze Szenario 2 Anfrage mit niedriger Durchf hren der ersten SQL Anfrage welche 500 000 Komplexit t auf der Relation Kunde arbeitet Szenario 2 Anfrage mit mittlerer Durchf hren der zweiten SQL Anfrage welche 500 000 133 Vergl Gulutzan Peter et al 2003 S 11 und S 113 60 Zugeh riges Name Beschreibung Datengrenze Szenario Datens tze Komplexit t vier Tabellen miteinander verbindet Szenario2 Anfrage mit hoher Durchf hren der dritten SQL Anfrage welche 500 000 Komplexit t alle Tabellen verbindet Szenario 3 Aktualisierung von nderung einer Zeile in der Tabelle Kunde 500 000 Daten Szenario 3 Einf gen von Daten Einf gen einer Zeile in der Tabelle Kunde 500 000 Szenario 3 L schen von Dat
97. ellierung von Client Systemen f r mobile Ger te eeenenennnenn 22 4 1 Anforderungen durch die Netzwerkschnittstellen f r mobile Ger te 22 4 2 Einf hrung in verleilt amp Systeme ana ke aan 23 4 3 Einf hrung in verteilte Datenbanksysteme sensenssneesnneennnnnnnnnenn 24 43 12Gr0ndasn anna Rinne 27 4 3 2 Replikationsmodelle f r den Einsatz mit mobilen Ger ten 31 4 3 3 Vergleich von Architekturen f r verteilte DBS mit mobilen Ger ten 33 5 Performance Tests a nene ae a a aa aa i a 36 5 1 Notwendigkeit von Performance Tests ccuseesssennseessnensnensneennnennnnennnennnn 36 5 2 Herangehensweise an Performante Tests een ia 37 6 Durchf hrung eines Performance Tests eines mobilen Datenbanksystems und einer Synchronisatioi seais a a ar a a a es 44 6 1 Einfuhr near a a T AA E E ARA 44 6 2 Hardware und Softwareumgebung eennsensenssnnnsnnnesnnnnnnnenn 44 6 3 ADELENZUNGEN een T EEE E 45 6 4 Schl sselsze ari eneren iiaa ein 46 OS ATHE laS teeta e C aa a T E TA 50 6 60 Metoken seni EnA R A EA aa A E ei 57 8 1 Testfallei ass ee a EA Aie ARE RAE EE EA a 57 6 7 1 TesttalleSzenatie lirest taarat ati 57 9 2 Testialle Szenario 2 nd I er 59 6 8 Durchf hrung des Tests und Modell der Testapplikation ee 61 6 8 1 Struktur des Gesamtsystem a nee a 61 6 8 2 Anwendungsf lle rs ee la 62 0 83 AD lau a er 64
98. en Dieses Kapitel stellt die Funktionalit ten und Tests dar die ber die in dieser Arbeit aufgebauten Testsystem sowie Testszenarien hinausgehen und gibt weiterhin einen Ausblick welche Erweiterungen zuk nftig an der Testapplikation vorgenommen werden k nnen 120 Vergl T Mobile 2009 S 327f 45 Innerhalb des in dieser Arbeit aufgebauten Performance Tests wird eine bidirektionale Synchronisation getestet Vergl dazu Kapitel 4 3 1 Eine zuk nftige Erweiterung w re die Aufnahme von Szenarien welche auf anderen Arten von Synchronisationen basieren Zum Beispiel kann mithilfe des Tests einer unidirektionalen Synchronisation gezeigt werden in wie weit sich die Performance der Synchronisation ver ndert wenn lediglich nderungen von einer Seite des Systems synchronisiert werden m ssen Aufgrund des ausgew hlten Aufbaus des verteilten DBS stellen verteilte und mobile Transaktionen ebenfalls keinen Teil des Testsystems dar Der Test von verteilten Anfragen und verteilten sowie mobilen Transaktionen und deren Verhalten unter Last w re f r die Betrachtung von Thin Clients oder bestimmten Modellen von verteilten DBS interessant Weiterhin wird in dieser Arbeit genau ein mobiles Ger t verwendet um zu testen F r die Performance der Synchronisation w re die Verwendung von mehreren mobilen Ger ten interessant um herauszufinden wie viele Clients das Serversystem bew ltigen kann 6 4 Schl sselszenarien In diesem Kapitel
99. en L schen einer Zeile in der Tabelle Kunde 500 000 Tabelle 12 Testf lle Szenario 2 Anfragen und Szenario 3 Datenmanipulationen Tabelle 12 fasst die verschiedenen Testf lle f r den DBS Test zusammen Diese Testf lle werden bis zu einer Gesamtdatenmenge von 500 000 Datens tze 50 000 kB durchgef hrt Die einzelnen Datenmengen auf denen die verschiedenen Operationen durchgef hrt werden ergeben sich aus Formel 6 5 2 sowie dieser maximalen Datenmenge Durch den Test bis zu dieser Grenze soll wie beim Synchronisationstest der Trend der Performance unter einer zunehmenden Belastung gezeigt werden Diese Grenze liegt weit ber der Grenze der Synchronisationstestf lle da die Gesamtlaufzeit der DBS Tests stark unter der der Synchronisationstest liegt 6 8 Durchf hrung des Tests und Modell der Testapplikation Dieses Kapitel beschreibt wie die Testf lle aus dem vorherigen Kapitel mit einer verteilten Testapplikation durchgef hrt werden Daf r wird zun chst der grobe Aufbau der Testapplikation dargestellt Weiterhin werden die einzelnen Anwendungsf lle die mit der Applikation m glich sind sowie deren Ablauf dargestellt Abgeschlossen wird mit einer detaillierten Darstellung der Testapplikation 6 8 1 Struktur des Gesamtsystems Dieses Kapitel zeigt in welche Einzelteile die verteilte Anwendung zerlegt ist Das Verteilungsdiagramm in Abbildung 10 zeigt die Komponenten des Systems lt lt device gt gt
100. en Standards gef hrt 8 Vergl Shanmugam Ramadas et al 2002 S 17ff und Kurose James F et al 2008 S 48 9 Vergl Kurose James F et al 2008 S 513 und S 48 sowie Lehner Franz 2003 S 141 und S 147 Beide beziehen sich auf das TCP IP Protokoll allerdings zeigen beide im Vergleich von TCP IP und OSI dass im OSI Modell diese drei Schichten betroffen sind vergl auch Mutschler Bela 2004 S 23 10 Vergl Mutschler Bela 2004 S 23 und H ckelmann Heiko et al 2000 S 115 11 Vergl Mutschler Bela 2004 S 23 12 Vergl Tse David et al 2006 S 4f Diese legen die Charakteristika und Schnittstellen der jeweiligen Technologie fest Im Rahmen von lokalen Netzwerken mit Basisstationen haben sich Technologien nach dem Standard IEEE 802 11 Institute of Electrical and Electronics Engineers durchgesetzt Diesen Standard gibt es in mehreren Ausf hrungen die sich in Hinsicht auf Frequenz und Datenrate unterscheiden Dabei unterst tzt der IEEE 802 11 Standard auch Ad Hoc Netzwerke Eine weitere Technologie innerhalb der Ad Hoc Netzwerke stellt z B Bluetooth dar Den WLAN Technologien gegen ber stehen zellenbasierte Netzwerke auf denen die g ngigen kabellosen WWANSs f r mobilen Datenaustausch basieren Diese Netzwerke bezeichnet man als zellulare Netzwerke Sie bieten eine fl chendeckende L sung an um den Benutzern dieser Netzwerke unabh ngig von deren Ort und deren Bewegungen eine unterbrechungsfreie
101. erf gung Um Selektionen und Beziehungen der Daten zu erm glichen ist im relationalen Modell die Schl sselbedingung eingef hrt worden Dieser Bedingung zufolge m ssen Zeilen einer Relation ber die Werte einzelner Attribute eindeutig identifizierbar sein Welche Attribute dies sind h ngt von der Definition der Relation ab Diese Bedingung wird als Prim rschl sselbedingung bezeichnet Als Beispiel f r Relationen kann man basierend auf dem Beispiel der Vertriebsmitarbeiter aus Kapitel 2 2 Auftr ge und Artikel nehmen Die Auftr ge werden von den Vertriebsmitarbeitern erstellt und enthalten verschiedene verkaufte Artikel In diesem Beispiel ergeben sich die Relationen Auftrag und Artikel An dieser Stelle fehlt aber bisher eine M glichkeit die Beziehung dieser beiden Relationen zueinander abzubilden Um solche Beziehungen darzustellen f hrt das relationale Modell die Fremdschl sselbedingung ein Ein mit dieser Bedingung definiertes Attribut einer Relation darf nur Werte enthalten die in der Menge der Werte eines Attributs aus einer anderen Relation auftreten ber diesen Weg k nnen in einer Relation Attribute definiert werden die nur Werte aus den Schl sselattributen einer zweiten Relation enthalten darf Durch diese Einschr nkung wird erm glicht dass mehrere Zeilen der ersten Relation einer Zeile der zweiten Relation ber einen Vergleich zugeordnet werden k nnen 31 Vergl Vossen Gottfried 2008 S 26 32 Ve
102. ergl Dirlewanger Werner 2006 S 57 101 2 Quantile Tabelle der Normalverteilung ain 0 0 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 50 0 000 0 003 0 005 0 008 0 010 0 013 0 015 0 018 0 020 0 023 51 0 025 0 028 0 030 0 033 0 035 0 038 0 040 0 043 0 045 0 048 52 0 050 0 053 0 055 0 058 0 060 0 063 0 065 0 068 0 070 0 073 53 0 075 0 078 0 080 0 083 0 085 0 088 0 090 0 093 0 095 0 098 54 0 100 0 103 0 105 0 108 0 111 0 113 0 116 0 118 0 121 0 123 55 0 126 0 128 0 131 0 133 0 136 0 138 0 141 0 143 0 146 0 148 56 0 151 0 154 0 156 0 159 0 161 0 164 0 166 0 169 0 171 0 174 57 0 176 0 179 0 181 0 184 0 187 0 189 0 192 0 194 0 197 0 199 58 0 202 0 204 0 207 0 210 0 212 0 215 0 217 0 220 0 222 0 225 59 0 228 0 230 0 233 0 235 0 238 0 240 0 243 0 246 0 248 0 251 60 0 253 0 256 0 259 0 261 0 264 0 266 0 269 0 27 0 274 0 277 6l 0 279 0 282 0 285 0 287 0 290 0 292 0 295 0 298 0 300 0 303 62 0 305 0 308 0 311 0 313 0 316 0 319 0 321 0 324 0 327 0 329 63 0 332 0 335
103. ers muss lediglich die XML Datei angepasst werden Daneben gibt es das Paket TestLibraryClient welches die eigentliche Steuerungslogik des Tests im Unterpaket Test bereitstellt und Pakete mit Stub Klassen enth lt die f r 141 F r Paketdiagramme vergl Rupp Chris et al 2007 S 165ff und Oestereich Bernd 2005 S 104ff 142 Vergl f r Fassadenklassen Gamma Erich et al 2004 S 212 143 Vergl auch die Installationsanleitung in Anhang 4 dort wird die Konfigurationsdatei n her dargestellt 71 die Kommunikation mit den Web Services verantwortlich sind TestSessionDBS und TestSessionSync Das Paket TestSessionDBS enth lt entsprechende Klassen f r die Kommunikation die f r den DBS Test ben tigt wird w hrend das Paket TestSessionSyne die Kommunikation mit dem Web Service f r den Synchronisationstest bernimmt Innerhalb der Teststeuerung ist ein weiteres Unterpaket untergebracht welches die Kommunikation mit dem mobilen Datenbanksystem bernimmt Datenbank Weiterhin enth lt die Clientbibliothek ein Paket f r den Umgang mit Prozessen Prozess sowie das Paket Tools f r allgemeine Aufgaben Somit ist zum einen die eigentliche Testlogik und zum anderen die Datenhaltung von der Testoberfl che getrennt in der Clientbibliothek zu finden Auf Serverseite gibt es ebenfalls eine Bibliothek mit dem Namen TestLibraryServer Diese enth lt zum einen quivalent zur Clientseite ein Unterpaket Test welches die vom mobilen
104. erver nderungen auftreten daher m ssen Daten in beide Richtungen synchronisiert werden Dem Gegen ber steht die unidirektionale Synchronisation bei der nur auf einer Seite nderungen entstehen z B weil die Clients nur lesen d rfen Innerhalb des Beispiels der Vertriebsmitarbeiter Vergl Kapitel 2 2 ist von nderungen im zentralen Datenbestand sowie auf dem mobilen Ger t auszugehen Neue Kunden oder Artikel m ssen an die mobilen Ger te verteilt werden w hrend z B neu angelegte Auftr ge in das zentrale System bertragen werden m ssen um dort weiterverarbeitet zu werden Daher wird in dieser Arbeit eine bidirektionale Synchronisation verwendet Bei der Kommunikation zwischen den einzelnen Teilnehmern des verteilten DBS stellen Transaktionen ein Problem dar Um globale Transaktionen in einer verteilten Datenbank oder einem verteilten System ber mehrere Teilnehmer hinweg durchzuf hren sind Modelle f r verteilte Transaktionen entstanden F r die Einbindung mobiler Ger te in verteilte Systeme bzw verteilte Datenbanksysteme sind diese Modelle erweitert worden um Transaktionen ber die schwache und unsichere Verbindung eines mobilen Ger tes zu erm glichen Einige k nnen mit kurzzeitigen Abbr chen im Millisekundenbereich w hrend eines Wechsels der Basisstation umgehen Transaktionen Klasse eins Andere k nnen mit vollst ndigen Abbr chen umgehen Transaktionen Klasse zwei 4 3 2 Replikationsmodelle f r den Ei
105. erverbibliothek aufnehmen Dieser Aufbau dient dem Zweck eine Neuerstellung der Datenklassen bei jedem Web Service Aufruf zu verhindern Statt dessen werden Instanzen dieser Datenklassen von der Klasse Global erzeugt die auf Events der Umgebung welche die Web Services ausf hren reagiert in diesem Fall auf das Starten und Beenden der Webapplikation in der sich die Web Services befinden Diese Instanzen werden den Web Services ber eine Instanz der Klasse HttpApplicationState zur Verf gung gestellt in dem neben Informationen zur Webapplikation auch globale Variablen gespeichert werden Pro Webapplikation wird ein solches HttpApplicationState Objekt von der ausf hrenden Umgebung erzeugt und den einzelnen Elementen zur Verf gung gestellt Bei dem Beenden der Webapplikation werden die Instanzen wieder gel scht Die Test Datenklassen auf Serverseite welche sich im Unterpaket Datenbank der Serverbibliothek befinden sind in zwei Teile geteilt Die Klasse ServerDatenGenerator bernimmt die Generierung der Arbeitslast auf Serverseite Mithilfe des 145 Vergl f r Klassendiagramme Rupp Chris et al 2007 S 101 ff und Oestereich Bernd 2005 S 48ff 146 Vergl f r dieses Vorgehen Booch Grady et al 2006 S 139 und S 202 sowie Oestereich Bernd 2005 S 106 und Rupp Chris et al 2007 S 169 147 Vergl f r die ausf hrende Umgebung Abbildung 10 im Kapitel 6 8 1 welches die Verteilung der einzelnen Komponenten darstellt 73
106. eser Architektur eine M glichkeit dar den Datenbankserver zu entlasten sowie die Client und Serverschicht voneinander abzukoppeln Broker Modell vergl Kapitel 4 2 Die Abkoppelung stellt dabei die Hauptaufgabe der Replikationsschicht dar Ein zus tzliches DBS auf dem Replikationsserver erm glicht eine Zwischenspeicherung und Verarbeitung der Daten der Clients und der Server Weiterhin kann die Replikationsschicht eine Sicherung der Datenbankserver vornehmen hnlich einer Firewall Um bei einer Synchronisation Daten aus mehreren Quellservern zu ermitteln bzw die Clients mit mehreren Replikationsschichten zu verbinden bietet sich zus tzlich der Einsatz von Agents an Mithilfe von Agents auf Clientseite k nnen mehrere Replikationsserver mit unterschiedlichen Inhalten eingebunden werden Weiterhin k nnen Agents auf der Serverseite auf Synchronisationsanfragen von den Clients eine Antwort aus den Daten mehrerer Quellserver erstellen Dieses Vorgehen ist auch im Microsoft SQL Server System vorgesehen Agents werden im Kapitel 4 2 n her erl utert Diese Architektur ist gleichzeitig die Grundlage f r eine weitere Form der Replikation Die Dienste die in der Replikationsschicht bereitgestellt werden k nnen auch orts und zeitabh ngig implementiert werden Damit k nnen mobile Knoten Informationen abrufen abh ngig vom Ort des Benutzers und dem Zeitpunkt der Synchronisation Eine solche Replikation wird als benutzerdefinierte Replikation beze
107. estellten Frequenzbereiche m ssen sorgf ltig ausgew hlt werden damit eine Kombination aus gro er Reichweite und geringen Fehlerraten erreicht werden kann Innerhalb der Verwendung von Funktechnologien gibt es ein weiteres Problem Viele Systeme mit einer hohen Benutzeranzahl Funkverkehr Mobiltelefone Radio basieren auf elektromagnetischen Wellen Der Benutzeranzahl gegen ber stehen eine begrenzte Anzahl von Frequenzen die die einzelnen Benutzer verwenden k nnen Dies begr ndet die Verwaltung der verschiedenen Frequenzen durch Regulierungsbeh rden Diese teilen den verschiedenen Technologien bestimmte Frequenzbereiche zu die diese verwenden d rfen Diese Aufteilung ist allerdings nicht ausreichend Innerhalb einer Technologie kann die Notwendigkeit auftreten den verf gbaren Frequenzbereich unter vielen Benutzern aufzuteilen Frequenzteilung Zwei grundlegende Techniken daf r stellen das Time Division Multiplexing TDM sowie das Frequence Division Multiplexing FDM dar welche kombiniert werden k nnen Innerhalb der TDM Technik senden und empfangen mehrere Benutzer auf einem Fequenzbereich wobei nur ein Benutzer zu einer Zeit sendet Um dies zu gew hrleisten werden einzelne Zeitabschnitte definiert in denen die einzelnen Teilnehmer den Frequenzbereich verwenden d rfen Bei entsprechend kleinen Zeitabschnitten werden Unterbrechungen z B bei Telefongespr chen oder bei einem Datenaustausch nicht bemerkbar Bei FDM wird de
108. estsystem esnnseeneesnennnneennennnn 105 5 Datendefinition der Datenbank f r die Messergebnisse nnenn 109 6 Ben tzeranleitung a sea san a i a a 110 7 Detaillierte Ergebnisse der berpr fungen der Messreihen neeee 115 98 1 berpr fung einer Messreihe f r das Einhalten einer bestimmten G te nach der ISO 14756 Norm Innerhalb von Tests sind Messungenauigkeiten ein Problem Testergebnisse stellen eine Ann herung an einen unbekannten wahren Wert dar Um Abweichungen auszugleichen kann das Gesetz der Gro en Zahlen verwendet werden Dieses Gesetz sagt aus dass ein Mittelwert genauer wird um so mehr Werte in die Berechnung des Mittelwerts einflie en Somit kann ein Mittelwert erstellt aus Messergebnissen als eine Ann herung an die reale durchschnittliche Laufzeit angesehen werden der reale Wert 8 Eine weitere Unbekannte bei Messungen stellt die Verteilung der realen Werte dar Die Verteilung zeigt in dem Fall der realen Laufzeiten wie wahrscheinlich eine bestimmte Abweichung der realen Werte vom Mittelwert ist bzw wie wahrscheinlich es ist dass die Laufzeit sich in einem bestimmten Bereich um den Mittelwert befindet Mithilfe dieser Verteilung kann berpr ft werden ob die Wiederholungen innerhalb einer Messreihe ausreichend gewesen sind um die innerhalb der Messreihen aufgetretene Ungenauigkeit auszugleichen In die berpr fung der Messergebnisse flie t die No
109. et die Client Anfrage Dieses Verfahren wird speziell im Internet eingesetzt Um die Clients vom Server unabh ngig zu machen k nnen Broker verwendet werden Diese haben Kenntnis ber den Aufenthaltsort der Server und leiten die Anfragen des Clients an den Server weiter und geben die Antwort an den Client zur ck Eine nderung der Serveradresse braucht somit lediglich am Broker bekannt gemacht zu werden Weiterhin kann der Broker zur dynamischen Dienstermittlung verwendet werden bzw neben der reinen Vermittlung noch zus tzliche Dienste wie Filterung anbieten Problematisch sind an dieser Stelle Ausf lle des Brokers oder der Broker da dann die dahinter liegende Serverschicht nicht mehr erreichbar ist Dieses Modell hnelt 63 Vergl Bengel G nther 2004 S 4 und Coulouris Geogre et al 2005 S 35f sowie Tannenbaum Andrew S et al 2008 S 70ff 64 Vergl Coulouris George et al 2005 S 31 und S 37ff sowie Bengel G nther 2004 S 67f 65 Vergl Bengel G nther 2004 S 69 66 Vergl Bengel G nther 2004 S 68ff 24 dem Proxy Modell Der Unterschied ist die Zielsetzung Bei der Verwendung eines Brokers m ssen alle die auf die von den Brokern verwalteten Server zugreifen wollen die Brokerschicht verwenden Der Broker vermittelt zwischen den Clients und den Servern Auf diese Weise k nnen Dienste in einem verteilten System entkoppelt werden und sind weniger stark von den restlichen Teilen des Systems abh
110. g Teubner Wiesbaden 2004 Beydeda Sami Hrsg Gruhn Volker Hrsg Mayer Johannes Hrsg Reussner Ralf Hrsg Schweiggert Franz Hrsg Testing of Component Based Systems and Software Quality Net ObjectDays Workshops on Testing of Component Based Systems TECOS 2004 and Software Quality SOQUA 2004 K llen Bonn 2004 B Far Reza Behravanfar Reza Lindsay Phillip Mobile Computing Principles Designing and Developing Mobile Applications with UML and XML Cambridge University Press Cambridge 2005 Boddenberg Ulrich B Windows Mobile Integrations und Entwicklungsbuch Architektur Hintergr nde und Programmierung der mobilen Windows Technologien Microsoft Press Unterschlei heim 2007 Booch Grady Rumbaugh Jim Jacobson Ivar Das UML Benutzerhandbuch Addison Wesley M nchen 2006 Borg Ingwer Staufenbiel Thomas Lehrbuch Theorien und Methoden der Skalierung Huber Bern 2007 Bowers David Hrsg Directions in Databases 12 British National Conference on Databases BNCOD 12 Guildford United Kingdom July 1994 Proceedings Springer Berlin 1994 Bronstein I E Semendjajew K A Musiol G M hlig H Taschenbuch der Mathematik Verlag Harri Deutsch Frankfurt am Main 2008 Burnus Heinz Datenbankentwicklung in IT Berufen Eine praktisch orientierte Einf hrung mit MS Access und MySQL ViewegtTeubner Wiesbaden 2008 90 Buschmann Frank Meunier Regine Rohnert Hans Sommerlad Peter S
111. g die Synchronisation je nach Datenbasis und Technologie auf maximale Datenmengen im einstelligen MB Bereich zwischen ca 10 000 und 100 000 Zeilen Bei einer dar ber liegenden Menge ist durch den in den Messungen ermittelten Trend zu vermuten dass eine Synchronisation durch Funktechnologien das Ger t im zweistelligen Minutenbereich und dar ber blockiert Hier kann eine station re Synchronisation mit einer kabelbasierten Netzwerktechnologie zur Vorbereitung f r unterwegs oder eine Beschr nkung auf Zeitr ume in denen das Ger t nicht ben tigt wird eine L sung sein Dieses Vorgehen verringert allerdings die Orts und Zeitunabh ngigkeit welche den gr ten Vorteil eines Thick Clients darstellen Bei der Planung eines solchen Vorgehens muss also genau gepr ft werden ob der Einsatz eines Thin Clients nicht besser auf den Anwendungsfall passt Die bidirektionale Synchronisation stellt somit eine funktionale Basis f r einen aktuellen Datenbestand auf einen mobilen Thick Client dar solange die zu synchronisierenden Datenmengen im kB Bereich liegen Falls regelm ig Datenmengen im MB Bereich auftreten kommt es auf die Performance Anforderung an die an Synchronisationen bzw an die Applikation gestellt werden M gliche Erweiterung dieses Testsystems ist die Einbeziehung von Testf llen welche eine Synchronisation mithilfe einer station ren also auf Kabeln basierende Technologie durchf hren Dadurch w rde ersichtlich werden ob und in
112. g in Tabelle 9 ergibt sich ein 5 kB Block bzw eine B ndelung von 50 Datens tzen die f r den Test zusammen eingef gt werden Die Betrachtung der Anzahl von Datens tzen auf denen gearbeitet wird ist speziell f r den Test des mobilen Datenbanksystems interessant Da relationale Datenbanken mit einer logischen Sicht auf Basis von Datens tzen in Tabellen arbeiten ist die Performance des Datenbanksystems abh ngig von der Menge der Zeilen Die Anzahl der Datens tze bestimmt z B die Anzahl der f r Sortierungen notwendigen Operationen oder die Anzahl von Vergleichen f r Verbindungen F r die Synchronisation sind beide Gr en wichtig Die Anzahl der Datens tze spielen eine Rolle wenn die nderungen auf dem Server und dem Client verglichen werden w hrend die reine Daten bertragung von der Gr e der zu bertragenden Daten abh ngig ist Da in dieser Arbeit speziell die Funktechnologien und somit die Daten bertragung betrachtet werden sollen wird f r die Synchronisation die Datenmenge in Byte betrachtet ber die Berechnungen in Tabelle 9 kann berechnet werden wie viele Datens tze pro Datenmenge eingef gt werden Somit k nnen beide Gr en betrachtet werden Tabelle Nr des Ds oder Gr enberechnung der Gesamtgr e Datensatz Gesamtgr e Anzahl Ds Felder Datens tze Relation Kunde DS 1 18Z 2 36B 1654 B 18Z 2 36B 20Z 2 40B 184 B 9Z 2 18B 58 B DS 2 10Z 2 20B 27Z 2 54B 20 Z 2 40B 232 B 32Z 2 64B
113. ge im Gesamtsystem durch die Aktualisierung von Daten zu erm glichen werden die einzelnen Relationen ferner mit einem nderungszeitpunkt versehen Dadurch kann man verhindern dass bereits aktualisierte Datens tze erneut berschrieben werden Dies ist wichtig damit die Menge an Datens tzen die ge ndert werden berechnet werden kann Das Datenbankmodell basiert neben den obigen Grund berlegungen auf dem Beispiel aus Kapitel 2 2 bei denen Vertriebsmitarbeiter von mobilen Ger ten bei Verkaufsprozessen unterst tzt werden Daf r wird ein Datenbankschema aufgebaut welches als Basis f r ein einfaches Bestellsystem dienen kann Dieses Schema besteht aus Kunden zu denen Auftr ge mit verschiedenen Positionen erstellt werden k nnen Die Positionen geben dabei eine Menge an und verweisen auf einen Artikel Dabei bernehmen die Positionen den Preis aus dem Artikel falls dieser sich im Artikel nach der Bestellung ndern sollte Eine Position stellt dabei eine Verbindung aus genau einem Auftrag und einem Artikel dar Der Prim rschl ssel der Position setzt sich somit aus dem Artikel und Auftragsschl ssel zusammen Dadurch kann ein einzelner Artikel mehreren Auftr gen zugeordnet werden sowie ein Auftrag mehrere Artikel enthalten Um weitere Einschr nkungen bzw komplexere Abfragen innerhalb der Testf lle m glich zu machen gibt es Produktarten sowie davon abh ngige Kollektionen Jeder Artikel soll einer Kollektion zugeordnet se
114. h das Beenden von unn tigen Prozessen Um die Testapplikation aufzubauen wird festgelegt welche Szenarien sowie welche Arbeitslast und Metriken innerhalb des Tests verwendet werden Dies entspricht dem Vorgehensmodell aus Kapitel 5 Auf Basis dieser Vorgaben werden Testf lle definiert welche von der Testapplikation durchgef hrt werden Abgeschlossen wird mit einer Darstellung der Messergebnisse 6 2 Hardware und Softwareumgebung F r den Aufbau des in den vorhergehenden Kapiteln beschriebenen Gesamtsystems wird ein PDA als mobiler Client und ein Serversystem verwendet welches die Replikationsdienste und das zentrale DBS zur Verf gung stellt Weiterhin werden im zentralen DBS die Messergebnisse gespeichert und von einer Applikation ausgewertet Dies geschieht unabh ngig von den Relationen die f r den Synchronisationstest ben tigt werden Die eigentliche Steuerung der Tests wird durch eine mobile Anwendung auf dem PDA realisiert Um eine Steuerung des Servers zu erm glichen werden ber Web Services entsprechende Dienste auf dem Server bereitgestellt Dazu geh ren zum einen Schnittstellen zur Vorbereitung und Durchf hrung der Synchronisation und zum anderen Schnittstellen f r die bertragung von Messergebnissen Innerhalb dieser Arbeit wird der PDA T Mobile Ameo verwendet Die Daten des Ger tes sind in Tabelle 5 dargestellt 44 Eigenschaft Beschreibung Modell T Mobile Ameo Prozessor Intel PX
115. halb dieser Arbeit zu testende Metrik soll die Verarbeitungszeit der einzelnen Testf lle sein Innerhalb von Szenario eins wird die Zeit gemessen die f r eine Synchronisation von Daten ben tigt wird In Szenario zwei wird die Laufzeit der jeweiligen Abfrage und das Auslesen der ermittelten Daten aus der Datenbank gemessen In Szenario drei wird die Ausf hrungsgeschwindigkeit der jeweiligen Datenmanipulation gemessen Bei der sp teren Betrachtung der Ergebnisse werden die Datenmengen die von der Synchronisation verarbeitet worden sind bzw auf der die verschiedenen Anfragen an das mobile DBS ausgef hrt werden in Relation zu der getesteten Metrik gestellt 6 7 Testf lle Dieses Kapitel stellt die einzelnen Testf lle f r die verschiedenen Szenarien dar 6 7 1 Testf lle Szenario 1 Das erste Szenario f r das in diesem Kapitel Testf lle definiert werden stellt das Szenario der Synchronisation dar F r die Synchronisationstestf lle stellt sich zun chst die Frage mithilfe welcher Funktechnologien synchronisiert werden soll Wie in Kapitel 2 bereits geschildert wurde soll in dieser Arbeit speziell die Auswirkungen der WWAN Technologien untersucht werden Da die Technologien der 2 Generation abgel st werden sollen die Technologien der 3 Generation aber noch keine vollst ndige berdeckung erreicht haben wird eine Technologie der Generation 2 5 untersucht Da der verwendete PDA als einzige 2 5 Generation Technologie GPRS anbietet w
116. hehen Um Abweichungen auszugleichen die eine Messung durch nicht oder wenig beeinflussbaren Ver nderungen der Messbedingungen verursacht werden z B Prozesse die vom Betriebssystem ben tigt werden und w hrend der Testdurchf hrung unterschiedlich stark arbeiten k nnen die Messungen wiederholt und ein Mittelwert gebildet werden sowie berpr fungen durchgef hrt werden ob die Wiederholungen ausreichend waren 6 Analyse der Nach einer Ermittlung der Ergebnisse m ssen diese interpretiert werden Um Ergebnisse dies zu erm glichen k nnen die Ergebnisse graphisch aufbereitet werden Auf Grundlage der Ergebnisse k nnen dann Aussagen ber die Leistungsf higkeit des getesteten Systems getroffen werden Innerhalb von Projekten k nnen die Ergebnisse verwendet werden um festzustellen ob das System die Performance Vorgaben einh lt 108 Tabelle 3 Vorgehensmodell f r Performance Tests Innerhalb von Schritt eins werden einzelne Szenarien aufgebaut welche getestet werden sollen Hier werden die Rahmenbedingungen angegeben unter denen die einzelnen Szenarien durchgef hrt werden sowie die groben Schritte beschrieben aus denen die einzelnen Testszenarien bestehen Weiterhin werden hier die zu testenden Funktionalit ten ausgew hlt Bei der Auswahl dieser Funktionalit ten sollen speziell die Teile gew hlt werden bei denen Einbr che in der Performance oder Fehler in der Software durch eine hohe Belastung zu erwarten s
117. hrift wie z B eine Funktion Eine Umsetzung der deskriptiven Anfragen in entsprechende Ausf hrungsschritte wird durch die Erstellung eines sogenannten Ausf hrungsplans realisiert Dieser enth lt die Berechnungen die f r eine Anfrage notwendig sind Eine M glichkeit um stark ressourcenverbrauchende Anfragen an mobile DBS zu vermeiden besteht in der nicht vollst ndigen Umsetzung des SQL Standards Komplexere Operatoren und Schl sselw rter kann man somit von vornherein ausschlie en Einerseits schr nkt man damit die M glichkeiten des DBS ein andererseits werden somit komplexere und das Ger t stark belastende Operationen bis zu einem gewissen Grad verhindert 3 4 Aufbau von mobilen Datenbanksystemen Die im vorhergehenden Kapitel vorgestellten Konzepte werden auch von mobilen Datenbanksystemen implementiert Dieses Kapitel beschreibt wie ein mobiles DBS aufgebaut werden kann Die allgemeinen Architekturen in Abbildung 3 stellen zwei Modelle f r eine strukturierte Datenhaltung auf mobilen Ger ten dar Ein zentrales System dient dabei als gemeinsamer Informationspool Die Architektur auf der linken Seite stellt einen Ansatz f r m chtigere Ger te wie PDAs dar w hrend die rechte Seite einen Ansatz f r kleine Ger te wie einfache Mobiltelefone oder Barcodescanner darstellt Die Architekturen 37 Vergl Saake G nther et al 2008 S 159 und Elmasri Ramez et al 2007 S 355 F r eine Einf hrung in Normalformen vergl V
118. hrscheinlichkeitsrechnung und schlie ende Statistik Springer Heidelberg 2006 Murthy C Siva Ram Manoj B S Ad Hoc Wireless Networks Architectures and Protocols Prentice Hall New Jersey 2004 Mutschler Bela Specht G nther Mobile Datenbanksysteme Springer Berlin 2004 Oestereich Bernd Die UML 2 0 Kurzreferenz f r die Praxis kurz b ndig ballastfrei Oldenbourg M nchen 2005 zsu M Tamer Valduriez Patrick Principles Of Distributed Database Systems Second Edition Prentice Hall New Jersey 1999 Ramez Elmasri Navathe Shamkant B Fundamentals of Database Systems Addison Wesley Boston 2007 Rechenberg Peter Hrsg Pomberger Gustav Hrsg Informatik Handbuch Hanser M nchen 2006 Reichwald Ralf Mobile Kommunikation Wertsch pfung Technologien neue Dienste Gabler Wiesbaden 2002 Riordan Rebecca M Microsoft ADO NET 2 0 Schritt f r Schritt Microsoft Press Unterschlei heim 2006 Rob Peter Coronel Carlos Crockett Keeley Database Systems Design Implementation amp Management Cengage Learning Services London 2008 Rupp Chris Queins Stefan Zengler Barbara UML 2 Glasklar Praxiswissen f r die UML Modellierung Hanser M nchen 2007 Saake Gunter Sattler Kai Uwe Heuer Andreas Datenbanken Konzepte und Sprachen Redline GmbH Heidelberg 2008 Schiller Jochen Voisard Agnes Location Based Services Morgan Kaufmann Publishers San Francisco 2004 Schneider Markus
119. ht sein Zum Beispiel kann die Sammlung von Daten an einer Stelle die Weiterverarbeitung und Weiterleitung in andere Systeme stark erleichtern Beim Client Server Modell k nnen Variationen auftreten Das in Abbildung 5 beschriebene Client Server Modell stellt eine 2 Schichten Architektur dar bestehend aus einer Client und einer Serverschicht Um eine Verringerung der Komplexit t zu erreichen und den zentralen Knoten zu entlasten k nnen weitere Schichten eingezogen werden Diese Schichten k nnen Teilaufgaben l sen die Infrastruktur des Gesamtsystems st rken o Neben der Verwendung von Schichten kann eine Lastverteilung durch die Verwendung mehrerer Ger te in einer Schicht vorgenommen werden Dabei wird der Dienst der in einer Serverschicht bereitgestellt wird entweder in kleinere Teile auf die Maschinen verteilt oder er wird repliziert d h mehrere Maschinen f hren denselben Dienst aus Im letzteren Fall kann eine zus tzliche Schicht die Aufteilung der Clients auf die einzelnen Server bernehmen Balancing Schicht Eine Proxy Schicht erm glicht eine Pufferung zwischen Client und Server Anfragen vom Client werden zuerst an die sogenannten Proxyserver gestellt Diese versuchen selber die Clientanfrage aus bereits zwischengespeicherten Ergebnissen von vorherigen Anfragen zu beantworten Falls kein passendes zwischengespeichertes Ergebnis vorhanden ist fragt der Proxy beim jeweiligen Server an puffert dessen Antwort und beantwort
120. ichern zu m ssen und diese verschiedenen Anwendungen zur Verf gung zu stellen Um eine strukturierte Datenhaltung mit standardisierten Schnittstellen f r kleine Ger te zu erm glichen sind mobile Datenbanksysteme entwickelt worden welche Datenbest nde innerhalb von Datenbanken auf mobilen Ger ten verwalten Es besteht h ufig die Notwendigkeit die Daten von mobilen Ger ten an einem zentralen Ort zu sammeln und zu speichern bzw Daten aus einem zentralen System an mehrere mobile Ger te zu verteilen Daher spielen Synchronisationsverfahren und Modelle f r die Verteilung von Daten bei der mobilen Datenhaltung eine zentrale Rolle Synchronisationen werden dabei h ufig mithilfe von Funktechnologien durchgef hrt die den mobilen Ger ten eine ortsunabh ngige Kommunikation mit zentralen Systemen erm glichen Mobile Ger te sind jedoch nicht so leistungsf hig wie station re Computersysteme Innerhalb dieser Arbeit wird die These vertreten dass die Leistungsf higkeit der mobilen Datenbanksysteme aufgrund der geringen Leistungsf higkeit der mobilen Ger te eingeschr nkt ist Weiterhin wird vertreten dass die Leistungsf higkeit von Synchronisationsschnittstellen durch die Verwendung von Funktechnologien f r mobile Ger te ebenfalls eingeschr nkt ist Um die Thesen zu pr fen soll mithilfe eines Performance Tests gezeigt werden wie genau sich eine mobile Datenbank sowie Synchronisation unter Last verh lt und wie sich die geringe Leistungsf
121. ichnet Die zweite Architektur stellt eine f r mobile Umgebungen geeignete Struktur dar Es m ssen keine Abfragen unter Einbeziehung des Gesamtsystems durchgef hrt werden und es werden Verbindungsabbr che unterst tzt Diese Architektur in Verbindung mit dem Snapshot und Publish Subscribe Modell f r die Replikation erm glicht den Benutzern unabh ngig voneinander zu arbeiten F r das Beispiel der Vertriebsmitarbeiter Vergl Kapitel 2 2 bedeutet dies dass die einzelnen Mitarbeiter nicht auf langwierige verteilte Abfragen o warten m ssen Weiterhin wird diese Architektur vom Microsoft SQL Server System unterst tzt Daher wird im weiteren Verlauf die zweite Architektur nicht orts und zeitabh ngig verwendet 100 Vergl Mutschler Bela et al 2004 S 101ff und H pfner Hagen 2005 S 219 101 Vergl Mutschler Bela et al 2004 S 101ff und Weikum Gerhard et al 2003 S 453ff 35 5 Performance Tests Um Auswirkungen geringer Leistungsf higkeit und Speichergr e mobiler Ger te und geringe Datenraten der Netzwerktechnologien zu bestimmen k nnen Performance Tests aufgebaut werden Dieses Kapitel stellt dar welche Ziele Performance Tests haben k nnen und welche Punkte bei der Modellierung eines solchen Tests beachtet werden m ssen 5 1 Notwendigkeit von Performance Tests An die Performance eines Systems werden bei der Entwicklung einer Software im Normalfall Anforderungen gestellt Diese stellen einen
122. ie nicht ben tigt werden Dabei kann als Grundlage ein Test profil geladen werden Dieser Zustand kann in einem Testprofil gespeichert werden Ds Testzustand Diagramm erstellen herstellen A 2 berpr fung der Messergebnisse Datenbank anlegen durchf hren Abbildung 12 Anwendungsf lle Die Anwendungsf lle auf der Serverseite sind durch die Serversteuerung realisiert Um die Serverdatenbank auf der Serverseite einzurichten stellt die Serverapplikation eine M glichkeit zur Verf gung ein SQL Erstellungsscript f r die Erstellung der Datenbank auszuf hren F r das Herstellen eines Testzustands auf Serverseite existiert ebenfalls ein entsprechender Anwendungsfall Die Testprofile die hier entstehen m ssen den Web Services zur Verf gung gestellt werden damit der Client das Laden eines solchen Profils steuern kann Dies ist notwendig da die Teststeuerung auf dem mobilen Ger t realisiert ist Weitere M glichkeiten auf Serverseite ist die Erstellung von Diagrammen aus den Messergebnissen der Tests sowie die berpr fung ob die Messergebnisse aussagekr ftig sind 138 F r eine vollst ndige Installationsanleitung siehe Anhang 4 63 6 8 3 Abl ufe Dieses Kapitel stellt mithilfe von Aktivit tsdiagrammen dar aus welchen Teilschritten die einzelnen Anwendungsf lle aus Kapitel 6 8 2 bestehen und zeigt wie die eigentliche Testdurchf hrung von der Applikation realisiert worden sind
123. ierung der Datenmenge auf dem mobilen Ger t ist eine zeit und ortsabh ngige Replikation Dabei werden die Daten auf das mobile Ger t synchronisiert die vom Benutzer f r die Erledigung von Aufgaben zu bestimmten Zeitpunkten bzw Zeitbereichen an bestimmten Orten ben tigt werden Ein hnliches Konzept f r Thin Clients auf mobilen Ger ten stellen die Location Based Services dar welche orts und zeitabh ngige Schnittstellen bereitstellen Dabei wird zur Positionsbestimmung des mobilen Ger tes das Global Positioning System GPS verwendet Der Unterschied der Replikation zu diesen Schnittstellen welche zur Laufzeit den aktuellen Ort sowie die aktuelle Zeit verwenden kann besteht in der Unkenntnis der Replikationsschnittstelle f r welche Orte bzw welche Zeitr ume der Benutzer zum Zeitpunkt der Synchronisation Daten ben tigt Daher m ssen zus tzliche Informationen vom Benutzer ermittelt werden die eine entsprechende Replikation der ben tigten Daten erm glicht und weiterhin alte bzw nicht mehr ben tigte Daten identifiziert und l scht Die Grundlage f r ein solches Vorgehen stellt das Konzept der benutzerdefinierten Replikation dar Vergl auch Kapitel 4 3 3 So kann eine dynamische Synchronisation realisiert werden welche die Datenmengen auf dem mobilen Ger t verringert und somit das mobile DBS entlastet Weiterhin k nnen so flexiblere Anwendungsf lle m glich gemacht werden Der Nachteil besteht hier in der Komplexit t
124. ils aspx familyid 9655156b 356b 4a2c 857c e62f50ae9a55 amp displaylang en 11 02 2009 Microsoft Understanding SQL Server CE Database Objects Microsoft 2009 h http msdn microsoft com en us library aa275627 SQL 80 aspx 11 04 2009 OpenNETCF Consulting LLC Smart Device Framework OpenNETCF Consulting LLC 2009 http www opennetcf com Products SmartDeviceFramework tabid 65 Default aspx 13 01 2009 T Mobile Ameo Bedienungsanleitung T Mobile 2009 _ http www t mobile de downloads bedienungsanteitung_handy t mobile ameo pdf 13 01 2009 ZedGraph ZedGraph ZedGraph 2009 http zedgraph org wiki index php title Main_Page 13 01 2009 96 Ehrenw rtliche Erkl rung Ich versichere dass ich die beiliegende Bachelorarbeit ohne Hilfe Dritter und ohne Benutzung anderer als der angegebenen Quellen und Hilfsmittel angefertigt und die den benutzten Quellen w rtlich oder inhaltlich entnommenen Stellen als solche kenntlich gemacht habe Diese Arbeit hat in gleicher oder hnlicher Form noch keiner Pr fungsbeh rde vorgelegen Ort Datum Unterschrift 97 Anhang 1 berpr fung einer Messreihe f r das Einhalten einer bestimmten G te nach der ISO VAT SON On a a re N ln 99 2 Quantile Tabelle der Normalverteilung nssesennennennnsneennn en 102 3 Datendefinition der Testdatenbank 00unsessseesssessnenenneennennnnennnnnnnennnnnn 104 4 Installationsanleitung f r das T
125. ilung der Daten auf die einzelnen Knoten wird als Fragmentierung bezeichnet Bei einer vollst ndigen Fragmentierung halten die verschiedenen Knoten unterschiedliche Daten Die Ergebnisermittlung muss somit alle Knoten einbeziehen damit ein vollst ndiges Ergebnis geliefert werden kann Um die Daten zu fragmentieren gibt es zwei verschiedene Ans tze Zum einen k nnen die Daten horizontal aufgeteilt werden Bei dieser Art werden die einzelnen Zeilen globaler Relationen auf die verschiedenen Knoten aufgeteilt Zum anderen k nnen die Daten vertikal aufgeteilt werden Hier werden die globalen Relationen in einzelne Spalten zerlegt Diese Spalten werden auf die Knoten aufgeteilt Bei der Wahl eines Vorgehens f r die Fragmentierung des Datenbestandes in mobilen Umgebungen muss der Ausfall der einzelnen Knoten mit beachtet werden Gegen ber der vollst ndigen Fragmentierung des Datenbestandes steht die vollst ndige 77 Vergl zsu M Tamer et al 1999 S 90f und Mutschler Bela et al 2004 S 691 78 Vergl H pfner Hagen 2005 S 219ff 79 Vergl Elmasri Ramez et al 2007 S 857 und S 861F zsu M Tamer et al 1999 S 112f und S 131 sowie Mutschler Bela et al 2004 S 81 und Tannenbaum Andrew S et al 2008 S 62f 28 Replikation Unter Replikation versteht man das redundante Halten eines Teils der Daten auf mehreren oder allen Knoten Im Falle der vollst ndigen Replikation halten alle Knoten alle Daten Methoden zur
126. im Bild dargestellte Men Mit deren Hilfe kann man u a das Diagramm als Bild abspeichern Abbildung 36 stellt die Prozessliste auf Serverseite dar Die Funktionen sind dabei dieselben wie bei der mobilen Prozessliste Es fehlt lediglich die Best tigung dass ein Testzustand hergestellt wurde Das Herstellen eines Testzustands auf Serverseite wird durch eine Web Service Methode erm glicht Daher muss min ein Prozessprofil in der Webapplikation in der die Web Services ausgef hrt werden im Unterverzeichnis Profile befinden 112 E Server Kontrolle Datei Testauswertung Prozesse berpr fung der Messergebnisse Laufende Prozesse vmware authd swriter sqlservr OUTLOOK WinRAR Microsoft Crm Application Hoster igfsstve ctfmon devenv Ereignisse Error while stopping process msftesql Zugriff verweigert Stopped Process iexplore Profil Speichern Lade Profil Prozess beenden UL Abbildung 36 Screenshot Prozessliste Abbildung 37 zeigt die Maske f r das berpr fen der Messergebnisse Hier wird ein Szenario sowie ein Testfall ausgew hlt dessen Messreihen berpr ft werden sollen Daneben kann ein Intervall und ein Quantil eingegeben werden Das Quantil kann aber auch ausgew hlt werden Wenn ber den Eingabefeldern der Punkt Ouantileingabe per Auswahl ausgew hlt wird verschwindet die Eingabebox f r das Quantil und es erscheint
127. in Dies f hrt zu dem in Abbildung 9 dargestellten Datenbankmodell Dieses Modell stellt die Grundlage f r die einzelnen Szenarien dar F r eine vollst ndige Datendefinition siehe Anhang 3 Dieses Datenbankschema soll auf Server und Clientseite verwendet werden Somit stellt die verteilte Datenbank eine homogen verteilte Datenbank dar Vergl Kapitel 4 3 1 121 Vergl auch Kapitel 6 5 f r die Abl ufe der Aktualisierung 47 2 Produkt rtid ProduktArtName AenderungsZeitp ErstellungsZeitpui KollektionName AenderungsZeitp ErstellunsZeitpu Artikel Preis Bezeichnung AenderungsZeit ErstellungsZeitp a ee Kunde Vorname Nachname Be Rabatt Kommentar AuftragsArt AenderungsZei ErstellungsZeitp Abbildung 9 Datenbankmodell f r den Performance Test Tabelle 7 gibt an welche Gr en die Spalten einer Relation haben Tabelle Spalte Datentyp Gr e Kunde Kundeld GUID 16 Byte Vorname Varchar 2 Byte pro Stelle Nachname Varchar 2 Byte pro Stelle Stra e Varchar 2 Byte pro Stelle Ort Varchar 2 Byte pro Stelle PLZ Char 10 10 Byte KundenNr Char 20 20 Byte ErstellungsZeitpunkt Datetime 8 Byte nderungsZeitpunkt Datetime 8 Byte Auftrag Auftragld GUID 16 Byte Kundeld GUID 16 Byte AuftragDatum Datetime 8 Byte Rabatt Smallint 2 Byte Kommentar Varchar 2 Byte pro Stelle Auftr
128. in sollen Innerhalb dieser Arbeit wird sich auf zwingend notwendige Betriebssystemprozesse beschr nkt Das zentrale Element der Serverapplikation die sich im Paket ServerSteuerung befindet stellt das Hauptfenster dar Dieses Hauptfenster wird realisiert durch die Klasse frmTestAuswertung im Unterpaket Gui Die Klasse Programm dient als Einstiegspunkt in die Applikation Das Hauptfenster besteht aus einer Prozessliste ucProzessListe welches das graphische Element f r den Umgang mit Prozessen darstellt Weiterhin kapselt es ein Element f r die berpr fung der Messergebnisse ucDatenUeberpruefer Zus tzlich wird ein Element verwendet welches eine Auswahl des Szenarios und dessen Testf lle sowie das Zeichnen der einzelnen Graphen basierend auf dieser Auswahl bernimmt ucTestAuswahl F r die Darstellung der Graphen wird das Open Source Element Zed Graph verwendet Dieses liegt in Codeform als Visual Studio Projekt vor und stellt einen Teil des Codes auf der CD zu dieser Arbeit dar Die Testauswahl kann mit einem bereits schon vorhandenen Zed Graph Element erzeugt werden oder sie erzeugt selber eins wenn sie ohne ein solches Element erzeugt wird In beiden F llen muss die erzeugende Klasse f r die Anzeige des Zed Graph Elements sorgen Dadurch wird bei zuk nftigen Weiterentwicklungen der Oberfl che den Entwicklern die M glichkeit gegeben selber zu entscheiden wo und wie die Diagrammfl che erscheint 148 Vergl f r Wra
129. ind Weitere zu testende Teile sind die Funktionen welche kritisch f r die Verwendung des Systems sind F r das in dieser Arbeit zu testende System bedeutet dies zun chst die Definition eines DB Schemas welches f r einen Test des verteilten DBS verwendet werden soll sowie die Auswahl der Operationen Daten nderungen Synchronisation von neuen Daten o deren 107 Vergl Borg Ingwer et al 2007 S 313ff Malle H 2006 Teil 3 S 10 und Bronstein I N et al 2008 S 853 108 Vergl Meier J D et al 2006 S 745ff und S 752 ff und Ford Chris et al 2008 S 151ff 38 Verhalten unter Last untersucht werden soll Das DB Schema bildet dabei die Grundlage f r alle Szenarien Aus den einzelnen Operationen werden dann Testszenarien definiert Schritt zwei besteht aus der Definition der Arbeitslast unter der getestet wird Innerhalb des in dieser Arbeit aufzubauenden Tests stellt die Arbeitslast Datenmengen dar mit der das mobile DBS und die Synchronisation belastet werden Zun chst stellt sich bei der Definition der Arbeitslast die Frage wie die Daten f r den Test beschafft werden Ein Vorgehen f r den Test eines DBS besteht aus der Verwendung von zuf llig generierten Werten die in die Datenbank eingef gt werden Damit wird der Aufbau eines Tests erleichtert da die Daten nicht per Hand eingegeben werden m ssen sondern automatisiert in die Datenbank eingef gt werden k nnen Eine andere M glichkeit stellt
130. inen Teil dieser Konfigurationsdatei dar Unter der Variable connectionString in Zeile 5 muss die neue Verbindungszeichenfolge eingetragen werden 01 02 lt connectionStrings gt 03 sadd name Serversteuerung Froperties Settings 04 ServerSteuerungConnectionString 05 connectionString Data Source lt Servername gt Initial 06 Catalog DBTest User 07 ID lt Benutzername gt Password lt Passwort gt 08 providerName System Data SqlClient gt 09 lt connectionStrings gt 109 Die Web Services enthalten ebenfalls eine Konfigurationsdatei web config innerhalb dessen die Verbindung zur Datenbank eingetragen werden muss Das folgende Listing zeigt welcher Teil der web config hinzugef gt werden muss Neben einer solchen Konfiguration m ssen die Web Services in eine eigene Webapplikation auf einem IIS installiert werden Dabei muss einerseits von der 175 Vergl Microsoft 2008 oder Boddenberg Ulrich B 2007 S 258ff f r eine Anleitung zum Erstellen einer Publikation auf einen SQL Server 2005 176 Erh ltlich bei der Quelle Microsoft 2009 e oder auf der CD zu dieser Arbeit vergl auch Microsoft 2008 b oder Boddenberg Ulrich B 2007 S 271ff f r eine Anleitung zum Erstellen des Replikationsservers auf einem IIS 106 Webapplikation aus eine Verbindung zur Datenbank m glich sein und andererseits m ssen die mobile Ger te die Web Services auch von au erhal
131. ird diese verwendet Um zu zeigen wie stark der Unterschied von WWAN Technologien zu lokalen L sungen ist werden weiterhin Testf lle auf Basis einer WLAN Technologie nach dem IEEE Standard 802 11g f r Innenr ume max 54 Mbs vergl Abbildung 2 in Kapitel 2 1 aufgebaut Ger te die auf diesem Standard basieren 127 5 kB sind 50 Datens tze 57 sind zur Zeit stark verbreitet Vergl zu den beiden Technologien auch Kapitel 2 Da eine bidirektionale Synchronisation getestet wird wird eine zu synchronisierende Datenmenge auf dem Client und dem Server erstellt Innerhalb des in dieser Arbeit verwendeten Modell eines verteilten Datenbanksystems ist von einer h heren Menge an neuen Daten auf dem Server auszugehen Die Begr ndung liegt in der Sammlung aller Ver nderungen im zentralen System w hrend die Clients untereinander keine Daten austauschen Wie das Verh ltnis der Daten nderungen auf Client und Server letztendlich in der Realit t aussieht wird vom jeweiligen Anwendungsfall bestimmt In den einzelnen Synchronisationstestf llen wird jeweils ein Zehntel der zu synchronisierenden Daten auf dem mobilen Client und neun Zehntel der Daten auf dem Server erzeugt Tabelle 11 zeigt die verschiedenen Testf lle f r Szenario 1 Die zu synchronisierenden Datenmengen ergeben sich aus den Punkten in Formel 6 5 1 wobei jeweils bis zu der in Tabelle 11 gezeigten Datengrenze erh ht wird Bezeichnung Funk Basisd
132. k mithilfe 3 ein frmTestAuswerung enes O O F hrt statistische verarbeitet D TestDaten 1 ucStatistikAuswertung 1 1 ge ucEinzelAuswertung Abbildung 22 Modell der Serverseite Damit die Serverapplikation Prozessprofile erstellen kann stellt die Serverbibliothek die Klasse ProzessProfil f r das Laden und Speichern von Prozessprofilen zur Verf gung ber die Klasse ProzessHandling werden Pfade zu laufenden Prozessen 74 ermittelt um bei einem Testlauf Prozesse zu starten die f r den Test ben tigt werden Das Ermitteln der Pfade ist keine Funktionalit t die direkt vom Net Framework bereitgestellt wird Daf r werden C Bibliotheken vom Betriebssystem verwendet Die Klasse ProzessHandling stellt eine Wrapper Klasse f r diese C Bibliotheken dar Sie kapselt den Aufruf von externen C Bibliotheken und stellt den aufrufenden Klassen C Funktionen als Net Methoden zur Verf gung ber das Starten von Prozessen die bei vorherigen Tests schon aktiv waren wird eine Vergleichbarkeit erreicht Andererseits muss klar sein dass die Aussagekraft der Performance Tests geringer wird wenn nicht f r die Tests ben tigte Prozesse aktiv sind Um dies zu vermeiden kann man sich auf notwendige Prozesse beschr nken Allerdings kann ber die M glichkeit zus tzliche Prozesse zu erlauben eine reale Umgebung simuliert werden falls z B auf einem Server zus tzliche Applikationen aktiv se
133. kapseln und zu l sen Ein solches Schichtenmodell zeigt welche Aufgaben in einem Netzwerk gel st werden m ssen Tabelle 1 zeigt das von der ISO International Standard Organisation entwickelte Modell f r eine Schichtenarchitektur eines Netzwerkes Das Modell tr gt den Namen OSI Modell Open Systems Interconnection Neben diesem Modell gibt es das TCP IP Modell Transmission Control Protocol Internet Protocol das sich in der Praxis im Internet oder lokalen Netzwerken durchgesetzt hat sowie das Wireless Application Protocol WAP welches speziell f r Funktechnologien entwickelt worden ist Das OSI Modell besitzt gegen ber dem TCP IP bzw dem WAP Protokoll mehr Schichten und zeigt deutlicher welche Aufgaben innerhalb eines Netzwerks gel st werden m ssen Daher wird in dieser Arbeit das OSI Modell dargestellt Das gr te Problem der Schichtenarchitektur besteht dabei in dem Overhead welcher sich aus dem Durchlaufen der Daten durch mehrere Schichten ergibt Nr Schicht Aufgabe 7 Applikation Schnittstellen f r Applikationen Application Layer 6 Darstellung Diese Schicht bersetzt system spezifische Datendarstellungen in eine rein Presentation Layer logische Darstellung und umgekehrt 5 Sitzung Die Sitzungsschicht sorgt f r eine geordnete Kommunikation zwischen zwei Session Layer Systemen Dazu geh rt der Auf und Abbau von Verbindungen und das Wiederherstellen von Verbindungen 4 Transport Die
134. ken zusammengefasst den Seiten und innerhalb solcher Einheiten im transienten Speicher gehalten Die Beschaffung der Daten aus dem persistenten Speicher wird so von der Verwaltung des transienten Speichers gekapselt Die physikalischen Datenstrukturen m ssen somit lediglich mit dem Aufbau des Speichers umgehen k nnen und nicht mit heterogenen Ger ten zur persistenten Speicherung von Daten Weiterhin wurden auf Grundlage von Seiten entsprechende Pufferstrategien entwickelt die hier zum Einsatz kommen k nnen In kleinen mobilen Ger ten kommen aber die Nachteile dieses Vorgehens zum Tragen Die 40 Vergl Lockemann Peter C et al 2004 S SIff und S 346ff 41 Vergl Lockemann Peter C et al 2004 S 346 42 Vergl Tanenbaum Andrew S 2003 S 209ff 43 Vergl Lockemann Peter C et al 2004 S 51ff 17 Aufteilung in Seiten sowie die entsprechenden Pufferstrategien sorgen f r einen erh hten Verwaltungsaufwand Speicherbedarf und Rechenkraft der in diesen Ger ten nicht vorhanden ist Ebenfalls stellen die Betriebssysteme f r diese Ger te evtl keine Aufteilung in Seiten von sich aus zur Verf gung womit das DBS dies selber implementieren m sste Somit f llt in kleinen Ger ten dieser Teil weg und Schicht vier arbeitet direkt mit dem persistenten Datenspeicher Mithilfe der vierten Schicht in beiden Architekturen wird eine Kapselung der realen Speicherstrukturen mithilfe von physikalische Datenstrukturen erm glicht Diese
135. ktur f r m chtige Endger te am n chsten kommt stellt das DBS DB2 Everyplace von IBM dar Dort wird allerdings auf einen Warden verzichtet Weitere verbreitete mobile DBS stellen das OracleLite von Oracle und der Microsoft SQL Server CE dar Das OracleLite System verwendet eine Art Warden und verbirgt somit vor dem Benutzer ob eine zentrale oder lokale DB verwendet wird Neben den beiden vorgestellten Architekturen gibt es weiterf hrende Modelle die eine Datenspeicherung auf extrem kleinen Systemen wie z B Smartcards erm glichen Smartcards geh ren zu den kleinsten zur Zeit verf gbaren mobilen Computersystemen Solche DBS werden als Pico Datenbanksysteme bezeichnet Client Agent f r TE SQL Server CE A HTTP SQL Server CE Abfrageprozessor 1S Speich Server Agent f r Daten Dateisystem SQL Server SQL Server 2005 CE ActiveSync amp HTTP Abbildung 4 Architektur des SQL Server CE Innerhalb dieser Arbeit wird das mobile DBS SQL Server 2005 CE in der Version 3 5 untersucht Dieses System ist ein g ngiges DBS auf Ger ten die das Betriebssystem Windows Mobile von Microsoft verwenden Die genaue interne Architektur wurde nicht von Microsoft ver ffentlicht Abbildung 4 zeigt die grobe Architektur des 48 Vergl Mutschler Bela et al 2004 S 115 und Connolly Thomas et al 2002 S 688f
136. l 2004 S 178f und H pfner Hagen et al 2005 S 11 25 Vergl Schneider Markus 2003 S 3ff 26 Vergl Saake Gunter et al 2008 S 8ff 12 Unteilbarkeit der einzelnen Schritte sowie eine vollst ndige Abh ngigkeit der Teilschritte voneinander In Fall einer fehlgeschlagenen Teiloperation m ssen alle vorhergehenden Schritte wieder r ckg ngig gemacht werden Dadurch wird ein fehlerhafter Stand der Daten verhindert Konsistenz bedeutet die Einhaltung der Beziehungen der Daten untereinander Diese Abh ngigkeit muss gepr ft werden und die nderungen verworfen werden falls diese Pr fung ein negatives Ergebnis aufweist Somit garantieren Transaktionen mit den ACID Eigenschaften das korrekte und vollst ndige Einf gen von Daten in die DB Die Isolierung schreibt die Unabh ngigkeit verschiedener Transaktionen zueinander vor Zwei parallel durchgef hrte Transaktionen d rfen nicht auf den Teil nderungen der jeweils anderen Transaktion arbeiten da dies zu einem fehlerhaften Datenbestand f hren kann Dies bedeutet die verschiedenen Transaktionen m ssen entsprechend synchronisiert werden Die letzte Bedingung ist die dauerhafte Speicherung der Daten sobald die Transaktion durchgef hrt wurde Dauerhaftigkeit 7 Transaktionen mit ACID Eigenschaften stellen ein wichtiges Mittel dar um einen konsistenten Aufbau der Daten im laufenden Betrieb zu garantieren Sie stellen die fehlerfreie und komplette Speicherung voneinander abh ngiger
137. lie en dass der neue Datensatz nicht schon vorhanden ist Weiterhin m ssen die Spalten aus den Relationen durchsucht werden auf die die Fremdschl sselbedingungen verweisen Je nach Anzahl der Zeilen die vorhanden sind dauert eine berpr fung entsprechend lange Die berpr fung der Fremdschl sselbedingungen muss bei Aktualisierungen und L schungen ebenfalls durchgef hrt werden um die Datenintegrit t zu gew hrleisten Weiterhin kommt beim L schen und Aktualisieren die Suche der betroffenen Zeilen hinzu Die zentralen zu testenden Funktionen der mobilen DBS stellen somit die Datenselektion sowie die Datenmanipulation dar 55 Vergl Gulutzan Peter et al 2006 S 12ff 40f und 87f 56 Vergl auch das Kapitel 5 f r die Herangehensweise an Performance Tests 21 4 Modellierung von Client Systemen f r mobile Ger te In diesem Kapitel werden Modelle und Verfahren zum Aufbau eines Gesamtsystems aus mobilen Clients und einem zentralen System dargestellt 4 1 Anforderungen durch die Netzwerkschnittstellen f r mobile Ger te Bei der Verwendung mobiler Ger te ergeben sich Probleme die durch die Unsicherheit der Funktechnologien ausgel st werden Ein Beispiel stellen Transaktionen zu einem zentralen System dar Die Verbindungen sind nicht sicher vor einem pl tzlichen Verbindungsabbruch und sind gepr gt von Datenverlusten Klassische Techniken zur Umsetzung von ACID Transaktionen ber eine Funktechnologie k nnen somit nur begren
138. ll der Client in die Lage versetzt das Serversystem w hrend der Tests zu steuern 4 3 Einf hrung in verteilte Datenbanksysteme Beim Aufbau eines Thick Clients welcher in Verbindung mit einem zentralen System arbeiten soll stellt sich die Frage wie ein Datenbestand auf verschiedene Ger te verteilt werden kann Das vorhergehende Kapitel hat grundlegende Modelle vorgestellt um allgemein eine Verteilung von Software vorzunehmen Dieses Kapitel stellt Modelle und Techniken vor die bei einer Aufteilung eines Datenbestandes und somit bei der Verteilung von Daten verwendet werden k nnen F r die Verwaltung der Daten auf mehreren Ger ten werden weiterhin verteilte Datenbanksysteme ben tigt die hier ebenfalls dargestellt werden 4 3 1 Grundlagen Verteilte Datenbanken sind charakterisiert durch die Aufteilung auf mehrere Teilnehmer die so genannten Sites oder Knoten die selber ein eigenes Modul mit DBMS Funktionalit ten bereithalten Sie werden nach drei verschiedenen Dimensionen klassifiziert Nach der Heterogenit t der einzelnen Teilnehmer Unterschiedliche Datenbankschemata oder Datenbanksysteme o0 Verteilung Anzahl der Computersysteme mit einem eigenen DBS und die Autonomie der einzelnen Teilnehmer In wie weit k nnen sie unabh ngig voneinander agieren Die einzelnen Sites k nnen ber ein globales Schema nach dem die Daten im Gesamtsystem strukturiert werden als Gesamtheit auftreten Dies bezeichnet man als globales kon
139. lten Performance Anforderungen erf llt 6 9 4 Ergebnisse Szenario 3 Datenmanipulationen Im folgenden werden die Ergebnisse der Testf lle von Szenario drei dargestellt Da die Testf lle unterschiedliche Operationen auf der Datenbank darstellen sind sie nicht direkt vergleichbar wie die Testf lle aus Szenario eins welche auf derselben Technologie basieren bzw die Testf lle aus Szenario zwei und erhalten somit jeweils ein eigenes Diagramm Test Client Aktualisierung von Daten T Ben tigte Zeit s 102 mH H 4 H 10 10 10 10 108 Getestete Datenmenge Anzahl Zeilen Abbildung 29 Ergebnis Szenario 3 Testfall Aktualisierung von Daten Innerhalb von Abbildung 29 werden die Ergebnisse des Testfalls Aktualisierung von Daten aus Szenario drei dargestellt Hier wird der Sekundenbereich bei 20 000 Datens tzen und der zweistellige Sekundenbereich bei 100 000 Datens tzen erreicht Somit verhalten sich die Aktualisierungen einzelner Zeilen hnlich wie die einfache Abfrage aus Szenario zwei Weiterhin zeigt sich ein st rkerer Anstieg der Laufzeiten der Aktualisierung sobald sich die Datenmenge im Bereich ber 10 000 Datenzeilen bewegt Laufzeiten unter einer Sekunde welche eine gute Laufzeit f r Applikationen darstellen erreicht man bis zu einer Datenmenge von 20 000 Datens tzen w hrend akzeptable Laufzeiten im Sekundenbereich bis max 100 000 Datens t
140. mationspool durchgef hrt In diesem Fall kann auf die Schicht mit dem Warden verzichtet werden Je nach verwendetem DBS kann die Kommunikation mit dem Server sehr unterschiedlich realisiert worden sein falls das mobile DBS eine solche Anbindung berhaupt bereitstellt 44 Vergl Tanenbaum Andrew S 2003 S 209ff und Lockemann Peter C et al 2004 S 93f und S 51ff 45 Vergl Lockemann Peter C et al 2004 51ff und Mutschler Bela et al 2004 S 235ff 46 Vergl Lockemann Peter C et al 2004 S 347 47 Vergl Lockemann Peter C et al 2004 S 347f 18 Transaktionen und Abfragen stellen in dieser Schicht ein Problem dar da ein oder mehrere Partner auf anderen Computersystemen betroffen sind Daher gibt es mobile Transaktionen welche auf die Schw chen der Funktechnologien eingehen und bei mehreren Partnern verteilte Transaktionen und verteilte Abfragen Innerhalb der ersten Schicht wird die Transaktionsverwaltung realisiert Bei einer Anbindung an ein zentrales System sind lokale Transaktionen auf dem mobilen Ger t nur vorl ufig Bei einem Abgleich mit dem zentralen System k nnen Konflikte auftreten welche entsprechend gel st werden m ssen Die vorhandenen mobilen DBS auf dem Markt unterscheiden sich mehr oder minder stark von den Architekturen aus Abbildung 3 Je nach Ger teart die verwendet wird ist weiterhin fraglich ob sich ein klares Schichtenmodell einhalten l sst Ein DBS welches der Archite
141. mgebungen angepasst wurde Um m glichst viele heterogene Ger te zu unterst tzen l uft dieses Kommunikationsprotokoll auf Basis des Hyper Text Transport Protocol HTTP Da die Architektur des SQL Server CE f r m chtigere Endger te gedacht ist sollen im weiteren Verlauf dieser Arbeit speziell die Handhelds betrachtet werden Der SQL Server CE implementiert das relationale Modell und verwendet SQL um Abfragen Schemadefinitionen und Datenmanipulationen zu erm glichen Der SQL Server CE arbeitet mit einzelnen Datenbankdateien 3 3 Grenzen mobiler Datenbanksysteme In wie weit die begrenzte M glichkeit zur Optimierung sowie die durch kleine Speichergr en begrenzten Pufferm glichkeiten die Leistungsf higkeit der mobilen DBS beschr nken soll in dieser Arbeit neben der Leistungsf higkeit der Synchronisation untersucht werden Dabei liegt die Vermutung nahe dass Operationen auf geringen Datenmengen die sich in einer mobilen Datenbank befinden performant behandelt werden k nnen Bei einer wiederholten Erh hung der Datenmenge ist zu erwarten dass das DBS auf einen Punkt zusteuert an dem es entweder nicht mehr reaktionsf hig ist oder zumindest so lange Antwortzeiten aufweist dass dies die 52 Vergl Mutschler Bela et al 2004 S 256f S 199 und S 223 53 Vergl Lockemann Peter C et al 2004 S 350f 54 Vergl H ckelmann Heiko et al 2000 S 423ff 20 Verwendung in Applikationen stark einschr nken w rde bzw u
142. mistische Verfahren verwenden Sperren die w hrend einer nderung weitere nderungszugriffe auf den Datensatz sowie den verschiedenen Kopien verhindern und schlie en dadurch Inkonsistenzen aus Der Vorgang der Synchronisation wird dadurch erheblich erleichtert da kein Abgleich von nderungen an verschiedenen Stellen in der verteilten Datenbank geschehen muss Diese Verfahren sind f r ein Szenario mit mobilen Ger ten lediglich begrenzt einsetzbar nderungen k nnen nur dann als vollst ndig durchgef hrt betrachtet werden wenn alle Knoten diese bernommen haben Somit muss auf alle Ger te gewartet werden auch auf die Ger te welche zu dem Zeitpunkt keine Verbindung zum Gesamtsystem besitzen Andererseits k nnen auf Knoten ohne eine Verbindung keine nderungen vorgenommen werden da keine Sperrung im Gesamtsystem vorgenommen werden kann Weiterhin steigt der Aufwand der Erzeugung von Sperren mit der Gr e des Systems G nstigere Ans tze f r die Verwendung von mobilen Knoten stellen die optimistischen Verfahren dar Diese gehen von einem seltenen Auftreten von Inkonsistenzen aus und verzichten daher auf Sperren Sie lassen lokale nderungen auf den einzelnen Kopien zu und f hren sp ter eine Synchronisation mit dem gesamten System durch Bei der Verwendung eines Client Server Modells kann in diesem Fall mit dem Server synchronisiert werden welcher die nderungen an die anderen Kopien verteilt Ein Problem bei optimistischen Verf
143. n Vergl Abbildung 13 aufgerufen und durchgef hrt falls die berpr fung ein negatives Ergebnis liefert Dann werden die Parameter des Tests aus der Maske der Teststeuerung ermittelt und auf Vollst ndigkeit sowie Korrektheit gepr ft Weiterhin wird gepr ft ob die mobile Datenbank vorhanden ist Falls nicht wird sie erstellt Vergl dazu die Aktivit t Mobile Datenbank anlegen und f r Replikation anmelden Abbildung 20 Mit der Durchf hrung eines Testlauf ohne Erstellung von Messergebnissen wird das DBS in einen Zustand gebracht in dem Puffer bereits vorbereitet sind und die Dienste 139 F r Aktivit tsdiagramme vergl Rupp Chris et al 2007 S 259ff sowie Oestereich Bernd 2005 S 112ff 64 f r ein Herstellen einer Verbindung gestartet sind Vergl Kapitel 5 2 Somit werden die Testergebnisse nicht durch das Starten aller ben tigten Dienste verf lscht Danach werden die einzelnen Messpunkte Datenmengen durchlaufen Pro Messpunkt werden alle Testf lle von Szenario zwei und drei durchgef hrt Dabei gilt dass im Testfall L schen von Daten der Datensatz gel scht wird der f r den Testfall Einf gen von Daten eingef gt wurde Dadurch verzerren die f r den letzteren Testfall eingef gten Datens tze nicht die Datenlast Nach Erreichen der Datengrenze wird der Test beendet Mobiler Client Testzustand hergestellt Nein Testzustand herstellen pr rh yr P fi Vorlauf
144. n der Tabelle abgek rzt zwei Byte Speicherplatz ben tigt Pro Datensatz wird dessen Gesamtgr e angegeben Innerhalb der letzten Spalte wird die Gr e aller Zeilen der jeweiligen Tabelle in einem Datenblock angegeben Da die Relationen Position Kollektion und Produktart keine variablen Datentypen verwenden wird bei ihnen direkt die Gesamtgr e aus der Anzahl der Datens tze welche in diese Relation pro Block eingef gt werden sowie der Gr e eines Datensatzes in Byte berechnet Wie aus dem Datenbankschema in Abbildung 9 entnommen werden kann stellen die variablen Felder die einzigen Attribute dar bei denen der Wert NULL eingef gt werden darf Dies bedeutet f r dieses Attribut der Relation wird zugelassen dass kein Wert angegeben wird Dementsprechend wird an dieser Stelle kein Speicherplatz mit Nutzdaten belegt Auf der anderen Seite m ssen somit alle Attribute welche keinen variablen Datentyp haben gef llt werden und k nnen als fester Wert in die Berechnung der Datens tze aufgenommen werden Einzige Ausnahme ist das nderungsdatum welches erst bei einer nderung dazu z hlt nicht die Erstellung gef llt wird Welches variable Attribut einer Relation mit dem jeweiligen berechneten Werten gef llt wird ist lediglich f r die Testdatens tze relevant nach denen innerhalb der 51 Abfragetestf lle gesucht wird Dort m ssen die jeweiligen Kriterien nach denen gesucht werden erf llt werden Aus der Gr enberechnun
145. n Client zur Verf gung Dazu geh rt das Runden von Zahlen im Net Compact Framework ist diese Funktionalit t nur eingeschr nkt vorhanden sowie das Wiederherstellen einer WLAN bzw GPRS Verbindung F r die Wiederherstellung der Verbindungen wird die Open Source Bibliothek OpenNETCF verwendet Weiterhin wird wie auch in der Serverbibliothek Funktionalit ten zum Umgang mit Prozessprofilen bereitgestellt ProzessProfil F r die Verwaltung der einzelnen 153 Vergl OpenNETCF Consulting LLC 2009 diese liegt als DLL vor und wird entsprechend in dem Codeteil f r das mobile Ger t auf der CD zu dieser Arbeit mit geliefert 78 Prozesse wird eine andere Struktur als auf Serverseite verwendet da das Net Compact Framework keine Funktionalit t zum Ermitteln aller aktiven Prozesse mitbringt Zur Ermittelung dieser Prozesse wird ebenfalls die OpenNETCF Bibliothek verwendet Die einzelnen Prozessinformationen werden in Prozess Objekten gekapselt welche in der GUI f r den Aufbau der Prozessliste verwendet werden Innerhalb der Prozessklasse wird auch der Anwendungspfad zum Prozess ermittelt F r das Laden und Speichern von Prozessprofilen verwendet die Klasse ProzessProfil Instanzen der Prozess Klasse Eine detaillierte Darstellung der Klassen ist in einer Codedokumentation auf der CD zu dieser Arbeit vorhanden 6 9 Darstellung der Messergebnisse In diesem Kapitel werden die Messergebnisse dargestellt Die berpr fungen der Mes
146. n Testsoftware ist diese nicht vorhanden sowie die Subskription bei der Replikation des zentralen Systems dar Bei der Erstellung der mobilen Datenbank gilt dass die Serverdatenbank bereits vorhanden ist Ansonsten scheitert die Erstellung da das Schema der mobilen Datenbank nicht von der Serverdatenbank abgeleitet werden kann Weitere Vorbereitungen sind das Herstellen eines Testzustandes auf dem mobilen Ger t und die Erstellung einer Basis f r die Synchronisation Da diese Aktionen nicht f r jeden Test durchgef hrt werden m ssen _ Oestereich Bernd 2005 S 110f 136 Vergl auch Kapitel 4 2 f r eine Erl uterung von Agents 137 Zum Aufbau von Use Case Diagrammen vergl Rupp Chris et al 2007 S 237ff und Oestereich Bernd 2005 S 20ff 62 und teilweise zeitaufw ndig sind stellt die Software diese Funktionalit ten getrennt von den eigentlichen Tests zur Verf gung Falls beim Start eines Tests noch nicht alle n tigen vorbereitenden Anwendungsf lle durchlaufen worden sind werden diese um die vorbereitenden F lle erweitert Mobiles Ger t Mobile DB anlegen und f r Replikation anmelden A Sextendgs gt N DBS Test durchf hren gt Testzustand herstellen SZ gt gt Basis f r Synchronisations Test erstellen lt lt extends lt lt extands gt gt E VATA Synchronisations Test 5 durchf hren Innerhalb dieser Anwendungsf lle werden Prozesse beendet d
147. n auf Clientseite wird ber das graphische Element ucProzessListe erm glicht F r den Umgang mit einzelnen Prozessen greift die Prozessliste auf die Klasse Prozess zu Die Klasse Prozessprofil bernimmt f r die Prozessliste das Erstellen und Laden von Prozessprofilen Die Clientbibliothek dargestellt in Abbildung 24 kapselt die eigentlichen 77 Funktionalit ten f r die Tests und wird von der Oberfl che gesteuert Die Klassen DBSTest und SyncTest bilden die Grundlage f r die Tests Sie halten den jeweiligen Status eines Testlaufs z B welche vorbereitenden Schritte durchgef hrt worden sind bzw welche noch durchzuf hren sind und bieten jeweils die Durchf hrung des DBS bzw Synchronisationstests an Um die Messergebnisse zu bertragen und Daten auf Serverseite zu generieren halten sie jeweils eine Instanz der zugeh rigen Stubklasse welche die Kommunikation mit den Web Services realisieren Die Klasse TimerClient wird innerhalb der Tests eingesetzt um die Zeitmessung zu realisieren Wie bei der Serverbibliothek wird auch auf der Clientseite ein Datengenerator f r das Erzeugen und L schen von Datenmengen in der mobilen Datenbank verwendet wobei ein Wertegenerator die Werte f r die Datens tze liefert Erstellt lt Datenbasis mit einer ClientDatenGenerator ClientWerteGenerator DatenbankVorbereiter Abbildung 24 Modell Clientbibliothek Die Klasse Tools stellt verschiedene kleine Werkzeuge f r de
148. n stehen pro Zelle zur Verf gung Um einen flie enden bergang zwischen den einzelnen Zellen und Clustern zu erm glichen gibt es so genannte Handover oder Handoff Mechanismen Diese Mechanismen erm glichen den bergang ohne vorhandenen Verbindungen komplett abbrechen zu lassen Diese sind verbunden mit einem Overhead sowie mit einem kurzen Verbindungsabbruch im Millisekundenbereich Eine einzelne Zelle in einem solchen Cluster wird als Makro Zelle bezeichnet und deckt einen Bereich mit einem Durchmesser im zweistelligen Kilometerbereich ab Eins der gr ten Probleme einer solchen gro en Zelle ist die Benutzeranzahl Die Aufteilung der Frequenzen reicht nicht aus um eine hohe Anzahl von Benutzern wie sie z B in Ballungsgebieten vorkommt zu bedienen Um die Anzahl der Benutzer die von einer solchen Zelle unterst tzt werden zu erh hen kann eine weitere Unterteilung der Makro Zellen in Mikro Zellen Bereiche mit einem Durchmesser unter einem Kilometer und weiter von Mikro Zellen in Piko Zellen Bereiche mit einem Durchmesser von mehreren Metern durchgef hrt werden Innerhalb dieser kleineren Einheiten werden die in der gr eren Zelle verf gbaren Frequenzen feiner aufgeteilt und erh hen somit die Anzahl der m glichen Verbindungen wobei sich Fehlerraten erh hen und die Datenraten sinken die Basierend auf dieser Zellenarchitektur gibt es WWAN Technologien in verschiedene Generationen aufgeteilt sind Tabelle 2 stellt
149. n werden logarithmisch Laststufen ausgew hlt Ausgehend von diesen 109 Vergl Ford Chris et al 2008 S 19F Meier J D et al 2006 S 752 ff und Beydeda Sami Hrsg et al 2004 S 79 110 Vergl Bowers David Hrsg 1994 S 114f und S 117f Vossen Gottfried 2008 S 58f Gulutzan Peter et al 2003 S 7f sowie Ford Chris et al 2008 S 20 111 Vergl Ford Chris et al 2008 S 19f 39 Laststufen k nnen mithilfe einer linearen Erh hung mehrere Messpunkte pro Laststufe gew hlt werden Formel 5 2 1 zeigt dieses Vorgehen in einem Beispiel Formel 5 2 1 Beispiel D 10 D 20 D 90 D 100 D 200 D einer Lasterh hung Damit werden Messungen durchgef hrt die das Verhalten des Systems unter verschieden hohen Lasten zeigt Um weiterhin einen automatisierten Test zu erm glichen wird eine Maximaldatenmenge ben tigt die als Abbruchbedingung verwendet werden kann Diese Grenze kann so gew hlt werden dass ein Trend im Verhalten der Laufzeit in Abh ngigkeit von der Arbeitslast erkennbar wird Weiterhin muss die lineare Schrittweise f r einen automatisierten Test festgelegt werden die pro logarithmische Laststufe verwendet wird Je nachdem wie diese gew hlt wird ergibt sich ein entsprechend detailliertes Ergebnis Innerhalb von Schritt 3 m ssen die Metriken festgelegt werden die getestet werden sollen Einige g ngige Metriken sind in Tabelle 4 dargestellt Diese zeigen vers
150. nikation bei Web Services Rechenberg Peter Hrsg et al 2006 S 1132ff oder f r eine vollst ndige Einf hrung in Web Services Dunkel J rgen et al 2008 Kapitel 5 2 S 92ff Da diese Pakete lediglich automatisch generierte Gegenst cke zu den Web Services enthalten tauchen sie nicht in der Quellcodedokumentation auf 72 neue GUI n tig machen kann Die Logik f r die Prozesssteuerung der Diagrammerstellung und der berpr fung der Messergebnisse wird auch bei einem Wechsel des Datenbanksystems gleich bleiben da der Umgang mit dem DBS im Paket ServerSteuerung Datenbank gekapselt ist Weiterhin werden Anpassungen der graphischen Oberfl che lediglich begrenzt Auswirkungen auf die Berechnungen haben Daher wird innerhalb der Serverapplikation auf die Logikschicht verzichtet Stattdessen wird die Anwendungslogik in einzelnen graphischen Elementen gekapselt welche in anderen Testprojekten wiederverwendet werden k nnen 6 8 5 Modell Server Dieses Kapitel stellt das Klassenmodell der Serverseite vor Abbildung 22 zeigt die verschiedenen Klassen des Servers sowie deren Beziehungen zueinander in einem Klassendiagramm Um eine bessere Lesbarkeit der Klassendiagramme zu erreichen werden die Pakete mit in die Klassendiagramme bernommen Im Diagramm stechen die Web Services im Paket TestSession hervor welche lediglich ber Standard Net Klassen aus dem Paket System Web bzw dessen Unterpaket Services eine Verbindung zur S
151. nm glich machen w rde Die Antwortzeit h ngt dabei neben der Datenmenge auch stark von der Komplexit t der Abfragen ab Speziell die Verkn pfungen von Tabellen Sortierungen und Unterabfragen Abfragen innerhalb einer Abfrage stellen leistungsfordernde Operationen dar Filteroperationen die eine zentrale Rolle bei der Verwendung eines Datenbestands spielen sind ebenfalls ressourcenverbrauchend Dementsprechend m ssen bei der Untersuchung der Grenzen der Belastbarkeit eines mobilen DBS entsprechende Abfragen formuliert werden die auf einer zunehmenden Datenmenge ausgef hrt werden Daf r k nnen zun chst einfache Abfragen formuliert werden die auf einer oder zwei Relationen basieren Daneben k nnen komplexe Abfragen mit Verkn pfungen mehrerer Relationen sowie Sortierungen und Unterabfragen verwendet werden um einen Vergleich zwischen einfachen und komplexeren Operationen zu erm glichen Neben der reinen Datenselektion sind weiterhin Schreib Aktualisierungs und L schvorg nge Datenmanipulationen abh ngig von der sich in einer mobilen DB befindlichen Datenmenge und werden somit in eine Betrachtung des Verhaltens des mobilen DBS unter einer zunehmenden Datenmenge mit einbezogen Beim Einf gen neuer Daten wird die Einhaltung der Prim r und Fremdschl sselbedingungen berpr ft die an Zeilen der jeweiligen Relation gestellt werden Zu diesen Zweck m ssen die bereits vorhanden Prim rschl ssel durchsucht werden um auszusch
152. nnerhalb von Abbildung 23 wird die Struktur der mobilen Applikation Paket TestSuite vorgestellt w hrend Abbildung 24 die Bibliothek f r die mobile Anwendung Paket TestLibraryClient vorstellt Die mobile Applikation enth lt wie auch die Serverapplikation ein Hauptfenster frmTestSuite und einen Einstiegspunkt in die Applikation Programm Das Hauptfenster verwendet eine Prozessliste um dem Benutzer die M glichkeit zu geben einen Testzustand auf dem mobilen Ger t herzustellen Die Prozessliste selbst implementiert lediglich die Anzeige w hrend die eigentliche Logik f r den Umgang mit Prozessen bzw Prozessprofilen im Paket TestLibraryClient Prozess der Bibliothek enthalten ist Weiterhin h lt das Hauptfenster eine Instanz der Klasse ucTestSteuerung ber die die eigentliche Teststeuerung realisiert ist Die Teststeuerung verwendet die Klassen DBSTest und SyncTest welche die eigentliche Testlogik kapseln Die Teststeuerung liefert die n tigen Parameter f r die Tests und erm glicht die Durchf hrung der vorbereitenden Anwendungsf lle welche die mobile Datenbank und das Serversystem betreffen Mobile Datenbank anlegen Datenbasis 151 Die Klasse TestDaten stellt ein generiertes DataSet dar welche die Datenhaltung und Beschaffung kapselt Vergl f r eine Einf hrung in DataSets Riordan Rebecca M 2006 S 157ff Weiterhin wird bei der Generierung eines DataSet ein eigenes Unterpaket angelegt in dem die reale Komm
153. normaler Zustand f r eine Replikation dar da sich im Normalfall bereits synchronisierte Daten im Gesamtsystem befinden Um zu zeigen in wie weit diese Basisdatenmenge sich auf die Performance der Synchronisation auswirkt werden in Kapitel 6 7 1 Testf lle mit unterschiedlichen Basisdatenmengen definiert Nach der Erstellung der Basisdatenmenge wird eine Menge an neuen Daten in die mobile Datenbank und das zentrale System eingef gt sowie eine Menge an Daten auf Client und Serverseite ver ndert Darauf basierend wird die Laufzeit der Synchronisierung dieser neuen bzw 122 Vergl Microsoft 2008 a f r die jeweiligen Gr en 49 ver nderten Daten gemessen Um Wiederholungen f r die Erzeugung von Messreihen zu erm glichen wird nach einer Messung der Synchronisierung die neu erstellten Datens tze wieder gel scht und somit der Grundzustand wiederhergestellt Damit werden Wiederholungen der Messungen unter denselben Voraussetzungen erm glicht Weiterhin wird davon ausgegangen dass alle Clients alle Daten sehen d rfen und somit alle Daten synchronisiert werden m ssen Das zweite Szenario ist das Durchf hren von Anfragen an das mobile DBS welche Daten ermitteln sollen Abfragen Dabei sollen Testf lle mit verschieden komplexe Abfragen aufgebaut werden Damit soll gezeigt werden wie sich die Komplexit t der Abfragen auf die Laufzeiten auswirkt und bis zu welcher Datenmenge welche Komplexit t m glich ist Szenario drei besteht a
154. nsatz mit mobilen Ger ten Um eine Replikation zu erm glichen muss ein Replikationsmodell mit einem entsprechenden Synchronisationsverfahren ausgew hlt werden Da sich innerhalb dieser Arbeit auf konsistenzerhaltende Verfahren konzentriert wird jeweils ein pessimistisches 86 Vergl H pfner Hagen et al 2005 S 232f und Mutschler Bela et al 2004 S 95 87 Vergl Mutschler Bela 2004 S 99ff und S 105 dort werden auch weitere Arten der Synchronisation zus tzlich zu bi und unidirektionalen Synchronisationen erl utert und H pfner Hagen 2005 S 218f 88 Vergl Mutschler Bela et al 2004 S 209 ff dieses Buch kann auch als weiterf hrende Literatur f r mobile Transaktionen verwendet werden F r verteilte Transaktionen siehe Coulouris George et al 2005 Kapitel 14 oder zsu M Tamer et al 1999 Kapitel 10 und 11 31 und ein optimistisches Verfahren f r mobile Umgebungen vorgestellt Diese beiden Modelle haben im Gegensatz zu klassischen Konzepten den Vorteil dass sie an mobile Umgebungen angepasst sind Das erste Modell soll zeigen auf welche Probleme Replikationsmodelle mit pessimistischen Verfahren in mobilen Umgebungen sto en k nnen Das zweite Modell ist innerhalb des Microsoft SQL Server System die Grundlage f r eine bidirektionale Synchronisation Daher wird in dieser Arbeit das zweite Modell verwendet Neben diesen Modellen gibt es weitere Synchronisationsmodelle f r mobile Umgebungen
155. ogien angegeben Durch die innerhalb der Cluster verwendeten Frequenzteilungen und den St rungen in den Technologien werden diese allerdings selten erreicht Dies zeigt sich z B bei GPRS W hrend die Maximalgeschwindigkeit bei 160 kbps liegt stellen 115 kbps die durchschnittliche Geschwindigkeit bei GPRS dar Diese kann bei einer hohen Benutzeranzahl in einer Zelle allerdings stark unter diesen Durchschnitt sinken 2 2 Konsequenzen der Beschr nkungen mobiler Netzwerktechnologien f r mobile Clients Die Begrenzungen durch die Probleme und niedrigen bertragungsraten der Funktechnologien stellen eine Herausforderung an mobile Systeme dar welche auf einer Verbindung zu einem zentralen System basieren Eine st ndige und leistungsf hige Verbindung zu einem zentralen System wie sie bei station ren Systemen beispielsweise einem PC in einem Netzwerk gegeben ist besteht bei mobilen Ger ten aufgrund der vorhergehend dargestellten Probleme nicht immer Zum einen decken die WLANs und WWANs nicht alle Fl chen ab Weiterhin brechen innerhalb von WLANs die Verbindungen ab sobald deren Sendebereich verlassen wird Zum anderen sorgen die verschieden Probleme auf physikalischer Ebene zu schwachen Verbindungen bzw zu Verbindungen die aufgrund von St rungen abbrechen k nnen Dies hat bei der Entwicklung mobiler Systeme zu einer Kategorisierung in zwei verschiedene Szenarien gef hrt Die erste Kategorie sind Online Szenarien Dort wird davon ausg
156. ossen G nther 2008 Kapitel 8 S 251ff 38 Vergl Steiner Rene 2003 S 155 39 Vergl Connolly Thomas et al 2002 S 110F Elmasri Ramez et al 2007 S 233ff 325ff und 346f sowie Burnus Heinz 2008 S 84 16 verwenden wie auch die OSI Architektur der Netzwerke eine Aufteilung in Schichten Unterschiede dieser beiden Architekturen bestehen im Umgang mit den Daten sowie in der Optimierung von Anfragen Innerhalb des Modells f r die einfachen Endger te wird auf eine Optimierung der Anfragen verzichtet Weiterhin wird in der Architektur f r m chtigere Ger te eine Verwaltung der Daten im transienten Speicher des Ger tes mithilfe von Seiten realisiert Schicht f nf in der linken Architektur M chtigeres Endger t Einfaches Endger t Daten bertragung Schicht 1 Tansa Schicht 2 ng Schicht 1 Schicht 2 Schicht 3 Schicht 3 Schicht 4 H Schicht 5 Schicht 6 Abbildung 3 Allgemeine Architekturen mobiler Datenbanksysteme Die Verwendung einer Seitenverwaltung entstammt den Techniken von Betriebssystemen zur Speicherverwaltung Diese Seiten bilden dort die Grundlage des virtuellen Speichers welcher eine Trennung der Applikationen vom realen Speicher erm glicht Nach der Referenzarchitektur von H rder und Reuter von DBS verwenden diese ebenfalls die Einteilung der Daten in Seiten Dies bedeutet der Datenfluss aus dem persistenten Datenspeicher wird zu Bl c
157. pper Klasse Gamma Erich et al 2004 S 171ff 149 Vergl ZedGraph 2009 150 Visual Studio ist eine Entwicklungsumgebung von Microsoft welches prim r f r Net Entwicklung gedacht ist und f r die Entwicklung in dieser Arbeit verwendet worden ist Dabei wurde die Version Visual Studio 2005 verwendet Vergl Skibo Craig et al 2006 f r eine Einf hrung in Visual Studio 2005 75 Die Klasse ucDatenUeberpruefer erm glicht die berpr fung ob die Wiederholungen der Messreihen ausreichend waren und ob die Messergebnisse nicht zu stark durch die u eren Einfl sse verzerrt worden sind Um die Ergebnisse der Messreihen anzuzeigen legt die Pr fklasse Instanzen der Klasse ucEinzelAuswertung an welche die Anzeige der berpr fungsergebnisse der einzelnen Messreihen bernimmt Innerhalb des Paketes Datenbank in der Serversteuerung werden Klassen zur Verf gung gestellt welche die Datenbeschaffung f r die Serverapplikation bernimmt ber die Klasse SOLScriptAusf hrung wird die Erstellung der Serverdatenbank mithilfe der Ausf hrung eines Erstellungsscript erm glicht Die Klasse TestDaten liefert der GUI die Testergebnisse f r die Auswertung 6 8 6 Modell mobiler Client In diesem Kapitel wird das Klassenmodell des mobilen Clients dargestellt Auch hier werden die Pakete mit in die Klassendiagramme bernommen um eine bessere Lesbarkeit zu erreichen Weiterhin ist das gesamte Clientmodell in zwei Klassendiagramme geteilt I
158. r vorhandene Frequenzbereich in mehrere disjunkte Bereiche so genannte Kan le geteilt auf dem Benutzer unabh ngig voneinander senden und empfangen k nnen Dies bedeutet wenn z B eine Technologie einen Frequenzbereich zwischen 100 kHz und 200 kHz zugeteilt bekommt und zwei Benutzer diese am gleichen Ort verwenden erh lt ein Benutzer den Frequenzbereich zwischen 100 KHz und 140 kHz und der zweite den zwischen 160 kHz 3 Vergl Kurose James F et al 2008 S 519 Tse David et al 2006 S 18f sowie Murthy C Siva Ram et al 2004 S 2ff und S 10f 4 Vergl Mutschler Bela et al 2004 S 26f und 200 kHz Der Teil zwischen 140 kHz und 160 kHz wird dabei als Trennschicht verwendet damit sich beide Teilnehmer bei starken Schwankungen der Wellen nicht st ren Weiterf hrende Techniken verfeinern die Frequenzteilung unter den Benutzern Die Verwaltung der Verbindungen und die Verwendungen dieser Techniken beinhalten einen Overhead sowie das Risiko zus tzlicher St rungen Weiterhin sinkt die bertragungsrate pro zus tzlichen Benutzer Die verschiedenen L sungsans tze die den Umgang mit dem unsicheren physikalischen Medium erlauben werden von den verschiedenen Funktechnologien umgesetzt Diese Funktechnologien gliedern sich dabei in die verschiedenen Schichtenmodelle ein in die Netzwerke strukturiert werden Diese sind entstanden um die verschiedenen Probleme bei einer Netzwerkkommunikation zwischen Computersystemen zu
159. rbar und schr nkt die Leistungsf higkeit des mobilen Ger ts ein was die Verwendung weiterer Applikationen erschwert Dies hat sich bei der Testdurchf hrung gezeigt Weiterhin k nnen Techniken zur Verschl sselung der Daten und zur sicheren bertragung der Daten die Laufzeit verl ngern Somit m ssen beim Einsatz von Synchronisationen L sungswege gefunden werden mithilfe deren der Einsatz von mobilen Ger ten m glichst wenig eingeschr nkt wird Dabei k nnen lange Laufzeiten der Daten bertragungen umgangen werden indem in m glichst geringen Zeitabst nden synchronisiert wird und somit eine Anh ufung von zu bertragenden Daten verhindert wird Damit die Synchronisation nicht zu kritischen Zeitpunkten das Ger t blockiert kann der Benutzer in die Planung und Durchf hrung der Synchronisation mit einbezogen werden Dazu k nnen von Benutzer vorgegebene Zeitpl ne geh ren die Zeitbereiche angeben in denen nicht synchronisiert wird Abbruchmechanismen die der Benutzer ausl sen kann sind ebenfalls ein m glicher Weg Somit ist sichergestellt dass das Ger t zu Zeitpunkten an denen es dringend ben tigt ist nicht durch eine Synchronisation gest rt wird bzw in denen zumindest die Synchronisation abgebrochen werden kann Erh hter Stromverbrauch durch eine hohe Belastung des Ger ts muss ebenfalls betrachtet werden Somit muss ein Mittelweg zwischen der Laufzeit und der H ufigkeit der Synchronisation gefunden werden Wie sich bei den
160. rgangs gesenkt Tabelle 10 zeigt die nderungen in der Gr enberechnung Darin werden dieselben Abk rzungen wie in Tabelle 9 verwendet 123 Die 5 KB setzen sich aus 5 mal 1024 Byte zusammen vergl dazu Appelrath Hans J rgen et al 2000 S 35f 124 Vergl Delaney Kalen 2007 S 193f hier wird auch das grundlegende Vorgehen zur Erzeugung dieser global eindeutigen Werte dargestellt und Microsoft 2007 125 Vergl Microsoft 2007 54 Innerhalb der Berechnung in Tabelle 9 werden auf unterschiedliche L ngen der variablen Attribute der Relationen geachtet um f r die Testf lle der Datenermittlung die nach diesen Attributen sortieren und Bedingungen stellen Realbedingungen zu simulieren Aktualisierungsbl cke die nach dem Schema in Tabelle 10 aufgebaut sind werden lediglich f r die Synchronisation ben tigt Innerhalb der Synchronisierung spielt die L nge einzelner Werte in den einzelnen Attribute eine untergeordnete Rolle Daher wird auf eine unterschiedliche L nge der variablen Felder verzichtet Pro Tabelle werden somit eine Anzahl von Datens tzen mit einer bestimmten Gr e angegeben Weiterhin werden die Gr en der Datens tze von Relationen ohne variable Datentypen direkt angegeben Position Kollektion und Produktart Auch hier ergeben sich 5 kB Bl cke bzw eine Zusammenfassung aus 50 Datens tzen Tabelle Anzahl Gr enberechnung der Gesamtgr e Gesamtgr e
161. rgl Connolly Thomas et al 2002 S 69 33 Vergl Matthiessen G nter et al 2003 S 311 und Rob Peter et al 2008 S 51 Weiterf hrende Literatur f r objektrelationale Datenbanken stellt T rker Can et al 2006 dar Meier Andreas 2003 behandelt neben objektrelationalen Datenbanken auch objektorientierte Datenbanken 34 Vergl Connolly Thomas et al 2002 S 69 Saake Gunter et al 2008 S 11 und Lockemann Peter C et al 2004 S 79 35 Vergl Lockemann Peter C et al 2004 S 79ff 36 Vergl Lockemann Peter C et al 2004 S 79ff 15 Somit kann der Datenbestand in einer DB ber den Aufbau von Relationen und deren Beziehung zueinander strukturiert werden Der Aufbau der Relationen und der Beziehungen wird auch das Schema der DB genannt Um eine m glichst geringe Redundanz von Daten und ein Minimum an Datenanomalien zu erreichen gibt es Normalformen nach denen ein Schema aufgebaut werden kann ber diesen Weg ist die Anforderung nach der Strukturierung der Daten erf llt Um zum einen die Definition dieser Schemata und zum anderen einen Umgang mit dem Datenbestand z B Selektieren und Manipulieren der Datenbest nde zu erm glichen wurde die deskriptive Sprache SQL Structured Query Language entwickelt Diese Sprache ist standardisiert und gilt als Standardsprache um DBS zu programmieren Deskriptive Sprachen geben lediglich das Ergebnis einer Anfrage an nicht jedoch die eigentliche Berechnungsvorsc
162. rmalverteilung als Ouantil ein Dies stellt die Umkehrfunktion zur Verteilung dar F r die berpr fungen von Messergebnissen wird eine Verteilung angenommen Die Annahme der Normalverteilung 0 1 ist eine in der ISO Norm verwendete Sch tzung f r die Verteilung von realen Laufzeiten sowie von Messergebnissen Um eine berpr fung nach der ISO Norm durchzuf hren wird zun chst ein Intervall T d um den Mittelwert definiert Dann wird gepr ft ob sich der reale Mittelwert im definierten Intervall um den ermittelten Mittelwert befindet und die Wiederholungen somit ausreichend gewesen ist 7 steht dabei f r den Mittelwert einer Messreihe w hrend d die Grenzen des Intervalls bestimmt d stellt einen Wert dar den man innerhalb der Berechnung vorgibt Ein weiterer Wert der vorgegeben wird ist die Wahrscheinlichkeit mit der die berpr fung sich irrt Irrtumswahrscheinlichkeit Das Ergebnis der berpr fung kann somit mit der Wahrscheinlichkeit falsch sein blicherweise wird f r amp 5 gew hlt 10 stellt 158 Vergl Henze Norbert 2006 S 196f 159 Vergl Mosler Karl et al 2006 S 105 160 Vergl Dirlewanger Werner 2006 S 55ff 99 ein weiterer akzeptabler Wert dar w hrend Werte ber 20 eine zu hohe Fehlertoleranz zulassen F r d hat sich durch Erfahrung gezeigt dass die Definition d b Mittelwertder Messungen eine gute Wahl darstellt b stellt in dieser Arbeit einen Koeffizien
163. rmatik 2005 eEconomy eGovernment eSociety Physica Verlag Heidelberg 2005 Ford Chris Gileadi Ido Purba Anjiv Moerman Mike 2008 Patterns for Performance and Operability Building and Testing Enterprise Software Auerbach Publications Boca Raton 2008 Gamma Erich Helm Richard Johnson Ralph Vlissides John Entwurfsmuster Elemente wiederverwendbarer objektorientierter Software Addison Wesley M nchen 2004 Green James Harry The Irwin Handbook of Telecommunications McGraw Hill New York 2005 91 Gschwind Thomas Mascolo Cecilia Hrsg Software Engineering and Middleware 4 International Workshop SEM 2004 Linz Austria Septemper 20 21 2004 Revised Selected Papers Springer Berlin 2005 Gulutzan Peter Pelzer Trudy SQL Performance Tuning Addison Wesley Boston 2006 H ckelmann Heiko Petzold Hans J Strahringer Susanne Kommunikationssysteme Technik und Anwendungen Springer Berlin 2000 Hanhart Daniel Mobile Computing und RFID im Facility Management Anwendungen Nutzen und serviceorientierter Architekturvorschlag Springer Berlin 2008 Hartung Joachim Heine Barbara Statistik bungen Induktive Statistik Oldenbourg M nchen 2004 Henze Norbert Stochastik f r Einsteiger Eine Einf hrung in die faszinierende Welt des Zufalls Vieweg Teubner Wiesbaden 2006 Heutschi Roger Serviceorientierte Architektur Architekturprinzipien und Umsetzung in die Praxis Springer Berlin
164. ronisationstest die Angabe welcher Testfall ausgef hrt werden soll Daher gibt es eine Eingabebox f r den Testfallnamen Weiterhin kann die Anzahl der Wiederholungen angegeben werden die pro Messreihe durchgef hrt werden Weiterhin kann falls der Test nicht bei der niedrigsten Datenmenge anfangen soll Vergl Kapitel 6 5 f r die jeweiligen Startmengen eine Startmenge angegeben werden Damit kann auch ein evtl abgebrochener Testlauf fortgesetzt werden Im letzteren Fall m ssen die Szenario und Testfallnamen zu denen des abgebrochenen Tests passen Die beiden Checkboxen am unteren Ende der Teststeuerung geben an ob der Synchronisationstest ber WLAN oder GPRS durchgef hrt werden soll Damit wei der Synchronisationstest mit welcher Technologie er sich wieder verbinden muss falls einmal die Verbindung zum Netzwerk abbricht Vor der Durchf hrung eines Synchronisationstestfalls muss der Tester zun chst per Hand eine Verbindung zur zu testenden Funktechnologie herstellen Vergl dazu das Handbuch des jeweiligen Ger tes Die Serverapplikation ist in drei Teile geteilt Abbildung 35 Zeigt den Teil f r die Darstellung von Messergebnissen Dabei kann das Szenario und der Testfall ausgew hlt werden darauf basierend wird der Graph des Messergebnisses in das Diagramm gezeichnet Die beiden Auswahlboxen unter dem Szenario bzw dem Testfall dienen dem Umschalten der Skalierung der X bzw Y Achse Logarithmisch linear etc Mithilfe 111
165. s et al 2005 S 72 und Hoffmann Dirk W 2008 S 173 37 Schritt Beschreibung 1 Schl sselszenario Innerhalb des ersten Schritts werden einzelne Szenarien aufgebaut welche en entwickeln getestet werden sollen Damit wird eine Grundlage geschaffen auf der detaillierte Testf lle definiert werden k nnen Zum Beispiel kann ein Szenario das Einf gen von Daten in die Datenbank darstellen 2 Arbeitslast Schritt zwei stellt die Definition der Last unter der der Test durchgef hrt wird identifizieren dar Dabei k nnen unterschiedliche Arten von Lasten mit in die Tests bernommen werden Dies kann z B die Anzahl von Benutzern zu verarbeitende Daten oder die Anzahl an Prozessen die ein Computersystem belasten sein Die Last h ngt dabei von der zu testenden Software sowie den Anforderungen die an diese gestellt werden ab 3 Metriken Um einen Performance Test durchzuf hren muss festgelegt werden welche identifizieren Performance Merkmale getestet werden sollen 4 Testf lle entwickeln Auf Grundlage der Szenarien der Last sowie der Metrik oder den Metriken werden einzelne Testf lle entwickelt Ein Beispiel stellt eine detailliert beschriebene Anfrage die Daten in die Datenbank einf gt dar 5 Testdurchf hrung Nach der Definition der Testf lle werden diese durchgef hrt Dies kann z B per Hand unter Verwendung von bereits vorhandenen Testtools oder durch eine eigens entwickelte Testsoftware gesc
166. sation im Bereich um einer Minute Dar ber steigt die Laufzeit st rker an und erreicht eine Laufzeit von mehreren Minuten bei 5 MB 50 000 Datens tze wobei der Trend der Messergebnisse eine zunehmende Steigung aufweist Die Unterschiede in der bertragungsrate zwischen den getesteten Funktechnologien GPRS und WLAN wirken sich erst im MB Bereich deutlich aus Um Performance Anforderungen an das mobile DBS und die Synchronisation auch bei einer gro en Datenmenge erf llen zu k nnen k nnen weiterf hrende Modelle verwendet werden die die Last f r beiden Systemteile senkt Abschlie end betrachtet k nnen Thick Clients innerhalb der ermittelten Grenzen von mobilen DBS und Synchronisationen unterst tzt werden Beim verwendeten Beispiel eines Vertriebsmitarbeiter ist z B die Frage ob eine Gesamtmenge aus 10 000 Datens tzen auftritt Dabei k nnen verschiedene Modelle und Vorgehensweisen eingesetzt werden um dem Benutzer eine Kontrolle ber die auf dem mobilen Ger t vorhandene Datenmenge zu geben So wird eine Anbindung an ein zentrales System erm glicht welches eine wesentlich h here Datenmenge enth lt als die einzelnen Clients Weiterhin muss bei mobilen Szenarien bei denen Datenmengen ber denen in dieser Arbeit ermittelten Grenzen auftreten abgewogen werden ob sich der Aufwand lohnt den die Planung und Umsetzung von den vorgestellten komplexeren Modellen und Vorgehensweisen mit sich bringen Bei dieser Abw gung kann der Aufba
167. schen Synchronisation mit Server durchf hren Aktualisieren lt lt cantral buffar gt gt vorhandener Einf gezeitpunkt Datens tze erzeugt LJ Datenmenge in Clientdatenbank einf gen lt lt sentral bulfer gt gt Einf gezeitpunkt lt lt central buffer gt gt Einf gezeitpunkt Einf gezeitpunkt Abbildung 16 Unteraktivit ten f r den Synchronisationstest Abbildung 17 zeigt wie die Basisdatenmenge f r die Synchronisation unter Vorgaben des Benutzers in die gesamte verteilte Datenbank eingef gt wird Dabei wird sichergestellt dass die mobile Datenbank vorhanden ist falls nein wird der Ablauf des Anwendungsfall Mobile Datenbank erstellen und f r Replikation anmelden aufgerufen und durchgef hrt Basisdatenmenge erstellen Client Server Mobile Dal Datenbank vorhanden Mobile Datenbank anlegen und rh bei Replikation anmelden Erstellung erfolgreich lt gt Wa Nein S Testdaten aus mobiler Datenbank l schen p Testdaten aus Serverdatenbank l schen Synchronisation mit Server durchf hren Basisdatenmenge von Benutzer abfragen Datenmenge _ in kb Datenmenge in kb 1 Basisdatenmenge einf gen 7 Synchronisation mit Server durchf hren Abbildung 17 Aktivit tsdiagramm Basisdatenmenge erstellen Der Ablauf des Anwendungsfall berpr fung der Messergebnisse durchf hren wird 68 in Abbildung 18 d
168. sdiagramm Diagramme erstellen Abbildung 20 stellt den Ablauf der Datenbankerstellung Client wie Server dar Dabei gilt dass die mobile Datenbank nach der Serverdatenbank sowie der Erstellung der Publikationen auf Serverseite erstellt werden muss da ansonsten die mobile Datenbank nicht vom Replikationsschema abgeleitet werden kann Auf Serverseite wird daf r ein SQL Script bereitgestellt welches ber die Serverapplikation ausgef hrt werden kann Auf Clientseite wird das Replikationsschema verwendet welches auf Serverseite bereitgestellt wird In den folgenden Kapiteln wird dargestellt wie das Testsystem aufgebaut ist Die Benutzeranleitung in Anhang 6 verdeutlicht die einzelnen Vorg nge speziell die Einbindung des Benutzers in die einzelnen Abl ufe Serverdatenbank anlegen Server Mobile Datenbank anlegen und bei Replikation anmelden Pfad zum Erstellscript eingeben Mobile Datenbank Pfad korrekt vorhanden Nein Vorhandene Datenbank l schen Nein Script ausf hren Ausf hrung Mobile Datenbank mit dem erfolgreich Replikationsschema erstellen Ha W Erfolgsmeldung ausgeben Fehlermeldung ausgeben Fehlermeldung ausgeben Replikation vorbereiten N Abbildung 20 Aktivit tsdiagramm Datenbanken anlegen 140 Vergl auch die Installationsanleitung in Anhang 4 70 6 8 4 Paketaufbau Dieses Kapitel stellt die Pakete vor in die
169. sdn microsoft com de de library ms152511 SQL 90 aspx 11 02 2009 Microsoft Onlinedokumentation f r SQL Server 2005 Compact Edition Datentypen Microsoft 2009 a http msdn Microsoft com de de library ms172424 SQL 90 aspx 02 01 2009 Microsoft Onlinedokumentation f r SQL Server 2005 Compact Edition Client Serverumgebung Microsoft 2009 b http msdn Microsoft com de de library ms172075 SQL 90 aspx 05 01 2009 Microsoft Onlinedokumentation f r SQL Server 2005 Compact Edition Neuigkeiten SQL Server Compact Edition Microsoft 2009 c http msdn Microsoft com de de library ms172417 SQL 90 aspx 05 01 2009 Microsoft Onlinedokumentation f r SQL Server 2005 Compact Edition Entwicklungsumgebung Microsoft 2009 d _ http msdn microsoft com de de library ms173014 SQL 90 aspx 07 01 2009 95 Microsoft Microsoft SQL Server Compact 3 5 Service Pack 1 Server Tools Microsoft 2009 e http www microsoft com downloads details aspx FamilyId FA751DB3 7685 471B AC31 F1B150422462 amp displaylang en 11 02 2009 Microsoft Microsoft SQL Server Compact 3 5 Service Pack 1 and Synchronization Services for ADO NET version 1 0 Service Pack 1 for Windows Desktop Microsoft 2009 f _ http www microsoft com downloads details aspx familyid DC614AEE T7E1C 4881 9C32 3A6CE53384D9 amp displaylang en 11 02 2009 Microsoft NET Compact Framework 2 0 Redistributable Microsoft 2009 g http www microsoft com downloads deta
170. se Schicht bernimmt den Versand und Empfang der Daten F r die Transport Layer Versendung werden die Daten in bestimmte Strukturen Pakete verpackt 5 Dies ist ein rein fiktives Beispiel Wie die Zahlenwerte in der Realit t aussehen h ngt von der jeweiligen Realisierung und dem verwendeten Frequenzbereich ab 6 Vergl Murthy C Siva Ram et al 2004 S 19 ff als weiterf hrende Literatur im Bereich der Frequenzteilung k nnen die B cher Murthy C Siva Ram et al 2004 sowie Tse David et al 2006 verwendet werden 7 Vergl Shanmugam Ramadas et al 2002 S 16 und Lehner Franz 2003 S 142f 5 Nr Schicht Aufgabe welche beim Empf nger wieder in die urspr ngliche Darstellung umgewandelt werden 3 Vermittlung Die Vermittlungsschicht bernimmt das Auffinden von Network Layer Kommunikationspartnern im Gesamtnetzwerk 2 Sicherung Diese Schicht bernimmt die Umwandlung von Signalen in Datenbl cke und Link Layer umgekehrt Sie stellt Sicherungsmechanismen zur Verf gung um die Vollst ndigkeit der bertragung zu garantieren 1 Bit bertragung Die Aufgabe dieser Schicht ist der Umgang mit physikalischen Physical Layer Verbindungen und das Versenden und Empfangen von Signalen Tabelle 1 OSI Modell Die Realisierungen f r den Umgang mit Funk befinden sich in der Schicht eins bis drei W hrend Schicht eins den Umgang mit dem physikalischen Medium kapselt
171. sinkt die Entfernung ber die gesendet werden kann Ebenfalls zeigt sich an dieser Stelle ein Bruch mit der digitalen Informationsverarbeitung von Computersystemen Funkwellen sind analog und m ssen in digitale Signale umgewandelt werden damit diese weiterverarbeitet werden k nnen Neben dem Einfluss der Frequenz und der Wellenl nge wird die Qualit t der Wellen durch weitere u ere Einfl sse gest rt Zun chst werden sie schw cher sobald sie feste Materie durchdringen oder sobald sich die Entfernung zwischen Sender und Empf nger erh ht Die F higkeit der Durchdringung von Materie wird dabei stark von der Frequenz beeinflusst um so h her desto schlechter Ein weiteres gro es Problem ist dass Wellen die sich auf derselben Frequenz befinden sich gegenseitig st ren Auch 1 Vergl Murthy C Siva Ram et al 2004 S 63f und S 109f 2 Vergl Murthy C Siva Ram et al 2004 S 2ff sowie S 10f 3 andere St rsignale wie ein laufender Motor oder das Grundrauschen der Atmosph re beeinflussen die Wellen Reflektionen von Wellen z B auf den Boden oder an W nden f hren zu einer Verlangsamung von Teilst cken der Wellen oder zu einer Verdoppelung der Signale bis zum Erreichen der Basisstation Die Auswirkung dessen ist eine fehlerhafte Interpretation der Wellen beim Empf nger Reflektionen treten h ufiger und st rker auf um so h her die Frequenz ist Das hei t die den verschiedenen Technologien zur Verf gung g
172. sreihen sind erfolgreich durchlaufen Dies kann auf die Korrektheit der Annahme der Normalverteilung und auf eine nicht allzu starke Verzerrung der Messungen durch die Umgebung deuten Eine detaillierte Darstellung der berpr fungen s mtlicher Testf lle ist in Anhang 7 zu finden Bei den folgenden Ergebnissen wurde mit 10 Wiederholungen pro Messreihe getestet 6 9 1 Ergebnisse Szenario 1 Synchronisation von Daten Abbildung 25 zeigt das Ergebnis der Testf lle aus Szenario eins welche die Funktechnologie GPRS verwenden w hrend Abbildung 26 die WLAN Testf lle darstellt Damit k nnen diese Technologien zun chst einzeln betrachtet werden Test Client t GPRS Klein t GPRS Mittel GPRS Gro Ben tigte Zeit s tt j t i 10 10 Getestete Datenmenge MB Abbildung 25 Ergebnis Szenario 1 Testf lle f r GPRS In beiden F llen dauert die Synchronisation bereits ab einer Datenmenge von 100 kB ber eine Sekunde und steigt im MB Bereich ber 100 Sekunden Ob solche 154 Dort befindet sich auch der Quellcode sowie die Installationsdateien 79 Synchronisationszeiten akzeptabel sind h ngt dabei vom jeweiligen Anwendungsfall und System ab Weiterhin zeigt sich dass speziell bei h heren zu synchronisierenden Datenmengen sich die Basisdatenmenge st rker auf die Laufzeit auswirkt Test Client H WLAN Klein WLAN Mittel WLAN Gro Ben tigt
173. stfallName TestName Test TestValueld Zeit Datenmenge Inklusionsabh ngigkeiten TestFall TestName S Master Test TestName Test TestFallld G TestFall TestFallld 109 6 Benutzeranleitung Dieses Kapitel stellt die Oberfl che vor und zeigt wie das Testsystem bedient wird Testsuitte Q gt Yy A 10 09 X 35 Test Suite Q Q gt Yy ME 14 37 X 9 Test Suite O Q gt Yy He 14 38 X NK EXE Mob DB anlegen filesys exe Grundzustand Sync Anfrage services exe device exe Synchronisation testen DB testen nderung Profil Speichern Lade Profil 50000 GPRS Klein Schlie e Prozess Bereit f r Test 45000 in gt u ji Optionen Optionen Optionen Abbildung 33 Screenshot Mobile Teststeuerung Abbildung 33 zeigt die mobile Teststeuerung Der linke Teil stellt die Profilliste dar mithilfe derer ein Testzustand hergestellt werden kann Neben der Speicherung und dem Laden von Profilen k nnen unn tige Prozesse beendet werden Nach der Best tigung dass ein Testzustand hergestellt worden ist Bereit f r Test gelangt man in die Teststeuerung Die beiden rechten Teile stellen zusammen die Teststeuerung dar Innerhalb der Box unter den Bedientasten der Prozessliste wird eine Zusammenfassung der Aktionen ausgegeben welche bereits durchgef hrt worden sind z B welche Prozesse beendet oder gestartet worden sind Bereit f r Prozessprofil Test
174. tal Michael Pattern orientierte Softwarearchitektur Ein Pattern System Addison Wesley M nchen 2000 B nning Uwe Krause J rg Windows Server 2003 Einrichtung und Administration von Unternehmensnetzen mit Standard und Enterprise Edition Hanser Fachbuchverlag M nchen 2006 B nning Uwe Rzepka Dirk Microsoft Windows Server 2008 Einrichten und Verwalten von Unternehmensnetzwerken Hanser Fachbuchverlag M nchen 2008 Connolly Thomas M Begg Carolyn E Database Systems A Practial Approach to Design Implementation and Management Pearson Education Harlow 2002 Coulouris George Dollimore Jean Kindberg Tim Distributed Systems Concepts And Design Addison Wesley Harlow 2005 Delaney Kalen Inside Microsoft SQL Server 2005 The Storage Engine Microsoft Press Redmond 2007 Dirlewanger Werner Measurement and Rating of Computer Systems Performance and of Software Efficiency An Introduction to the ISO IEC 14756 Method and a Guide to its Application kassel university press Kassel 2006 Dunkel J rgen Eberhart Andreas Fischer Stefan Kleiner Carsten Koscher Arne Systemarchitekturen f r verteilte Anwendungen Client Server Multi Tier SOA Event Driven Architecture P2P Grid Web 2 0 Hanser M nchen 2008 Eckert Claudia IT Sicherheit Konzepte Verfahren Protokolle Oldenbourg M nchen 2007 Ferstl Otto K Sinz Elmar J Eckert Sven Isselhorst Tilman Hrsg Wirtschaftsinfo
175. tark sind Das 4 _ Quantil kann dabei zum einen per Hand eingegeben werden Zum anderen bietet die Serverapplikation eine Auswahl an Quantilen an aus der der Benutzer eine ausw hlen kann Abbildung 19 stellt den Ablauf des Anwendungsfalls Diagramm erstellen dar Der Tester kann dabei zun chst das Szenario ausw hlen Darauf basierend stehen ihm die Testf lle dieses Szenario zur Verf gung deren Graphen er dem Diagramm hinzuf gen kann Weiterhin wird ihm die M glichkeit gegeben den Grundzustand der Maske ber das L schen aller Graphen aus dem Diagramm wiederherzustellen Neben der Auswahl der darzustellenden Graphen gibt es die M glichkeit die Einheiten der Achsen zu bestimmen und ein erstelltes Diagramm als Bild abzuspeichern Mithilfe der 69 Speicherung des Diagramms als Bild kann dieses in Dokumente bernommen werden Diagramme erstellen Server Diagramm abspeichem o Aktion w hlen Ende Pfad eingeben Diagramm als Bild speichern Gesamttest ausw hlen Vorhandene Diagramme l schen Gesamttest ausw hlen Einheiten der Achsen ver ndern Testfall ausw hlen Ansicht l schen Y Einheiten ausw hlen Vorhandene Graphen neu zeichnen Vorhandene Diagramme Testfall ausw hlen f l schen Graph zeichnen Testf lle zu Gesamttest anzeigen Abbildung 19 Aktivit t
176. ten dar mit dem man d weiter anpassen kann Ein guter Bereich aus dem b gew hlt werden kann ist ein Wert zwischen 0 05 und 0 2 Werte ber 0 2 lassen einen zu gro en Fehler zu b kann dabei unabh ngig von der Irrttumswahrscheinlichkeit gew hlt werden Um zu ermitteln ob die Anzahl N der Messungen mit der Irrtumswahrscheinlichkeit amp ausreichend gewesen sind oder ob weitere Durchl ufe n tig sind muss zuerst der Mittelwert M der einzelnen Messergebnisse X der Messreihe ermittelt werden Der Mittelwert wird durch die Funktion in Formel A1 1 definiert 1 Formel A1 1 Mittelwert Innerhalb von Formel A1 2 wird die Abweichung S N der einzelnen Messwerte zum Mittelwert definiert Dadurch flie t in die berpr fung ein wie stark die jeweiligen Messungen sich vom Mittelwert unterscheiden Formel Al 2 Varianz Basierend auf der Annahme der Normalverteilung kann nun mit der Wahrscheinlichkeit 1 amp gezeigt werden ob sich der reale Wert im Intervall T e 4d um den ermittelten Mittelwert befindet oder ob weitere Wiederholungen n tig sind F r diesen Zweck kann die Ungleichung in Formel A1 3 verwendet werden Dort flie t die Abweichung sowie das definierte Intervall in die Berechnung ein 2 ula E S lt N Formel Al 3 Ungleichung zur berpr fung von Messergebnissen Der Teil u amp stellt dabei das u _ Quantil der Normalverteilung dar Dies bedeutet die Ver
177. tigt behandelt Jeder Knoten kann f r die L sung einer Aufgabe alle anderen Knoten mit einbeziehen Dies f hrt jedoch zu einem erh hten Aufwand und einer h heren Komplexit t des Gesamtsystems Bei der Verwendung mobiler Ger te kommt erschwerend die Verbindungsunsicherheit hinzu was gegen dieses Modell spricht Um dem erh hten Verwaltungsaufwand zu entgehen k nnen Dienste zentralisiert werden Die ben tigten Dienste laufen bei einem zentralisierten Ansatz auf einem bestimmten Knoten der als Server f r die anderen Knoten die Clients agiert Somit kommunizieren die Clients nicht mehr untereinander um bestimmte Dienste aufzurufen sondern wenden sich an den Server Abbildung 5 verdeutlicht die zwei verschiedenen Ans tze Weitere Ans tze stellen hybride Architekturen dar bei denen z B Peer To Peer Netze hinter Servern verborgen werden F r die Verwendung mobiler Knoten innerhalb eines verteilten Systems bieten sich Client Server Modelle oder hybride Modelle an Bei reinen Peer To Peer Modellen stellen geringe 61 Vergl Bengel G nther 2004 S 4f und S 29f sowie Tanenbaum Andrew S et al 2008 S 55f S 62f und S 70f 62 Vergl Bengel G nther 2004 S 30 und Coulouris George et al 2005 S 36 23 bertragungsraten und vor bergehend nicht verbundene Knoten eine gro e Beschr nkung dar Diese Arbeit konzentriert sich daher auf Client Server Modelle Auch aus inhaltlichen Gr nden kann eine Zentralisierung gew nsc
178. u des zentralen Systems die Auswahl erleichtern bzw bestimmte Modelle unterst tzen Der Microsoft SQL Server z B bietet von sich aus eine Zuteilung der Daten zu bestimmten Ger ten an Da h ufig dasselbe Ger t vom selben Benutzer verwendet wird kann an dieser Stelle leicht eine personalisierte 88 Synchronisation erm glicht werden Damit lie e sich das Beispiel des Vertriebsmitarbeiters erweitern falls hier zu hohe Datenmengen auftreten Man kann den einzelnen Mitarbeitern die Daten zuweisen die sie ben tigen und f r die sie verantwortlich sind Somit l sst sich einfacher eine Personalisierung der Daten und somit eine Reduzierung der Datenmenge pro Ger t realisieren als wenn diese vollst ndig selbst entwickelt werden m sste Falls trotz der Modelle eine hohe Datenmenge nicht vermeidbar ist oder komplexere Modelle nicht gewollt sind stellt sich die Frage ob die Aufgabe der vollst ndigen Ortsunabh ngigkeit und die Verwendung eines Thin Clients nicht die bessere L sung ist Damit kann die Datenlast auf leistungsstarke Server ausgelagert werden Allerdings begrenzt sich der Einsatzbereichs des Clients auf Gebiete in denen eine Funkverbindung m glich sind In dieser Arbeit ist gezeigt worden wie die leistungsschwache mobile Umgebung sowie die Funktechnologien die Performance einer Anbindung an ein zentrales System beschr nkt Dabei ist davon auszugehen dass sich die Leistungsf higkeit der mobilen Computersysteme wie z B Han
179. unikation mit der Datenbank realisiert ist ServerSteuerung Datenbank TestDatenTableAdapters vergl auch die Codedokumentation auf der CD 152 Vergl f r dieses Vorgehen Booch Grady et al 2006 S 139 und S 202 sowie Oestereich Bernd 2005 S 106 und Rupp Chris et al 2007 S 169 76 erstellen Daf r verwendet die Teststeuerung die Klasse DatenbankVorbereiter aus dem Paket TestLibraryClient Test Datenbank Diese bernimmt die tats chliche Durchf hrung der beiden Anwendungsf lle Die beiden Klassen welche die Testdurchf hrung realisieren und die Klasse Datenbank Vorbereiter bernehmen die Kommunikation mit dem Server sowie dem mobilen Datenbanksystem und koppeln somit die GUI von diesen beiden Systemen ab DatenbankVorbereiter F hrt Synchronisationtest durch mit einem A Ermittelt Anwendungspfad ber die F hrt DBS Test durch mit einem A eTostteuerung 5 Abbildung 23 Modell mobile Testapplikation Um die Eingabe zu erleichtern verwendet die Teststeuerung eine Klasse zum Anzeigen der virtuellen Tastatur des Ger tes Die virtuelle Tastatur stellt ein GUI Element dar mithilfe der ber ein mobiles Ger t mit Touchscreen eine Eingabe ber das Display erm glicht wird Diese virtuelle Tastatur l sst sich lediglich ber eine C Bibliothek ansprechen Die Klasse TastaturInteraktor stellt eine Wrapper Klasse f r diese Bibliothek dar Die Erstellung von Prozessprofilen und von Testzust nde
180. us der Manipulation von Daten in der mobilen Datenbank unter zunehmender Last Dazu z hlt das Einf gen L schen und Aktualisieren von Daten Da bei solchen Operationen im Normalfall einzelne Zeilen betroffen sind sollen die Testf lle des Szenario 3 mit einzelnen Datens tzen durchgef hrt werden Tabelle 8 fasst die einzelnen Szenarien zusammen Vergleiche f r Szenario zwei und drei auch Kapitel 3 5 Da in dieser Arbeit ein Lasttest durchgef hrt werden soll werden die einzelnen Szenarien unter zunehmender Last durchgef hrt Name des Szenarios Kurzbeschreibung Szenario 1 Das Synchronisieren von Daten nderungen sowie neuen Daten Szenario 2 Abfragen von Datenmengen aus der mobilen Datenbank Szenario 3 Datenmanipulationen des Datenbestands in der mobilen Datenbank Tabelle 8 Szenarien Der n chste Schritt stellt die Definition der Arbeitslast dar Darin wird festgelegt wie die Datenmengen aufgebaut werden die f r die Synchronisation ben tigt werden sowie aus denen die Datenbasis f r die einzelnen Anfragen in Szenario zwei und drei aufgebaut werden Weiterhin wird die Erh hung der Last dargestellt Im weiteren Verlauf der Arbeit wird auf die Namen der Szenarien in Tabelle 8 verwiesen 6 5 Arbeitslast Dieses Kapitel definiert die Arbeitslast des Performance Tests f r die Synchronisation und dem mobile Datenbanksystem Die Last besteht aus Datenmengen die f r den Test des DBS in die Datenbank eingef gt wer
181. wendung eines Quantils der Normalverteilung 0 1 welches sich aus der Wahrscheinlichkeit 1 2 ergibt Falls die Ungleichung in Formel A1 3 zutrifft sind die Durchl ufe des Tests ausreichend ansonsten m ssen weitere 161 Vergl Dirlewanger Werner 2006 S 56f und S 34f 162 Vergl Dirlewanger Werner 2006 S 55ff 163 Vergl Dirlewanger Werner 2006 S 55 100 Wiederholungen durchgef hrt werden Die gr te Unsicherheit bei diesem Vorgehen ist die Annahme der Normalverteilung Die tats chliche Verteilung der Messwerte wie der realen Laufzeiten sind unbekannt daher kann der Test an dieser Stelle evtl scheitern Weitere Techniken die zus tzlich eingesetzt werden k nnen sind berpr fungen der Annahme der Verteilung von den Messwerten sowie Techniken zur Sch tzung solcher Parameter wie die Normalverteilung oder die Anzahl der Wiederholung 164 Vergl Dirlewanger Werner 2006 S 57 165 Vergl Dirlewanger Werner 2006 S 55 166 Vergl Dirlewanger Werner 2006 S 55 167 Z B zu entnehmen aus Anhang 2 Graf Ulrich et al 1998 S 458 oder Bronstein I N et al 2008 S 1143f wobei bei der letzteren Quelle die Wahrscheinlichkeit genommen werden muss die die gew nschte Toleranz gerade berschreitet vergl f r U _ y auch Graf Ulrich et al 1998 S 112 168 F r ein Beispiel f r eine Berechnung mit einem U _j Quantil vergl Hartung Joachim et al 2004 S 419f 169 V
182. wie weit die kabelbasierten Technologien die Performance der Anbindung an ein zentrales System verbessern Ein weiteres Element welches sich auf die Testf lle des Szenario 1 auswirken kann ist die Frequenzteilung zwischen vielen Benutzern z B in Ballungsgebieten Dies stellt die Grundlage f r ein weiteres zuk nftiges Szenario Beim Trend den die Kurven aufzeigen wird die Laufzeit der Synchronisation bei beiden Technologien einen lediglich f r Spezialf llen akzeptablen Bereich erreichen sobald sich die zu synchronisierenden Datenmengen im zweistelligen MB Bereich befinden Um weiterhin die Verwendbarkeit von Synchronisationen in realen Anwendungsf llen einsch tzen zu k nnen muss man somit bestimmen wie h ufig Datenmengen im MB Bereich bertragen werden Bei F llen in denen eine solche Last nur selten oder initial auftritt sind somit akzeptable Laufzeiten im Sekundenbereich der 81 Normalfall Weiterhin ist denkbar die mobile Datenbank vor Auslieferung initial zu synchronisieren sodass beim ersten Start eines Thick Clients keine langwierige Synchronisation durchgef hrt werden muss Die Verwendung asynchroner Kommunikation sowie die Ausf hrung der Synchronisation in einem Thread welcher im Hintergrund aktiv ist erh ht ebenfalls die Verwendbarkeit des Systems Dieses Vorgehen wurde auch in den Tests angewendet Trotz der Vorteile einer solchen Vorgehensweise ist der Aufwand der Synchronisation auf dem Ger t deutlich sp
183. ze m glich sind Dabei h ngt 84 es wieder von den jeweiligen Performance Anforderungen ab welche Laufzeiten hingenommen werden k nnen Innerhalb des Testfalls der Aktualisierung wird lediglich ein Datensatz ge ndert Bei einer gr eren Anzahl an zu aktualisierenden Zeilen in einer Anfrage bzw bei der Kombination mit einer Anfrage zur Datenermittlung erh ht sich entsprechend die Laufzeit Das Ergebnis des Testfalls Einf gen von Daten ist in Abbildung 30 dargestellt Dies stellt das beste Ergebnis der drei Szenarien dar Selbst bei Datenmengen ber 100 000 Datens tzen bleibt die Laufzeit f r das Einf gen eines Datensatzes unter einer Sekunde Hier zeigen sich weiterhin speziell im unteren Bereich der Kurve Abweichungen durch u ere Einfl sse wie z B Betriebssystemprozesse Test Client t Einf gen von Daten Ben tigte Zeit s 102 mH H E Ham a m 7 2 10 10 10 10 10 Getestete Datenmenge Anzahl Zeilen Abbildung 30 Ergebnis Szenario 3 Testfall Einf gen von Daten Somit stellt das Einf gen von einzelnen Datens tzen auch bei hohen Datenmengen kein Hindernis f r den Einsatz von mobilen Datenbanksystemen dar Lediglich das Verbinden der Operationen zum Einf gen von Daten mit Abfragen um z B Daten aus einer Tabelle in eine zweite Tabelle zu bernehmen oder Fremdschl ssel zu ermitteln kann die Laufzeit stark erh hen Dies ist abh
184. zeptionelles Schema Um die einzelnen Knoten unabh ngig von ihrem internen lokalen Schema der Datenbank in dieses globale Schema zu integrieren 75 Vergl Ferstl Otto K et al 2005 S 377ff und Bengel G nther 2004 S 267ff sowie Tanenbaum Andrew S et al 2008 S 603ff 76 Vergl zsu M Tamer et al 1999 S 82ff und Mutschler Bela et al 2004 S 64ff 27 k nnen sie ein lokales konzeptionelles Schema bereitstellen Die Verteilung der Daten auf die einzelnen Knoten wird durch ein Verteilungsschema auf globaler Ebene beschrieben Durch dieses Vorgehen entsteht die in Abbildung 6 dargestellte Struktur einer verteilten Datenbank Abbildung 6 Schemata einer verteilten Datenbank Die Verwendung eines lokalen konzeptionellen Schemas wird speziell dann ben tigt wenn bereits vorhandene Datenbanken ber ein globales System miteinander verbunden werden f deriertes Datenbanksystem Da die internen Schemata vom globalen konzeptionellen Schema abweichen k nnen sorgen die lokalen konzeptionellen Schemata f r eine entsprechende Umsetzung zwischen dem lokalen internen und dem globalen Schema Innerhalb einer verteilten Datenbank welche bereits von Anfang an in Hinblick auf eine Verteilung geplant wird kann auf das lokale konzeptionelle Schema verzichtet werden Statt dessen k nnen die lokalen internen Schemata vom globalen Schema abgeleitet werden homogen verteiltes Datenbanksystem Eine Aufte
185. zt eingesetzt werden da diese mit solchen Problemen nicht umgehen k nnen Mobile Thick Clients in einem Gesamtsystem die mit den Daten aus diesem System ohne Netzwerkverbindung arbeiten sollen m ssen auf Techniken zur ckgreifen die eine lokale Speicherung von Daten des Gesamtsystems Replikationsverfahren und den Abgleich von nderungen die w hrend einer getrennten Verbindung auftreten erm glichen Synchronisationsverfahren Neben solchen Verfahren muss die Gesamtarchitektur des Systems auf die Verbindungsunsicherheit der mobilen Ger te angepasst sein Weiterf hrend m ssen die verschiedenen Netzwerktechnologien und deren unterschiedliche Bandbreite beachtet werden Je nach Anwendungsfall kommen evtl verschiedene Ger te mit unterschiedlichen Netzwerktechnologien verschiedene Betriebssysteme und Programmiersprachen zum Einsatz Zus tzlich k nnen innerhalb mobiler Umgebungen unterschiedliche Protokolle zur Kommunikation ber ein Netzwerk zum Einsatz kommen Das Gesamtsystem muss mit einer solchen Heterogenit t umgehen k nnen F r die bertragung sensibler Daten muss weiterhin eine Sicherung vorgenommen werden damit lediglich Befugte Zugriff auf diese Daten erhalten Dabei k nnen unterschiedliche Techniken und Protokolle wie z B das Hyper Text Markup Protocol Secured HTTPS f r eine sichere Verbindung in das Internet verwendet werden 57 Vergl Reichwald Ralf 2002 S 139 und H pfner Hagen et al 2005
Download Pdf Manuals
Related Search
Related Contents
brake master cylinder bleeding instructions Concord Hybrid - Chubb Edwards 805 07 00_Rev1_GuiaRápido_DVD FAMA 6 com Ripping CRYL® ryJé NJ-FM10 PDF Siliprep Produtos SKF para Manutenção e Lubrificação BF6-2918 明電新エネルギーシステム 詳細説明書 [PDF形式] Copyright © All rights reserved.
Failed to retrieve file