Wdrożenie programu magazynowego na Androida w firmie z kilkudziesięcioma urządzeniami przypomina raczej wdrożenie floty niż instalację aplikacji. Aplikacja WMS jest jednym z elementów. Drugi to zarządzanie samym urządzeniem, czyli jego rejestracja i aktualizacje. Ten tekst opisuje oba z perspektywy administratora, który ma przygotować terminale do pracy na hali.

Za zarządzanie flotą odpowiada system MDM (Mobile Device Management), a w Androidzie także zestaw mechanizmów Android Enterprise. Cechy sprzętowe pojedynczego urządzenia, takie jak klasa IP czy moduł skanujący, opisuje tekst o kolektorze danych Android WMS. Bezpieczeństwo danych i tryb offline omawia osobny artykuł o bezpieczeństwie, a przenoszenie danych ze starych terminali opisano w tekście o migracji z Windows CE i Windows Mobile na Android.

Program magazynowy na Androida jako proces wdrożenia floty

Firma, która kupuje kilkadziesiąt terminali, rzadko ma czas konfigurować je pojedynczo. Ręczna instalacja oznacza logowanie do sklepu z aplikacjami i pobranie programu. Na każdym egzemplarzu trzeba też wpisać ustawienia sieci oraz adres serwera. Przy większej liczbie sztuk łatwo o pomyłkę: jedno urządzenie zostaje pominięte, inne dostaje starszą wersję aplikacji, a kolejne trafia do pracownika z niewłaściwym profilem uprawnień.

Czynność ręcznaRyzykoOdpowiednik w MDM
Instalacja aplikacji na każdym urządzeniuróżne wersje w jednej strefiezbiorcza dystrybucja do grupy
Wpisanie adresu serwera i sieci Wi-Filiterówka, urządzenie bez połączeniakonfiguracja przekazana w profilu
Nadanie ustawień bezpieczeństwaróżne ustawienia na różnych terminalachpolityki wymuszane centralnie
Wymiana aplikacji po poprawceurządzenia niezaktualizowaneaktualizacja zdalna do grupy

W praktyce oznacza to zmianę sposobu pracy: konfigurację zapisuje się raz w konsoli, a urządzenia ją pobierają. Terminal zamienny po awarii dołącza do grupy tak samo jak każdy inny, więc administrator nie musi pamiętać, jak skonfigurowano uszkodzony egzemplarz.

Troje ludzi w hali magazynowej: dwie osoby w garniturach z podkładkami do notatek i pracownik w kamizelce odblaskowej
Wdrożenie floty wymaga współpracy działu IT i administratora programu magazynowego. Ilustracja odnosi się do podziału ról opisanego na końcu artykułu.

Tryby zarządzania urządzeniem w systemie Android

Android Enterprise rozróżnia kilka trybów zarządzania, a wybór trybu wyznacza zakres kontroli administratora. Terminal należący do firmy pracuje zwykle jako urządzenie w pełni zarządzane albo dedykowane. Dokumentacja Androida opisuje urządzenia dedykowane jako przeznaczone do jednego zadania albo współdzielone przez wielu użytkowników, na przykład pracowników zmianowych.

TrybWłaściciel urządzeniaZakres kontroliUżycie w magazynie
Urządzenie w pełni zarządzanefirmacały system i wszystkie aplikacjeterminal przypisany do jednego pracownika
Urządzenie dedykowane (kiosk)firmaekran ograniczony do wskazanych aplikacjiterminal współdzielony między zmianami
Profil służbowypracownikwyłącznie kontener służbowyprywatny telefon kierownika

Reguła: terminal magazynowy jest urządzeniem firmowym, bo profil służbowy na prywatnym telefonie nie pozwala administratorowi zarządzać całym systemem.

Tryb kiosku (lock task mode) ogranicza ekran do wskazanych aplikacji i blokuje dostęp do ustawień. Operator nie zainstaluje wtedy własnej aplikacji ani nie zmieni sieci Wi-Fi, a przycisk Home nie wyprowadzi go z programu magazynowego. Tryb ten opisuje dokumentacja Androida o trybie kiosku. W magazynie sprawdza się tam, gdzie terminal ma wykonywać jedno zadanie, a ustawienia zmienia wyłącznie administrator.

Rejestracja urządzeń kodem QR i zero-touch

