[#176] Sync Manager: Trennung von Laden und Verarbeiten der Daten

Ausgangslage

Aktuell sind Laden und Verarbeiten der Daten ein Vorgang. Wenn neue Daten verfügbar sind, werden diese geladen und unmittelbar verarbeitet. In dieser Zeit kann der Benutzer keine Aktion durchführen, da der Vorgang abgeschlossen werden muss (Abb. 1).

Des Weiteren kann es vorkommen, dass zwei Prozesse ein Datenobjekt gemeinsam benutzen und somit blockieren.

Abbildung 1: Screenshot Laden und Verarbeiten von Daten


Anforderungen

  • Beschleunigung des Lade- und Verarbeitungsvorgangs
  • Parallele Ausführung möglich machen

  • Performance der App soll nicht verschlechtert werden


Lösungsansatz

  • Laden und Verarbeiten der Daten trennen

  • Laden der Daten im Hintergrund

  • Verarbeiten der Daten nach Benutzeraktion im Vordergrund


Umsetzung

Der "Sync Manager" wurde dazu komplett neu geschrieben.

Folgende Fälle wurden beachtet:

  1. Bei der Installation wird ein komplettes Laden der Daten erfolgen(ohne User)

  2. Beim Login werden weiteren ggf. fehlenden Daten geladen

  3. Sprache: Nachladen aller Daten der Sprache

  4. In den Einstellungen kann der User

  5. Alle Daten neu Laden". Dies ist ein Initiales Laden (inkl User)

  6. "Daten aktualisieren". Dies ist ein Laden der Änderungen (Abb. 2)

  7. Synchronisation im Hintergrund (alle 2 Stunden): Laden der Änderungen

Abbildung 2: Screenshot Aktualisierung der Daten

Neuerungen sind es bei 4.b) und 5.):

  • Hier prüft die App im Hintergrund die Änderungen (wie bisher) und lädt die Daten unmittelbar vom PIA (neu). Es werden 5 Requests gleichzeitig gestartet. Der User erhält danach eine Nachricht, welche Daten neu zur Verfügung stehen und kann das Mapping (also das "Einpflegen" in die App) starten.

  • Das Mapping passiert dann im Vordergrund.

Abbildung 3: Screenshot Fetching und Mapping in neuer Ansicht


Details zum Ticket

Erstellt am:05. September 2018
Veröffentlicht am:02. April 2019
Festgestellt in Version:6.4.734
Behoben in Version:6.4.754
Bereiche:SalesApp
Umgesetzt bei:Grimme, Lemken, Strautmann, Amazone, Krone

Zum Handbuch