Przejdź do treści

Praca offline i synchronizacja

Ta strona opisuje, jak aplikacja MobiSkan Kolektor działa bez połączenia z siecią i w jaki sposób dogania zaległości, gdy połączenie wraca.

Zasada działania

Aplikacja jest zaprojektowana jako offline-first. Wszystkie dane operacyjne znajdują się w lokalnej bazie na urządzeniu, a każda operacja operatora - utworzenie dokumentu, dodanie pozycji, zamknięcie dokumentu - jest najpierw zapisywana lokalnie i od razu widoczna.

Synchronizacja z platformą MobiSkan WMS albo z konektorem ERP jest osobnym, tłem działającym procesem. Nigdy nie blokuje operatora i nigdy nie jest warunkiem zapisania danych.

Praktyczne konsekwencje:

  • brak zasięgu Wi-Fi w części hali nie przerywa pracy,
  • wyłączenie serwera na czas prac serwisowych nie unieruchamia terminali,
  • dane wprowadzone bez łączności nie giną - czekają na wysłanie.

Urządzenie niesparowane z niczym pracuje w całości lokalnie i nie ma czego synchronizować. Wymiana danych odbywa się wtedy przez pliki CSV i pocztę.

Bezpieczeństwo danych na urządzeniu

Lokalna baza danych jest w całości zaszyfrowana. Klucz szyfrujący jest generowany przy pierwszym uruchomieniu i przechowywany w zabezpieczonym magazynie systemu Android - nie jest wpisany w kod aplikacji.

Systemowa kopia zapasowa Androida celowo pomija plik bazy oraz przechowywane sekrety (klucz bazy, dane parowania, plik licencji). Kopie należy wykonywać wbudowaną funkcją kopii zapasowej aplikacji, opisaną w Ustawieniach administracyjnych.

Jak działa wysyłanie zmian

Każda zmiana wymagająca wysłania trafia do lokalnej kolejki. Aplikacja opróżnia tę kolejkę:

  • natychmiast po zapisie, jeżeli połączenie jest dostępne,
  • cyklicznie, gdy aplikacja jest na pierwszym planie,
  • natychmiast po powrocie łączności,
  • natychmiast po powrocie aplikacji na pierwszy plan.

Gdy urządzenie jest bez sieci albo aplikacja została odłożona w tło, cykliczne próby są wstrzymywane. Terminal w kieszeni albo na ładowarce nie zużywa baterii na nieudane próby połączenia.

Ponawianie i limity

Nieudana próba wysyłki nie oznacza utraty danych. Aplikacja ponawia ją:

  • maksymalnie 8 razy,
  • z rosnącym odstępem między próbami: od 5 sekund do 15 minut.

Po wyczerpaniu prób wpis trafia do sekcji nieudanych i czeka na ręczne ponowienie.

Dwie sytuacje pomijają ponawianie i od razu trafiają do nieudanych, bo kolejna próba nie ma szans się powieść:

  • odrzucenie autoryzacji urządzenia - parowanie zostało prawdopodobnie cofnięte po stronie serwera, więc aplikacja czyści lokalne parowanie i sesję,
  • konflikt stanu - serwer odrzucił żądanie, bo stan po jego stronie już się rozszedł (na przykład dokument został tam wcześniej zamknięty).

Każda próba wysyłki niesie ten sam identyfikator polecenia, także przy ponowieniu. Dzięki temu serwer rozpoznaje powtórzone żądanie jako to samo polecenie, a nie jako nowe. Ponowienie nie duplikuje dokumentów ani pozycji.

Ekran Stan synchronizacji

Ustawienia i konfiguracja, sekcja Administracja, pozycja Stan synchronizacji.

Ekran pokazuje pełną historię wymiany danych w trzech sekcjach:

Sekcja Zawartość
Oczekuje zmiany czekające na wysłanie
Nieudane zmiany, których nie udało się wysłać po wyczerpaniu prób, wraz z przyczyną
Zsynchronizowane zmiany wysłane pomyślnie, z datą wysyłki

Historia wysłanych zmian jest przechowywana przez 30 dni.

