Zarządzanie magazynem program - od czego zacząć wybór

Zarządzanie magazynem program wybiera się od procesu, a nie od listy funkcji. Na rynku działają rozwiązania międzynarodowe, na przykład od firm Infor, Oracle czy Manhattan Associates, oraz produkty lokalne, w tym Studio WMS.net. Ich foldery zawierają podobne hasła, a różnice widać dopiero po zestawieniu z konkretnymi wymaganiami magazynu.

Punktem wyjścia jest krótka inwentura własnych danych: ile linii zamówień przechodzi przez magazyn w dniu szczytu i ilu użytkowników pracuje jednocześnie z systemem. Te dwie liczby wyznaczają wymagania wobec bazy oraz licencji. Ogólny przewodnik po doborze opisuje tekst o magazynowym programie i jego wyborze dla firmy, a wpływ skali na rozwiązanie omawia strona o doborze systemu klasy WMS do wielkości magazynu.

Pytanie do własnego magazynuDlaczego ma znaczenieWpływ na wybór programu
Ile linii zamówień w dniu szczytu?określa obciążenie bazy i liczbę transakcjiwymagania wobec serwera i edycji SQL Server
Ilu użytkowników pracuje jednocześnie?wyznacza liczbę licencji i połączeńmodel licencjonowania programu
Jakie urządzenia są w użyciu?terminale i drukarki narzucają obsługiwane systemywymagania wobec aplikacji mobilnej
Z jakim ERP magazyn wymienia dane?integracja bywa największym kosztem projektudostępne interfejsy oraz koszt adaptera

Reguła: lista wymagań powstaje przed rozmową z dostawcą, bo w przeciwnym razie oferta formułuje wymagania za kupującego.

Kryteria funkcjonalne i techniczne

Kryteria dzieli się na te, które rozstrzygają o przydatności procesowej, i te, które dotyczą utrzymania. Pierwsze sprawdza się na demonstracji, drugie w dokumentacji technicznej oraz w rozmowie z administratorem, który będzie system prowadził.

  • Zgodność procesowa - program obsługuje przyjęcia i lokalizacje oraz partie z terminami ważności w sposób odpowiadający procesom magazynu, bez obejść w arkuszu.
  • Otwartość integracji - dostawca udostępnia dokumentowane interfejsy (REST, pliki, tabele pośrednie), a nie wyłącznie gotowy eksport do jednego ERP.
  • Raportowanie - zestawienia i wydruki można zmieniać bez udziału producenta, na przykład w narzędziu do raportów RDL.
  • Urządzenia mobilne - aplikacja działa na terminalach z aktualnym Androidem i skanerach używanych w magazynie.

Raporty i wydruki w programach opartych na SQL Server często powstają w usługach raportowych, co opisuje tekst o Report Builderze i wydrukach w formacie RDL. Dostęp do własnego narzędzia raportowego zmniejsza liczbę zleceń do producenta przy każdej zmianie układu dokumentu.

Test na własnych danych

Demonstracja na danych producenta pokazuje możliwości, ale nie pokazuje dopasowania. Wiarygodny test wymaga kilku typowych dokumentów z własnego magazynu, w tym trudnych przypadków: dostawy z brakami, zlecenia z partią o krótkim terminie i zwrotu. Możliwość samodzielnego sprawdzenia programu daje demo magazynu online, a zasady takiego testu opisuje strona o demonstracji WMS przed zakupem systemu.

Macierz oceny ofert

Porównanie kilku programów ułatwia macierz z wagami. Każdemu kryterium nadaje się wagę zgodną z jego znaczeniem dla magazynu, ocenia każdą ofertę w skali z góry przyjętej i mnoży ocenę przez wagę. Suma punktów porządkuje oferty, ale nie zastępuje decyzji.