Rejestracja (enrollment) włącza nowe urządzenie do zarządzanej floty. Dokumentacja Androida zaleca dla urządzeń dedykowanych rejestrację kodem QR, a inne metody traktuje jako alternatywę. Administrator generuje kod w konsoli MDM, a operator skanuje go na ekranie powitalnym urządzenia po przywróceniu ustawień fabrycznych. Terminal pobiera wtedy aplikację zarządzającą oraz profil konfiguracyjny z ustawieniami sieci.

Zero-touch pozwala uniknąć nawet skanowania. Sprzedawca sprzętu przypisuje numery urządzeń do konta firmy, a terminal rozpakowany z kartonu i podłączony do sieci sam zgłasza się do konsoli. Metoda wymaga urządzeń z jej obsługą i zakupu przez partnera uczestniczącego w programie, więc nie zawsze jest dostępna dla terminali przemysłowych.

  • Kod QR - skanowany na ekranie powitalnym po resecie fabrycznym, nie wymaga wpisywania danych.
  • Zero-touch - urządzenie zgłasza się samo na podstawie numeru przypisanego do konta firmy.
  • Identyfikator dostawcy MDM - wpisywany zamiast konta na ekranie logowania, gdy kamera terminala nie odczyta kodu.
  • Narzędzie producenta terminala - własny mechanizm rejestracji, który oferują niektórzy producenci sprzętu przemysłowego.

Rejestr floty i kontrola pominiętych urządzeń

Konsola MDM prowadzi ewidencję sprzętu: numer seryjny i model, a także grupę oraz czas ostatniego połączenia. Firmy, które zestawiają ją z własnym rejestrem w bazie, mogą wykrywać urządzenia zgubione albo wyłączone. Poniższe zapytanie T-SQL jest przykładem dla takiego rejestru, a nazwy tabel i kolumn są przykładowe.

-- urządzenia aktywne, które nie zgłosiły się do serwera od 7 dni
SELECT d.NumerSeryjny,
       d.Model,
       d.Grupa,
       d.OstatniaLacznosc
FROM dbo.Urzadzenie AS d
WHERE d.Aktywne = 1
  AND d.OstatniaLacznosc < DATEADD(DAY, -7, SYSUTCDATETIME())
ORDER BY d.OstatniaLacznosc;

Próg siedmiu dni jest założeniem przykładowym i trzeba go dopasować do rytmu pracy magazynu. W obiekcie z pracą sezonową terminal odłożony na miesiąc do szafy nie jest awarią, więc w takim rejestrze warto oznaczać urządzenia wycofane czasowo.

Zbiorcza instalacja aplikacji i konfiguracja zarządzana

Aplikację publikuje się w konsoli MDM i przypisuje do grupy urządzeń. Każdy terminal pobiera ją przy najbliższym połączeniu z siecią, bez potwierdzania instalacji przez pracownika. Zwykle służy do tego zarządzany sklep Google Play z prywatną aplikacją firmową, a niektóre konsole potrafią też rozdzielać pakiet APK z własnego serwera. Zbiorcza dystrybucja eliminuje rozjazd wersji, który utrudnia analizę zgłoszeń.

Ustawienia aplikacji, na przykład adres serwera, przekazuje się jako konfigurację zarządzaną (managed configuration). Konsola wysyła zestaw par klucz-wartość, a aplikacja, która ten mechanizm wspiera, odczytuje je przy starcie i po każdej zmianie. Opisuje go dokumentacja Androida o konfiguracjach zarządzanych. Dzięki niemu zmiana adresu serwera nie wymaga wizyty przy żadnym terminalu.

Przed publikacją nowej wersji dla całej floty warto zachować poprzedni pakiet. Android nie pozwala nadpisać zainstalowanej aplikacji pakietem o niższym numerze wersji (versionCode) bez odinstalowania, więc cofnięcie zmiany polega zwykle na publikacji poprawionego pakietu o numerze wyższym. Ten sam mechanizm przydaje się przy wdrożeniu etapowym: nową wersję dostaje najpierw grupa pilotażowa, a pozostałe grupy zostają na starej.

Reguła: numer wersji aplikacji rośnie zawsze, także przy wycofaniu błędnej zmiany.

Profil sieci Wi-Fi na urządzeniu

