Przejdź do treści

Synchronizacja kolektora

Ta strona opisuje, jak technicznie wygląda wymiana danych między serwerem MobiSkan WMS a terminalami z aplikacją MobiSkan Kolektor.

Dwa porty

Serwer nasłuchuje na dwóch portach:

Port Przeznaczenie
3000 panel i API, połączenie nieszyfrowane w sieci lokalnej
3443 połączenie szyfrowane dla kolektorów

Aplikacja kolektora odrzuca adresy nieszyfrowane. Certyfikat serwera jest przypinany po odcisku przekazanym w kodzie QR parowania, więc urządzenie rozpoznaje dokładnie ten serwer, z którym zostało sparowane, i nie zaakceptuje innego.

Parowanie

Panel  ->  wygenerowanie tokenu urządzenia (zajęcie miejsca w limicie licencji)
       ->  kod QR: adres serwera + token + odcisk certyfikatu
Terminal  ->  skan kodu QR
          ->  sprawdzenie połączenia z serwerem
          ->  pobranie katalogu i konfiguracji
          ->  logowanie operatora

Adres w kodzie QR jest wyliczany przez serwer na podstawie jego rzeczywistego adresu w sieci lokalnej i faktycznego portu nasłuchu, a nie na podstawie adresu, pod którym administrator akurat otworzył panel.

Dwie tożsamości, dwa zakresy

Tożsamość Co odblokowuje
Token urządzenia odczyt danych: katalog, słowniki, listy dokumentów, konfiguracja. Działa przed zalogowaniem operatora
Sesja operatora terminala zapis danych: tworzenie dokumentów, dodawanie pozycji, zamykanie dokumentów

Podział jest celowy: urządzenie może pobrać dane potrzebne do pracy offline zanim ktokolwiek się na nim zaloguje, ale niczego nie zapisze bez konta operatora.

Przy każdym żądaniu serwer sprawdza na nowo, czy konto operatora jest wciąż aktywne i czy token urządzenia nadal obowiązuje. Odebranie dostępu działa więc natychmiast, bez czekania na wygaśnięcie sesji.

Co urządzenie pobiera

  • katalog towarów,
  • partie i numery seryjne,
  • mapowania magazynów,
  • ustawienia aplikacji i czytnika oraz ustawienia platformy,
  • listy i pozycje dokumentów siedmiu rodzajów: kompletacji, gromadzenia danych, przyjęć zewnętrznych, wydań zewnętrznych, rozchodów wewnętrznych, zwrotów wewnętrznych i przesunięć magazynowych,
  • dokumenty Bazy towarów.

Urządzenie wysyła też na serwer potwierdzenie zastosowania ustawień oraz telemetrię poziomu baterii, widoczną potem na Pulpicie.

Co urządzenie zapisuje

Dla każdego z siedmiu rodzajów dokumentów dostępne są trzy operacje: utworzenie dokumentu, dodanie pozycji i zamknięcie dokumentu. Poza tym urządzenie może utworzyć pozycję katalogu wraz ze zdjęciem.

Aktualizacja istniejącej pozycji katalogu z poziomu urządzenia nie istnieje i jest to decyzja świadoma: katalog płynie w jedną stronę, z serwera na urządzenie.

Pobieranie przyrostowe katalogu

Katalog towarów jest jedynym zbiorem pobieranym przyrostowo:

  • pobranie może być ograniczone do zmian od wskazanego momentu oraz do pozycji o danym pochodzeniu,
  • wyniki są stronicowane, a rozmiar strony jest przycinany przez serwer do bezpiecznego zakresu,
  • kolejne strony jednego pobrania widzą ten sam moment startu, więc pozycje zmienione w trakcie stronicowania nie gubią się ani nie duplikują.

Pozostałe zbiory (dokumenty, partie, numery seryjne, mapowania magazynów, ustawienia) są pobierane jako pełne listy.

Nazwy zamiast identyfikatorów

Wszystkie odwołania przychodzące z urządzenia i z konektora są przekazywane po nazwie czytelnej dla człowieka, nigdy po wewnętrznym identyfikatorze serwera: nazwa magazynu, nazwa kontrahenta, nazwa przewoźnika, symbol waluty, skrót jednostki, kod kreskowy.

Zasady rozwiązywania nazw różnią się celowo:

  • magazyn dokumentu jest zakładany automatycznie, jeśli nie istnieje,
  • magazyn, waluta, jednostka i stawka VAT nowej pozycji katalogu muszą już istnieć - nieznana nazwa powoduje odrzucenie żądania.

Idempotencja i konflikty

Ochrona przed dublowaniem danych działa na dwóch niezależnych poziomach:

  1. Identyfikator polecenia przekazany przez urządzenie - powtórzenie żądania z tym samym identyfikatorem zwraca wcześniejszy wynik.
  2. Klucz naturalny dokumentu i pozycji katalogu, złożony z pochodzenia i identyfikatora w systemie źródłowym - dokument już wysłany nie tworzy duplikatu.

Ograniczenie: mechanizm klucza naturalnego obejmuje sam dokument, nie jego pojedyncze linie.

Zamknięcie dokumentu może przekazać oczekiwaną wersję. Niezgodność wersji albo dokument już zamknięty powodują odrzucenie z błędem konfliktu wersji.

Wersjonowanie ustawień

Zapis konfiguracji w panelu nie wypycha jej jeszcze na urządzenia. Robi to przycisk "Wyślij ustawienia", który podbija numer wersji ustawień. Urządzenia pobierają nową wersję i potwierdzają jej zastosowanie - panel pokazuje wtedy przy tokenie stan Aktualne albo Oczekuje.

Ustawienia są wspólne dla firmy. Osobno dla urządzenia zapamiętywana jest wyłącznie informacja, którą wersję już zastosowało.

Praca offline

Urządzenie pracuje na pobranych danych także bez łączności. Ustawienia oczekujące na zastosowanie zostaną wczytane automatycznie przy najbliższym logowaniu operatora albo powrocie do zasięgu sieci.

Diagnostyka problemów z parowaniem

Najczęstsze przyczyny komunikatu o nieprawidłowym kodzie parowania:

Przyczyna Co sprawdzić
Zły adres lub port w kodzie czy serwer jest osiągalny z sieci, w której pracuje terminal
Zapora sieciowa czy porty 3000 i 3443 są dopuszczone dla ruchu w sieci lokalnej
Token już unieważniony czy token wciąż widnieje na liście w panelu
Wyczerpany limit licencji czy jest wolne miejsce w limicie urządzeń

Powiązane strony