Kryteria obowiązkowe, na przykład obsługa własnego ERP albo terminali z Androidem, ustawia się poza macierzą jako warunek wejścia. Oferta, która ich nie spełnia, odpada niezależnie od wyniku, bo wysoka ocena innych kryteriów nie zrekompensuje braku podstawowej funkcji.

Ilustracja wyboru programu magazynowego WMS - kryteria doboru oprogramowania do zarządzania magazynem
Kryteria doboru programu - lista wymagań magazynu zestawiana z możliwościami oprogramowania przed zakupem

Edycje SQL Server a program magazynowy

Większość programów magazynowych klasy średniej działa na SQL Server, a wybór edycji wpływa na koszt i granice skalowania. Studio WMS.net korzysta z bazy MS SQL Server, więc pytanie o edycję dotyczy każdego wdrożenia. Poniższe zestawienie podaje limity dla SQL Server 2022; przed zakupem należy sprawdzić dokumentację wersji, która faktycznie będzie używana.

EdycjaLimit rozmiaru bazyPamięć (bufor)Moc obliczeniowaSQL Agent
Express10 GB na bazęokoło 1,4 GB na instancję1 procesor lub 4 rdzeniebrak
Standardbez praktycznego limitudo 128 GBdo 4 procesorów lub 24 rdzenitak
Enterprisebez praktycznego limitulimit systemu operacyjnegolimit systemu operacyjnegotak
Developerjak Enterprisejak Enterprisejak Enterprisetak, tylko poza produkcją

Limity i zestaw funkcji każdej edycji opisuje dokumentacja wydań i składników SQL Server 2022 oraz strona o limitach mocy obliczeniowej według wydań.

Rozmiar bazy i limit edycji Express

Limit 10 GB dotyczy plików danych, a nie dziennika transakcji. Dla małego magazynu wystarcza na lata, bo tabela ruchów rośnie liniowo. Przy założeniu 5000 ruchów dziennie i 150 B na ruch z indeksami przyrost wynosi około 270 MB rocznie. To założenie przykładowe: rzeczywistą wartość trzeba zmierzyć, a o tempie wzrostu decydują też dokumenty i historia zdarzeń.

Instrukcje poniżej odczytują edycję instancji i zajętość plików danych bieżącej bazy. Wynik w megabajtach zestawia się z limitem edycji, a alarm ustawia na kilkadziesiąt procent wartości granicznej.

SELECT SERVERPROPERTY('Edition')        AS Edycja,
       SERVERPROPERTY('ProductVersion') AS Wersja;

SELECT DB_NAME()               AS Baza,
       SUM(size) * 8 / 1024    AS RozmiarDanychMB
FROM sys.database_files
WHERE type = 0;   -- 0 = pliki danych

Liczbę wierszy i zajętość tabeli ruchów podaje procedura systemowa sp_spaceused. Dzieląc rozmiar danych i indeksów przez liczbę wierszy, otrzymuje się średnią szerokość ruchu do własnych prognoz.

EXEC sp_spaceused N'dbo.Ruch';

Edycja Express w codziennej pracy

Brak agenta zadań w edycji Express oznacza, że kopie zapasowe i zadania okresowe trzeba uruchamiać innym mechanizmem, na przykład harmonogramem systemu operacyjnego. Zadanie wywołuje narzędzie sqlcmd, które kończy się kodem błędu, gdy kopia się nie powiodła. Skrypt opakowujący powinien ten kod sprawdzić i zgłosić awarię administratorowi, bo cicha porażka kopii wychodzi dopiero w chwili, gdy jest potrzebna.

sqlcmd -S .\SQLEXPRESS -E -b -Q "BACKUP DATABASE MagazynDB TO DISK = N'E:\kopie\MagazynDB.bak' WITH CHECKSUM, INIT"

Ograniczenie pamięci do około 1,4 GB przekłada się na wolniejsze raporty przy większych tabelach, bo silnik nie utrzyma w pamięci całego zestawu roboczego. Przy pierwszych objawach, czyli rosnącym czasie raportów i częstych odczytach z dysku, decyzja o przejściu na edycję Standard powinna zapaść przed przekroczeniem limitu rozmiaru bazy, a nie po.

