Studio WMS.net firmy SoftwareStudio pracuje w przeglądarce, a całe przetwarzanie danych odbywa się na serwerze. Użytkownik loguje się z dowolnego komputera i widzi aktualne stany i lokalizacje towaru. Obsługa terminali radiowych i kodów kreskowych nie wymaga lokalnego klienta.
Spis treści
- Architektura aplikacji internetowej WMS
- Rejestracja dokumentów w przeglądarce
- Magazyn wysokiego składowania do 30 metrów
- Terminale radiowe i sieć Wi-Fi
- Rozbudowa o nowe stanowiska i oddziały
- Wersje językowe interfejsu
- Integracja z systemami ERP
- Bezpieczeństwo pracy i opakowania zwrotne
- Pytania i odpowiedzi o aplikację internetową WMS
- Glosariusz pojęć związanych z aplikacją internetową WMS
Architektura aplikacji internetowej WMS
Aplikacja internetowa WMS (ang. web-based Warehouse Management System) składa się z kilku warstw, a każda ma jedno zadanie. Przeglądarka wyświetla ekran i przekazuje kliknięcia. Serwer WWW przyjmuje żądanie, aplikacja ASP.NET wykonuje logikę, a baza MS SQL Server zapisuje wynik.
W takim układzie nowe stanowisko oznacza uruchomienie przeglądarki i logowanie. Wdrożenie kolejnego oddziału sprowadza się do nadania kont, bo dane i reguły biznesowe znajdują się w jednym miejscu. Wersję bazy SQL Server 2012 i nowszą wymaga aplikacja, a ta sama technologia pozwala na funkcje zbliżone do programu okienkowego.
| Warstwa | Zadanie | Co się dzieje przy zapisie operacji |
|---|---|---|
| Przeglądarka lub terminal | wyświetlenie ekranu i skan | wysyła potwierdzenie operatora do serwera |
| Serwer WWW | przyjęcie żądania i obsługa sesji | przekazuje dane do aplikacji |
| Aplikacja ASP.NET | reguły dokumentów i lokalizacji | sprawdza zgodność operacji ze stanem |
| Baza MS SQL Server | przechowanie stanów i historii | zapisuje ruch w transakcji |
Odczyt w przeglądarce i zapis z terminala w jednej bazie
Kierownik otwiera raport stanów w tej samej chwili, w której dziesięciu operatorów zapisuje pobrania. Przy domyślnym poziomie izolacji READ COMMITTED odczyt czeka na zakończenie zapisu, który blokuje wiersz. Raport zwalnia wtedy kompletację albo odwrotnie.
Wersjonowanie wierszy rozwiązuje ten konflikt. Po włączeniu opcji READ_COMMITTED_SNAPSHOT odczyt dostaje ostatnią zatwierdzoną wersję wiersza i nie czeka na blokadę zapisu. Poniższy przykład jest ilustracyjny i nie pokazuje konfiguracji produktu.
ALTER DATABASE MagazynDemo
SET READ_COMMITTED_SNAPSHOT ON
WITH ROLLBACK IMMEDIATE;
-- odczyt stanu bez czekania na blokady zapisu
SELECT LokalizacjaId, IndeksId, SUM(Ilosc) AS Stan
FROM dbo.StanyLokalizacji
GROUP BY LokalizacjaId, IndeksId;
- Zaleta. Raporty i podgląd stanów nie wstrzymują operacji zapisujących, a operatorzy nie czekają na zestawienia.
- Koszt. Serwer przechowuje wersje wierszy w tempdb, więc rośnie obciążenie tej bazy i trzeba pilnować jej rozmiaru.
Różnice między poziomami izolacji opisuje dokumentacja SET TRANSACTION ISOLATION LEVEL, a mechanizm wersjonowania wyjaśnia przewodnik po blokadach i wersjonowaniu wierszy.
Zatwierdzenie dokumentu jako jedna transakcja
Zatwierdzenie dokumentu zmienia status dokumentu i stan lokalizacji, a do tego dopisuje wiersz historii ruchu. Jeśli połączenie przerwie się w połowie zapisu, magazyn nie może zostać z częścią zmian. Dlatego te zapisy obejmuje jedna transakcja, a błąd cofa ją w całości.
BEGIN TRY
BEGIN TRAN;
UPDATE dbo.DokumentyWZ SET Status = 'Zatwierdzony' WHERE DokumentId = @DokumentId;
UPDATE dbo.StanyLokalizacji SET Ilosc = Ilosc - @Ilosc
WHERE LokalizacjaId = @LokalizacjaId AND IndeksId = @IndeksId;
INSERT dbo.HistoriaRuchow (DokumentId, LokalizacjaId, Ilosc, Czas)
VALUES (@DokumentId, @LokalizacjaId, -@Ilosc, SYSDATETIME());
COMMIT;
END TRY
BEGIN CATCH
IF @@TRANCOUNT > 0 ROLLBACK;
THROW;
END CATCH;
Przykład ma charakter ilustracyjny. Pokazuje zasadę, według której operacja kończy się w całości albo wcale, a użytkownik w przeglądarce dostaje komunikat o błędzie zamiast niespójnego stanu.
Rejestracja dokumentów w przeglądarce
Użytkownik przegląda i rejestruje dokumenty przyjęć i wydań bez lokalnego klienta. Przesunięcia między lokalizacjami zapisuje się tak samo. Formularz zlecenia ma nagłówek z kontrahentem i terminem, a pozycje dodaje się z wyszukiwarki asortymentu. Stan aktualizuje się po zatwierdzeniu dokumentu, nie wcześniej.
Wyszukiwarka dokumentów obejmuje wszystkie typy, od zleceń po dokumenty rozchodu. Wynik zawęża się po typie i przedziale dat, a w razie potrzeby także do jednego kontrahenta. Z listy otwiera się dokument albo jego wydruk. Pełny obieg opisuje strona o dokumentach magazynowych, a ostatni etap strona o wydaniu z magazynu.
Magazyn wysokiego składowania do 30 metrów
Za magazyn wysokiego składowania uznaje się obiekt z regałami wyższymi niż 7,5 metra, obsługiwany wózkami wysokiego masztu albo układnicami. Towar leży na wielu poziomach, więc sam numer alejki nie wystarcza do jego znalezienia. System zapisuje adres w układzie pionowym, z numerem alejki i poziomu.
Aplikacja obsługuje regały sięgające nawet 30 metrów. W takim obiekcie błąd lokalizacji kosztuje poszukiwanie na wysokości, a brak aktualnych danych zatrzymuje wózek przy niewłaściwym gnieździe. Układ opisuje strona o zarządzaniu magazynem wysokiego składowania, a graficzną mapę lokalizacji strona o wizualizacji magazynu.
Terminale radiowe i sieć Wi-Fi
Terminal radiowy, zwany też kolektorem danych, ma czytnik kodów i moduł Wi-Fi albo Bluetooth. Operator potwierdza przyjęcie albo kompletację przy regale, a dane trafiają do serwera od razu. Kody 1D i 2D przyspieszają identyfikację i eliminują wpisywanie indeksu z klawiatury.
Przed wdrożeniem trzeba przygotować sieć w całym obiekcie. Systemy WMS udostępniają diagnostykę połączeń, więc administrator IT szybko znajduje martwe strefy i przesuwa punkty dostępowe. Sprzęt i aplikację mobilną opisuje strona o WMS na Androidzie.
Kody kreskowe stoją także na miejscach składowania. Etykieta na gnieździe pozwala potwierdzić, że paleta trafiła pod właściwy adres, bo operator skanuje najpierw lokalizację, a potem towar. System odrzuca parę, która nie zgadza się z dokumentem, więc pomyłka kończy się komunikatem na ekranie, a nie błędem w stanach. Zasady budowy kodów opisuje strona o kodach kreskowych w magazynie.
Reguła: zasięg Wi-Fi mierzy się na każdym poziomie regału, a nie tylko przy podłodze. Terminal na wysokości kilkunastu metrów odbiera sygnał inaczej niż ten sam model w alejce.
Rozbudowa o nowe stanowiska i oddziały
Przy rosnącej firmie liczą się dwa koszty: czas uruchomienia stanowiska i spójność danych między lokalizacjami. W modelu przeglądarkowym oba maleją, bo konto użytkownika i uprawnienia ustawia się centralnie. Pracownik nowego oddziału loguje się do tego samego systemu i widzi stany tych magazynów, do których ma dostęp.
Centralne zarządzanie zapasami w czasie rzeczywistym wspiera pracę wielooddziałową. Kierownik porównuje obiekty w jednym raporcie, a handlowiec sprawdza dostępność towaru w dowolnym z nich przed potwierdzeniem zamówienia.
Przed uruchomieniem oddziału ustala się, kto tworzy dokumenty, a kto je tylko zatwierdza. Podział ról zapobiega sytuacji, w której jedna osoba zleca wydanie i sama je akceptuje, a w historii operacji zostaje czytelny ślad każdej decyzji.
Wersje językowe interfejsu
W zespołach wielonarodowościowych język obsługi ma wpływ na liczbę pomyłek. Funkcja Multi Language pozwala pracować w języku ojczystym operatora. Interfejs występuje po angielsku i niemiecku, a pracownicy z Ukrainy korzystają z wersji ukraińskiej. Opis mechanizmu zawiera strona o wielojęzyczności w WMS.
Integracja z systemami ERP
Zamówienia klientów trafiają z ERP do WMS automatycznie, a po kompletacji i wydaniu stan aktualizuje się w obu systemach. Unika się w ten sposób rozbieżności między dokumentacją handlową a rzeczywistym stanem regałów. Studio WMS.net współpracuje między innymi z systemem Humansoft HermesSQL, a przykład połączenia opisuje strona o integracji z Humansoft HermesSQL.
Platforma sprawdza się także w sklepach internetowych, które realizują zamówienia bez rozbudowanej infrastruktury magazynowej. Ewidencja i dokumenty wychodzą z przeglądarki, a przepływ towaru śledzi się w jednym miejscu. Zakres funkcji podstawowych opisuje strona o programie magazynowym online.
Bezpieczeństwo pracy i opakowania zwrotne
Ruch wózków widłowych w magazynie wysokiego składowania zwiększa ryzyko kolizji. Monitoring pozycji wózków i pieszych w czasie rzeczywistym ogranicza straty w regałach i towarze, a ogólne wymagania BHP określa rozporządzenie w sprawie BHP. Zagadnienie opisuje też strona o bezpieczeństwie w magazynie.
Reguła: saldo palet u dostawcy i odbiorcy uzgadnia się cyklicznie. Różnica wykryta po kilku miesiącach oznacza opakowania, których nie da się już odzyskać.
Aplikacja ewidencjonuje także salda palet i kontenerów u dostawców i odbiorców. Dzięki ewidencji opakowania się nie gubią, a firma nie kupuje nowych jednostek bez potrzeby.
Rachunek rentowności uwzględnia czas pracy i opakowania, które proste porównanie ceny sprzedaży z ceną zakupu pomija. System wiąże zdarzenia magazynowe z kosztem finansowym, więc marża wynika z faktycznej pracy magazynu, a nie z założeń przyjętych przy wycenie.
Pytania i odpowiedzi o aplikację internetową WMS
Połączenie jest szyfrowane protokołem SSL, a dostęp chroni uwierzytelnianie i uprawnienia przypisane do roli. Każdy użytkownik widzi tylko dane potrzebne do jego zadań. Kopie zapasowe wykonuje się w ramach administracji serwera.
Wystarczy urządzenie z przeglądarką, czyli komputer, laptop, tablet albo smartfon. W magazynie zaleca się terminale radiowe ze skanerem, które czytają kody 1D i 2D i wysyłają dane do serwera od razu.
Tak. System zapisuje adres lokalizacji w układzie wielopoziomowym i obsługuje regały sięgające nawet 30 metrów. Operator dostaje na terminalu alejkę i poziom miejsca składowania.
Przy domyślnym poziomie izolacji długi odczyt może czekać na blokady zapisu. Włączenie wersjonowania wierszy w SQL Server pozwala czytać ostatnią zatwierdzoną wersję bez czekania, co zmniejsza konflikty między biurem a halą.
Studio WMS.net integruje się z systemami ERP, na przykład z Humansoft HermesSQL. Zamówienia przechodzą do WMS, a po wydaniu stan aktualizuje się w obu systemach.
Glosariusz pojęć związanych z aplikacją internetową WMS
- Aplikacja internetowa WMS
- System zarządzania magazynem działający na serwerze i obsługiwany przez przeglądarkę, bez instalacji lokalnego klienta.
- Terminal radiowy
- Przenośne urządzenie z czytnikiem kodów i łącznością Wi-Fi albo Bluetooth, zapisujące operacje w czasie rzeczywistym.
- Magazyn wysokiego składowania
- Obiekt z regałami zwykle wyższymi niż 7,5 metra, obsługiwany wózkami wysokiego masztu albo układnicami.
- READ COMMITTED
- Domyślny poziom izolacji SQL Server, w którym odczyt widzi tylko zatwierdzone dane i może czekać na blokady zapisu.
- Wersjonowanie wierszy
- Mechanizm, w którym serwer przechowuje poprzednie wersje wierszy, aby odczyt nie czekał na blokady zapisu.
- Multi Language
- Funkcja pracy w języku wybranym przez operatora, ograniczająca pomyłki w zespołach wielonarodowościowych.
- Integracja WMS z ERP
- Automatyczna wymiana zamówień, stanów i dokumentów między systemem magazynowym a systemem handlowo-finansowym.
- Opakowania zwrotne
- Palety i kontenery krążące między dostawcą, magazynem i odbiorcą, których salda trzeba ewidencjonować.