Konsola MDM może przekazać na urządzenie konfigurację sieci Wi-Fi, także z certyfikatem klienta dla sieci WPA2-Enterprise. Operator nie wpisuje wtedy hasła na małej klawiaturze, a zmiana hasła sieciowego lub certyfikatu odbywa się centralnie. Ma to znaczenie w hali z wieloma punktami dostępowymi, gdzie każdy terminal musi łączyć się z tą samą siecią i płynnie przechodzić między punktami. Sposób zabezpieczenia transmisji opisuje tekst o terminalu radiowym w magazynie - łączność Wi-Fi i ochrona transmisji.

Profile użytkowników i uprawnienia

Po instalacji aplikacji administrator przypisuje profil: magazyn i strefę, w której urządzenie pracuje, oraz operacje dozwolone dla zalogowanej osoby. Profil można związać z pracownikiem, ze stanowiskiem albo ze zmianą, zależnie od organizacji pracy. Na terminalu współdzielonym uprawnienia powinny wynikać z konta pracownika, a nie z urządzenia, żeby po zmianie zmiennik nie dziedziczył uprawnień poprzednika.

Profile prowadzi się w tym samym miejscu co pozostałe parametry programu, dzięki czemu konfiguracja programu magazynowego pozostaje spójna dla stacji roboczej i urządzenia z Androidem. Zakres obowiązków osoby, która to robi, opisuje tekst o administratorze systemu WMS.

Mężczyzna w kurtce roboczej z odblaskami patrzy na tablet z ekranem aplikacji w alejce magazynowej
Operator pracuje na urządzeniu z profilem przypisanym w panelu administracyjnym. Ilustracja odnosi się do kroku konfiguracji profili.

Etapy wdrożenia z pilotażem

Niezależnie od wielkości floty wdrożenie warto rozłożyć na fale. Pilotaż na kilku urządzeniach z różnych stref, na przykład 3-5 sztukach, pozwala wychwycić błędny profil albo nieprawidłowe uprawnienia, zanim dotrą do wszystkich pracowników. Ogólny przebieg wdrożenia systemu, od analizy do inwentaryzacji startowej, opisuje tekst o wdrożeniu systemu WMS.

  • Przygotowanie konsoli - grupy odpowiadające strefom magazynu oraz polityki bezpieczeństwa z przypisaną aplikacją.
  • Pilotaż - kilka urządzeń pracuje przez pełne zmiany w realnych warunkach, a administrator zbiera uwagi.
  • Fale wdrożenia - kolejne strefy lub zmiany dostają skonfigurowane urządzenia, po jednej grupie naraz.
  • Włączenie aktualizacji - mechanizm zdalnych aktualizacji zostaje uruchomiony na stałe dla całej floty.
Kryterium zakończenia pilotażuSposób sprawdzenia
Wszystkie urządzenia pilotażowe zgłaszają się do konsolilista urządzeń w konsoli zestawiona z listą numerów seryjnych
Skan lokalizacji działa w każdej strefietest skanu w alejkach z najsłabszym zasięgiem Wi-Fi
Profile dają dokładnie potrzebne uprawnieniapróba wykonania operacji spoza profilu kończy się odmową
Aktualizacja aplikacji dociera do grupypublikacja wersji testowej i odczyt jej numeru na urządzeniach
Czworo pracowników w kamizelkach odblaskowych rozmawia przy wózku widłowym w alejce regałów, jedna osoba trzyma podkładkę z dokumentami
Wdrożenie strefa po strefie pozwala reagować na zgłoszenia, zanim konfiguracja obejmie kolejny obszar. Ilustracja dotyczy etapu fal wdrożenia.

Reguła: pierwsza fala obejmuje strefę, w której błąd jest najtańszy do cofnięcia, a nie strefę o największym ruchu.

Aktualizacje aplikacji i systemu bez wizyty przy urządzeniu

Aktualizacja OTA (over-the-air) przebiega jak pierwsza instalacja. Nowa wersja trafia do konsoli MDM, administrator wskazuje grupę, a terminale pobierają ją automatycznie, najlepiej gdy leżą na ładowarce i mają Wi-Fi. Dzięki temu poprawka nie przerywa pracy w środku zmiany, a flota rozproszona po kilku magazynach nie wymaga wysyłania informatyka do każdej lokalizacji.