Wersja SQL Server i okres wsparcia

Każda wersja SQL Server ma okres wsparcia głównego i rozszerzonego. Po jego zakończeniu Microsoft nie wydaje poprawek bezpieczeństwa, a system z bazą bez wsparcia staje się ryzykiem audytowym. Program magazynowy powinien być zweryfikowany przez producenta na wersję, której wsparcie potrwa dłużej niż horyzont inwestycji. Przy zakupie warto zapytać dostawcę o plan wsparcia kolejnych wersji bazy, bo migracja bazy razem z programem jest osobnym projektem.

Licencjonowanie SQL Server i programu

Koszt licencji składa się z dwóch pozycji: licencji na program magazynowy oraz licencji na system bazy danych i serwer. Pierwsza zależy od modelu producenta, druga od edycji SQL Server i sposobu jej liczenia. Obie łatwo pomylić przy porównywaniu ofert, bo część dostawców wlicza bazę w cenę, a inni zakładają, że kupuje ją klient.

Model licencji SQL ServerJak jest liczonyKiedy się opłaca
Na rdzeńlicencje na rdzenie fizyczne serwera, minimum cztery na procesorduża lub nieznana liczba użytkowników i urządzeń
Serwer i licencje dostępowe CALjedna licencja serwera oraz CAL na użytkownika albo urządzeniemała, stała liczba stanowisk (tylko edycja Standard)

Przy terminalach współdzielonych między zmianami licencja CAL na urządzenie bywa tańsza niż na użytkownika, bo jeden terminal obsługuje kilku pracowników. Odwrotnie jest przy pracownikach korzystających z kilku urządzeń. Dla instalacji z dużą liczbą terminali i odbiorców zewnętrznych korzystających przez portal prostsze jest licencjonowanie na rdzenie.

Modele licencji programu magazynowego

Producenci programów magazynowych stosują trzy podstawowe modele. Licencja trwała wiąże się z jednorazowym zakupem i opłatą za utrzymanie. Abonament rozkłada koszt w czasie i zwykle obejmuje aktualizacje, ale kończy się utratą prawa do korzystania po wypowiedzeniu. Trzecim wariantem jest opłata za użytkowanie w chmurze, którą porównuje tekst o kosztach abonamentu programu magazynowego w chmurze oraz artykuł o WMS w chmurze i on-premise.

Jednostką liczenia bywa użytkownik nazwany albo połączenie jednoczesne. Te sposoby dają różne wyniki dla tego samego magazynu: przy dwóch zmianach po dziesięciu osób licencja jednoczesna liczy dziesięć stanowisk, a nazwana dwadzieścia. Warto więc policzyć koszt w scenariuszu docelowym, a nie dla dzisiejszej liczby osób.

Koszty utrzymania poza licencją

Cena zakupu stanowi część kosztu posiadania programu. W okresie pięciu lat udział licencji często ustępuje wdrożeniu oraz utrzymaniu. Porównywanie ofert bez tych pozycji faworyzuje rozwiązania tanie na początku, a drogie w eksploatacji.

Pozycja kosztuCo obejmujeJak ją oszacować
Infrastrukturaserwer, macierz, kopie zapasowe, sieć Wi-Fi w magazynieoferta sprzętu lub abonament hostingu
LicencjeSQL Server, system serwerowy, program magazynowyliczba rdzeni oraz stanowisk
Wdrożenieanaliza, konfiguracja, migracja danych, szkoleniazakres z harmonogramu, nie procent od licencji
Integracjeadaptery do ERP i sklepu, utrzymanie po zmianachliczba systemów i formatów wymiany
Utrzymanieaktualizacje, wsparcie, administracja baząumowa serwisowa i czas pracy administratora