Dostępne akcje:

  • Synchronizuj teraz - ponawia natychmiast wszystkie nieudane wpisy. To jedyny sposób odzyskania wpisu, który wyczerpał automatyczne próby,
  • Wyczyść - ukrywa nieudane wpisy, które nie mają szans się powieść. Wpis nie jest kasowany, więc odznaka statusu przy dokumencie nadal pokazuje jego ostatni wynik,
  • Pokaż więcej - doładowuje kolejne wpisy sekcji zsynchronizowanych.

Na urządzeniu sparowanym z konektorem ERP pojawia się dodatkowa sekcja zdarzeń przychodzących, z wynikami ostatnich synchronizacji kontrahentów i katalogu.

Wskaźnik synchronizacji

W stopce ekranów pojawia się wskaźnik stanu synchronizacji - ikona z kolorową kropką. Jest widoczny wyłącznie wtedy, gdy urządzenie jest sparowane z platformą WMS albo z konektorem ERP.

Ekrany szczegółów dokumentu pokazują dodatkowo odznakę stanu synchronizacji tego konkretnego dokumentu: synchronizacja w toku, zsynchronizowano albo błąd synchronizacji wraz z datą.

Co jest synchronizowane

Z platformą MobiSkan WMS

Kierunek Dane
Z serwera na terminal katalog towarów, ustawienia kolektora, dokumenty siedmiu modułów, dane logowania operatorów
Z terminala na serwer dokumenty i pozycje utworzone lokalnie, zamknięcia dokumentów, zmiany katalogu

Katalog towarów jest pobierany przyrostowo - aplikacja pobiera wyłącznie to, co zmieniło się od ostatniej synchronizacji.

Przy zamykaniu dokumentu aplikacja przekazuje serwerowi numer wersji dokumentu. Jeżeli w międzyczasie ktoś inny zmienił ten dokument na serwerze, żądanie jest odrzucane jako konflikt zamiast nadpisywać cudzą zmianę.

Po sparowaniu, a przed pierwszym zalogowaniem operatora, urządzenie przechodzi obowiązkową pełną synchronizację.

Z konektorem ERP

Dane Ręcznie Automatycznie
Katalog (towary, ceny) ekran Synchronizacja magazynów co minutę, gdy włączono automatyczną synchronizację i istnieje przynajmniej jedno mapowanie magazynu
Stany magazynowe ekran Synchronizacja magazynów jak wyżej
Kontrahenci ekran Synchronizacja magazynów nigdy, wyłącznie ręcznie
Wynik kompletacji - wysyłany do systemu ERP przy zamknięciu dokumentu

Konektor działa w sieci lokalnej klienta, więc integracja z systemem ERP nie wymaga dostępu do internetu.

Tryb "Pracuj offline" zatrzymuje synchronizację, zachowując parowanie i ostatnio pobraną kartotekę do lokalnych odczytów.

Bezpieczeństwo połączenia

Zarówno platforma MobiSkan WMS, jak i konektor ERP komunikują się z terminalem wyłącznie połączeniem szyfrowanym.

Ponieważ serwer i konektor pracują zwykle w sieci lokalnej klienta, gdzie nie ma zewnętrznego urzędu certyfikacji, aplikacja stosuje przypięcie certyfikatu. Przy pierwszym połączeniu (parowaniu) zapamiętuje odcisk certyfikatu drugiej strony, a przy każdym kolejnym sprawdza, czy się zgadza. Niezgodność odcisku kończy się błędem połączenia, który może oznaczać podmianę urządzenia w sieci.

Dane uwierzytelniające parowania oraz sesję operatora aplikacja przechowuje w zabezpieczonym magazynie systemu Android.

Ograniczenia

  • Urządzenie może być w danym momencie sparowane najwyżej z jednym systemem: albo z platformą WMS, albo z jednym konektorem ERP.
  • Wpis, który wyczerpał automatyczne próby, wymaga ręcznego ponowienia z ekranu Stan synchronizacji.
  • Wysyłka wyników kompletacji do systemu ERP nie ma własnego harmonogramu w tle. Próba jest podejmowana przy zamknięciu dokumentu i ponawiana przy wejściu na ekran integracji z systemem ERP.
  • Wysyłka dokumentów e-mailem wymaga połączenia z internetem, niezależnie od stanu parowania.

Powiązane strony