Osobną kwestią są aktualizacje samego systemu Android. Dokumentacja opisuje politykę aktualizacji systemu, którą MDM ustawia na urządzeniu, w kilku wariantach zestawionych w tabeli poniżej. Można też zamrozić wersję systemu na czas szczytu, na przykład przed sezonem wzmożonych wysyłek. Szczegóły podaje dokumentacja aktualizacji systemu dla urządzeń zarządzanych.

PolitykaZachowanie urządzeniaZastosowanie w magazynie
Automatycznasystem instaluje aktualizację, gdy tylko jest dostępnamagazyn z mniejszym obłożeniem pracą
Okno serwisoweinstalacja tylko w zdefiniowanych godzinach dobypraca zmianowa z przerwą nocną
Odroczenieinstalacja przesunięta, maksymalnie o 30 dniczas na test nowej wersji z aplikacją WMS
Zamrożeniewersja systemu bez zmian w wyznaczonym okresieszczyt sezonu, gdy stabilność liczy się bardziej niż poprawki

Typowe problemy podczas wdrożenia i sposoby ich uniknięcia

Kilka problemów powtarza się niezależnie od branży i wielkości floty. Poniższe zestawienie porządkuje najczęstsze z nich razem ze sposobem ograniczenia ryzyka.

ProblemJak temu zapobiec
Urządzenie pominięte przy rejestracjiLista numerów seryjnych porównywana z listą urządzeń zarejestrowanych w konsoli przed uruchomieniem produkcyjnym.
Rozjazd wersji aplikacji między terminalamiWyłączenie ręcznej instalacji i wyłącznie zbiorcza dystrybucja z konsoli MDM.
Błędny profil przypisany do stanowiskaPilotaż na wybranej grupie urządzeń przed uruchomieniem konfiguracji na całej flocie.
Przerwana aktualizacja w trakcie zmianyOkno aktualizacji poza godzinami szczytu zamówień i wymóg podłączenia urządzenia do zasilania.

Po zakończeniu rejestracji operator powinien zobaczyć w aplikacji te same lokalizacje i stany magazynowe co na stanowisku komputerowym. To najprostszy test poprawnej konfiguracji, bo błędny adres serwera czy profil ujawnia się natychmiast.

Role i dokumentacja konfiguracji

Za wdrożenie i bieżącą administrację floty odpowiada zwykle ta sama osoba lub zespół, który prowadzi administrację programu magazynowego na stacjach stacjonarnych. Zakres obejmuje profile użytkowników i nadzór nad rejestracją nowych terminali. Do zadań należy też planowanie aktualizacji oraz obsługa zgłoszeń o pojedynczych urządzeniach. Podobny podział opisuje strona SoftwareStudio o obowiązkach administratora systemu WMS.

Przy większych flotach warto rozdzielić role. Administrator programu magazynowego odpowiada za profile i uprawnienia, a osoba z działu IT nadzoruje konsolę MDM i warstwę sieciową, w tym sieć Wi-Fi opisaną w tekście o terminalu radiowym w magazynie. W mniejszej firmie obie funkcje pełni często jedna osoba.

Reguła: konfigurację floty zapisuje się w dokumencie, do którego ma dostęp więcej niż jedna osoba.

Od pierwszego dnia trzeba prowadzić dokumentację konfiguracji: listę grup urządzeń oraz przypisanych profili wraz z harmonogramem aktualizacji. Pozwala ona przejąć administrację bez utraty ciągłości pracy floty. Wybór sprzętu i model jego zakupu omawia artykuł aplikacja magazynowa Android - dobór urządzeń i zarządzanie flotą, a zasady pracy samej aplikacji na terminalu tekst o aplikacji magazynowej na Androidzie.

Nowy pracownik, który dostaje urządzenie, potrzebuje krótkiego wprowadzenia: gdzie jest ikona aplikacji, jak wygląda logowanie do przypisanego profilu i komu zgłosić usterkę. Taki instruktaż prowadzi administrator albo lider zmiany. Skraca on czas oswajania się z terminalem i ogranicza liczbę zgłoszeń w pierwszych dniach po uruchomieniu floty. Ogólne omówienie mobilnej wersji systemu znajduje się w tekście Android WMS, a przegląd urządzeń na stronie SoftwareStudio o terminalach radiowych.