Upload
verein-fm-konferenz
View
1.015
Download
3
Embed Size (px)
DESCRIPTION
Ein Vortrag im Rahmen der FileMaker Konferenz 2012 in Salzburg, Österreich. Demo-Datei Download unter: http://www.filemaker-konferenz.com/2012/downloads.php
Citation preview
Synchronisation von redundanten Datenbeständen
Longin Ziegler
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Longin ZieglerSynchronisation von redundanten Datenbeständen
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Longin ZieglerSynchronisation von redundanten Datenbeständen
Themenübersicht
• Mobile Anwendungen
• Verteilte Datenbanksysteme
• Synchronisation
• Lösungsansätze
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Longin ZieglerSynchronisation von redundanten Datenbeständen
Mobile Anwendungen
• Erwartungen der Anwender
• Der App-Stil
• Mobiles Datenbank Konzept
• Herausforderungen
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Longin ZieglerSynchronisation von redundanten Datenbeständen
Erwartungen der Anwender
• Funktioniert immer und überall
• Einfache und schnelle Bedienung
• Wenig Texteingaben
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Longin ZieglerSynchronisation von redundanten Datenbeständen
Der App-Stil
• Schlank und auf einzelne Aufgaben fokussiert
• Funktioniert offline
• Benutzeroberfläche mit Touch-Eingabe
• Weniger ist mehr
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Longin ZieglerSynchronisation von redundanten Datenbeständen
Mobiles Datenbank Konzept
Auf dem Server:
• Zentrale Haupt-Datenbank
• Protokoll der Synchronisation
• Bereitstellung der mobile Anwendung
Auf dem mobilen Gerät:
• Mobile Datenbank
• Alleinstehende App für die Synchronisation
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Longin ZieglerSynchronisation von redundanten Datenbeständen
Herausforderungen
• Daten zu synchronisieren ist schwierig
• Erwartungshaltung an mobile Anwendungen ist hoch
• Verteilte Datenbanken ticken anders als gewohnt
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Longin ZieglerSynchronisation von redundanten Datenbeständen
Verteilte Datenbanksysteme
• Was macht den Unterschied ?
• Vergleich von Replikation und App-Stil
• Primär Schlüssel
• Logik des Datenabgleichs
• Anwendung aktualisieren
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Longin ZieglerSynchronisation von redundanten Datenbeständen
Was macht den Unterschied ?
• Daten sind nie auf gleichem Stand
• Daten werden an mehreren Orten gespeichert und bearbeitet
• Gleichzeitige Änderung durch mehrere Anwender
• Unterschiedliche Anwendungen und Geräte
Nicht dasselbe wie:
• iCloud gleicht nur die Daten einer Einzelperson ab
• Dropbox gleicht nur Dateien ab, aber keine Logik
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Longin ZieglerSynchronisation von redundanten Datenbeständen
Replikation und App-Stil
Replikation
• Server App und Mobile App sind gleich
• Synchronisation oft
• Synchronisiert alle Daten
• Normalerweise immer mit Server verbunden
• Kritische Logik auf beiden Seiten enthalten
App-Stil
• Server App und Mobile App sind unterschiedlich
• Synchronisation wann es geht
• Synchronisiert nur was benötigt wird
• Normalerweise nicht mit Server verbunden
• Kritische Logik wird auf dem Server erledigt
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Longin ZieglerSynchronisation von redundanten Datenbeständen
Primär Schlüssel
• Fortlaufende Nummern sind ungeeignet, da doppelte Werte auftreten können
• UUID - Universaly Unique Identifier
• Praktisch eindeutig
• Hole ( UUID )
• 36925B81-D5A7-42A4-9DB4-4A26C8613DBC
DEMO
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Longin ZieglerSynchronisation von redundanten Datenbeständen
Logik des Datenabgleichs
Fragen zum Datenabgleich
• Datenlogik erfordert mehrere Datensätze für ein Objekt
• Abgleich auf Feldebene
• Letzte Synchronisation gewinnt
• Zuletzt bearbeitete Daten gewinnen (Zeitstempel)
• Manuell bestimmbar
Konflikte vermindern
• Wenn möglich nur in eine Richtung abgleichen
• Nur absolut notwendige Datensätze abgleichen
• Key-Value Datenmodell anwenden (pro Feld ein Datensatz)
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Longin ZieglerSynchronisation von redundanten Datenbeständen
Anwendung aktualisieren
• Funktioniert der Datenabgleich auch nach einem Update ?
• Werden alle Anwender die mobile Anwendung gleichzeitig aktualisieren ?
• FileMaker Go Datenbank automatisch aktualisieren
DEMO
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Longin ZieglerSynchronisation von redundanten Datenbeständen
Synchronisation
• Verbindung zum Server
• Daten-Transaktion
• Multitasking
• Fehler abfangen
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Longin ZieglerSynchronisation von redundanten Datenbeständen
Datei synchronisieren
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Longin ZieglerSynchronisation von redundanten Datenbeständen
Verbindung zum Server
• Unzuverlässige Verbindung zum Server führt zu Fehlern
• 3G funktoniert NIE
• Abgebrochene Verbindung zum Server wird nicht erneut aufgebaut
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Longin ZieglerSynchronisation von redundanten Datenbeständen
Daten-Transaktion
Vom Server zu FM Go:
• Daten in einer Variablen zusammenfassen
• Daten aus Variable auslesen und speichern
Von FM Go auf Server:
• Daten in einer Variablen zusammenfassen
• In einem Schritt Daten in temporäres Feld schreiben
• Prüfen ob Daten geschrieben werden konnten
• Server liest Daten aus temporärem Feld und speichert diese in den entsprechenden Tabellen und Feldern.
• Rückmeldung zu temporärem Speicherort, dass Daten ausgelesen wurden.
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Longin ZieglerSynchronisation von redundanten Datenbeständen
Multitasking
Wenn FileMaker Go in den Hintergrund gerät:
• Scripts werden angehalten
• Der Status wird zwischengespeichert
• Die Verbindung zum Server wird abgebrochen(nach einer gewissen Zeit)
Wenn FileMaker Go wieder in den Vordergrund kommt:
• Scripts werden fortgesetzt
‣ wenn die Verbindung zum Server nicht unterbrochen wurde
ODER
‣ FM Go bestimmt, dass es sicher ist, das Script fortzusetzen
• In allen anderen Fällen wird das Script beendet !
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Longin ZieglerSynchronisation von redundanten Datenbeständen
Keine Garantie
• Es gibt keine Sicherheit, dass ein Script komplett ausgeführt wird.
• Das ist KEIN BUG
• Unbedingt Fehler einplanen
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Longin ZieglerSynchronisation von redundanten Datenbeständen
Fehler abfangen
• Durch andere Benutzer gesperrte Datensätze
• Feldwertüberprüfung
• Zugriffsberechtigung auf Datensätze und Felder
• Unerlaubte Sonderzeichen oder Formate bei SQL Datenbanken
• Abgebrochene Serververbindung
• Geändertes Datenmodell
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Longin ZieglerSynchronisation von redundanten Datenbeständen
Lösungsansätze
FileMaker intern:
• Import von Daten
• Feldwert setzen[]
Verschiedene Methoden:
• Import / Export mit Dropbox
Lösungen von Drittanbietern:
• GoZync von SeedCode & geist interactive
• MirrorSync von 360works
• SyncDek von WorldSync
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Longin ZieglerSynchronisation von redundanten Datenbeständen
Import von Daten
Daten vom Server auf mobiles Gerät importieren
Vorteile:
• Relativ einfach zu implementieren
Nachteile:
• Schwierig um Fehlern vorzubeugen
• Keine sicheren Daten-Transaktionen
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Longin ZieglerSynchronisation von redundanten Datenbeständen
Import von Daten
DEMO
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Longin ZieglerSynchronisation von redundanten Datenbeständen
Feldwert setzen[]
FileMaker Scriptschritt
Vorteile:
• Relativ einfach zu implementieren
• Möglichkeiten Fehler abzufangen
• Kann Daten-Transaktionen sicher durchführen
Nachteile:
• Viele Scriptschritte notwendig
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Longin ZieglerSynchronisation von redundanten Datenbeständen
Feldwert setzen[]
DEMO
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Longin ZieglerSynchronisation von redundanten Datenbeständen
Feldwert setzen[] Tipps
1. Schritt: Daten temporär sichern
• Daten vom Server abholen (pull) oder auf Server schreiben (push)
• in einzelnen Feldern und Tabellen
• oder mehrere Datensätze in einem Feld [i.d.R. schneller]
• Daten-Transaktion prüfen
2. Schritt: Daten in reale Tabellen schreiben
• Fehler abfangen
• Fehler- und Erfolgsprotokoll anlegen
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Longin ZieglerSynchronisation von redundanten Datenbeständen
Vielen Dank unseren Sponsoren
Danke für das Bewerten dieses Vortrages