Czas wdrożenia wpływa na koszt, bo każdy tydzień pracy zespołu jest pozycją budżetu. Według dotychczasowych opisów SoftwareStudio standardowe wdrożenie WMS.net zajmuje od 4 do 12 tygodni, zależnie od liczby magazynów i stopnia integracji z ERP. Prace wdrożeniowe rozkładają się na kilka etapów, opisanych na stronie o wdrożeniu systemu WMS. Koszty serwera Windows i bazy pokrywa administracja systemem, którą można zlecić na zewnątrz, co omawia tekst o obsłudze Windows Server dla firm.

Reguła: oferty porównuje się w jednym horyzoncie czasu, na przykład pięciu lat, z tymi samymi pozycjami kosztów.

Programy specjalistyczne obok programu głównego

Nie każdy proces magazynowy musi obsłużyć ten sam program. Gospodarka nośnikami wymaga innych danych niż lokalizacje towaru: saldo palet z kontrahentem oraz dokumenty wymiany. Do takiego zadania służy PWS.net, opisany w tekście o ewidencji palet, który współpracuje z programem magazynowym zamiast go zastępować.

Podobnie jest z inwentaryzacją. Moduł spisu z terminalem można kupić razem z programem głównym albo jako osobny produkt, co ma znaczenie dla firm, które już mają magazyn w innym systemie. Ofertę spisu z terminalem SoftwareStudio przedstawia serwis programu do inwentaryzacji.

Ilustracja programu do zarządzania magazynem - moduły przyjęć, lokalizacji i wydań w systemie WMS
Program magazynowy jako zestaw modułów - decyzja, które z nich kupić razem, wpływa na koszt i liczbę integracji

Granica między modułami a osobnymi produktami wyznacza liczbę integracji do utrzymania. Każdy dodatkowy system oznacza kolejny adapter, kolejną wersję do aktualizacji i kolejny punkt awarii. Producent, który opisuje takie zależności otwarcie, ułatwia porównanie, a dane o dostawcy zawiera strona o programie magazynowym SoftwareStudio.

Kryteria akceptacji i wdrożenie próbne

Wybór programu kończy się umową z kryteriami odbioru, które da się sprawdzić. Ogólne stwierdzenia o sprawności systemu nie są mierzalne, a sprawdzian przy odbiorze powinien odwoływać się do scenariuszy z własnego magazynu.

Scenariusz odbioruKryterium zaliczeniaObszar
Przyjęcie dostawy z rozbieżnościąsystem zapisuje różnicę i blokuje wydanie brakującej ilościprzyjęcia
Kompletacja w dniu szczytulista pobrań powstaje bez opóźnień zauważalnych dla operatorawydajność
Utrata łączności terminalaodczyty zostają zachowane i nie tworzą duplikatówodporność
Odtworzenie bazy z kopiizespół potrafi odtworzyć stan z kopii na osobnym serwerzeutrzymanie

Dokumentacja i wsparcie po wdrożeniu

Umowa powinna określać czasy reakcji na zgłoszenia według ich pilności, godziny dostępności wsparcia oraz sposób zgłaszania awarii. Do odbioru należy dołączyć dokumentację dla administratora, obejmującą schemat integracji, procedurę odtwarzania bazy i listę zadań okresowych. Szkolenia planuje się według ról: inny zakres dotyczy magazyniera na terminalu, inny kierownika zmiany, a jeszcze inny administratora systemu.

Wdrożenie próbne obejmuje jedną strefę lub jeden typ dokumentów, a nie cały magazyn. Ogranicza to ryzyko, a wyniki próby pokazują, czy założenia z etapu wyboru były trafne. Stany i rezerwacje, które sprawdza się w pierwszej kolejności, opisuje strona o zarządzaniu stanami magazynowymi, model dokumentów wyjaśnia tekst o magazynowym systemie informatycznym, a warstwy techniczne opisuje strona o informatycznym systemie magazynowym.