Dział IT ocenia program WMS.net inaczej niż kierownik magazynu. Zamiast listy dokumentów interesuje go, na czym program działa i ile zasobów zajmuje. Ważne jest też, jak się go aktualizuje i co trzeba zabezpieczyć. Ten tekst jest specyfikacją techniczną Studio WMS.net pisaną z myślą o administratorze systemów.
Zakres funkcji i warianty produktu opisuje strona o oprogramowaniu Studio WMS.net, a budowę modułową omawia tekst o architekturze i modułach systemu magazynowego WMS.net. Tutaj liczą się wymagania oraz kolejność prac, a także miejsca, w których administrator wpływa na wydajność i bezpieczeństwo.
Warstwy programu WMS.net z punktu widzenia administratora
WMS.net pracuje w architekturze klient-serwer. Serwer aplikacji oparty na Microsoft ASP.net przetwarza dokumenty i aktualizuje stany. Udostępnia też dane raportom oraz modułom integracyjnym. Dane leżą w bazie Microsoft SQL Server. Klienci łączą się z serwerem aplikacji, a nie bezpośrednio z bazą, więc reguły biznesowe wykonują się w jednym miejscu.
Dla administratora ma to konkretny skutek. Zmiana reguły rezerwacji albo weryfikacji dokumentu wymaga aktualizacji serwera, a nie instalacji na każdym komputerze. Wyjątkiem jest wariant Framework, który ma komponent kliencki na stacji roboczej i aktualizuje się osobno.
Serwer aplikacji i baza SQL Server
Instancja bazy może pracować na serwerze fizycznym, na maszynie wirtualnej albo w środowisku chmurowym u dostawcy infrastruktury. O wyborze decyduje polityka bezpieczeństwa danych: część firm chce mieć dyski i kopie pod własną kontrolą, inne przenoszą utrzymanie na zewnątrz. Porównanie obu modeli daje tekst o programie magazynowym w chmurze czy on-premise.

Rodzaje klientów i ich wpływ na infrastrukturę
Stacja z wariantem Framework łączy się z serwerem aplikacji i pracuje wielookienkowo. Przeglądarka korzysta z wersji web bez instalacji lokalnej. Terminal albo skaner z Androidem obsługuje operacje bezpośrednio przy regale. Każdy z tych klientów czyta i zapisuje dane w tej samej bazie, więc ruch zapisany na skanerze jest od razu widoczny na stanowisku biurowym.
Porównanie klientów pod kątem stanowiska pracy zawiera artykuł aplikacje WMS - moduły i architektura. Wariant desktopowy ma osobne omówienie w tekście o wersji Framework.
Wymagania systemowe i skalowanie środowiska
Poniższe zestawienie podaje minimalną specyfikację instalacji lokalnej. Wartości pochodzą ze specyfikacji produktu i są punktem wyjścia do rozmowy, a nie gwarancją wydajności dla konkretnej liczby użytkowników.
| Element | Wymaganie | Co sprawdzić przed instalacją |
|---|---|---|
| Serwer aplikacji | Windows Server, procesor co najmniej 4-rdzeniowy, 8 GB RAM (zalecane 16 GB przy większej liczbie stanowisk) | Wersja systemu objęta wsparciem Microsoftu, osobny wolumin na kopie |
| Baza danych | Microsoft SQL Server 2012 lub nowszy, edycja Standard albo Express dla mniejszych wdrożeń | Limity edycji, sposób uruchamiania kopii zapasowych |
| Stacja robocza (Framework) | Windows 10 lub 11, .NET Framework 3.5 lub nowszy, co najmniej 4 GB RAM | Dostępność komponentu .NET 3.5 na stacjach |
| Przeglądarka (wersja web) | Aktualna wersja Chrome lub Edge, a także Firefox, stałe łącze do serwera aplikacji | Jakość łącza między halą a serwerem |
| Urządzenia mobilne | Terminale i skanery z Androidem, sieć Wi-Fi w obrębie magazynu | Pokrycie zasięgiem regałów i rampy |
| Raportowanie | SQL Server Reporting Services, definicje raportów w formacie RDL | Uprawnienia do folderu raportów |
| Szyfrowanie | SSL/TLS między klientem a serwerem aplikacji | Certyfikat i jego termin ważności |
Reguła: wielkość serwera dobiera się do liczby jednoczesnych użytkowników i dokumentów przetwarzanych dziennie, a nie do liczby założonych kont.
Magazyn z kilkunastoma stanowiskami obsłuży jeden serwer średniej klasy. Sieć wielomagazynowa z integracją ERP wymaga infrastruktury dobranej podczas analizy przedwdrożeniowej, bo tam rośnie zarówno liczba transakcji, jak i liczba połączeń przychodzących z systemów zewnętrznych.
Dolna granica SQL Server 2012 nie znaczy, że tę wersję warto wybierać dziś. Jest już poza okresem wsparcia Microsoftu, więc nowe instalacje planuje się na nowszym wydaniu. Zestawienie edycji i ich ograniczeń podaje dokumentacja Microsoft Learn o edycjach SQL Server.
Baza danych - kopie zapasowe i konserwacja
Wybór edycji ma skutek operacyjny. Express ogranicza wielkość bazy do 10 GB i nie zawiera SQL Server Agent, więc zadania kopii oraz konserwacji uruchamia się w niej z Harmonogramu zadań Windows przez narzędzie sqlcmd. Standard zawiera Agenta i pozwala zaplanować te zadania wewnątrz SQL Server, z powiadomieniem o błędzie.
-- przykład: pełna kopia bazy z sumą kontrolną i sprawdzeniem pliku (nazwa bazy i ścieżka są przykładowe)
BACKUP DATABASE WmsPrzyklad
TO DISK = N'E:\Kopie\WmsPrzyklad_full.bak'
WITH CHECKSUM, INIT, STATS = 10;
RESTORE VERIFYONLY
FROM DISK = N'E:\Kopie\WmsPrzyklad_full.bak'
WITH CHECKSUM;
Opcja CHECKSUM wykrywa uszkodzone strony już podczas kopiowania, a RESTORE VERIFYONLY sprawdza, czy plik da się odczytać. To nie zastępuje próbnego odtworzenia. Opis wszystkich opcji polecenia znajduje się w dokumentacji instrukcji BACKUP.
Reguła: kopia, której nikt nie odtworzył na osobnym serwerze, jest tylko założeniem.
Druga czynność cykliczna to kontrola indeksów. W tabelach dokumentów i ruchów magazynowych, do których nieustannie dopisują się wiersze, indeksy się fragmentują i zapytania czytają więcej stron niż trzeba.
-- przykład: indeksy z fragmentacją powyżej 30 proc. na tabelach większych niż 1000 stron
SELECT OBJECT_NAME(ips.object_id) AS Tabela,
i.name AS Indeks,
ips.avg_fragmentation_in_percent AS Fragmentacja
FROM sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL, 'LIMITED') AS ips
JOIN sys.indexes AS i
ON i.object_id = ips.object_id AND i.index_id = ips.index_id
WHERE ips.avg_fragmentation_in_percent > 30
AND ips.page_count > 1000
ORDER BY ips.avg_fragmentation_in_percent DESC;
Microsoft podaje orientacyjne progi: fragmentację od 5 do 30 proc. usuwa się reorganizacją indeksu, a wartości powyżej 30 proc. wymagają jego przebudowy. Progi są punktem wyjścia, bo o realnym skutku decyduje plan zapytania. Zasady opisuje strona o reorganizacji i przebudowie indeksów.
Model licencjonowania - stanowisko albo serwer
SoftwareStudio udostępnia dwa modele licencjonowania programu WMS.net. Wybór między nimi wpływa na koszt w kolejnych latach, bo licencje zachowują się inaczej, gdy magazyn rośnie.
| Kryterium | Licencja na stanowisko | Licencja na serwer |
|---|---|---|
| Podstawa rozliczenia | Liczba jednoczesnych użytkowników | Jedna instalacja serwerowa z nieograniczoną liczbą stanowisk |
| Typowy magazyn | Ograniczona, przewidywalna liczba stanowisk | Duży magazyn z pracą zmianową |
| Skutek rozbudowy | Dokupienie licencji przy każdym nowym stanowisku | Koszt licencji bez zmian |
| Moment wyboru | Analiza przedwdrożeniowa | Analiza przedwdrożeniowa |
Reguła: model licencji ustala się na podstawie planu rozwoju magazynu, a nie tylko bieżącej liczby stanowisk.
W analizie trzeba jeszcze wyjaśnić, jak zakres licencji programu ma się do licencji na system serwera i SQL Server, bo licencje na system serwera i SQL Server (poza edycją Express) pochodzą od Microsoftu. Ceny i składniki kosztu całkowitego porządkuje tekst o modelach cenowych oprogramowania magazynowego.
Raportowanie w SQL Server Reporting Services i format RDL
Raporty i wydruki WMS.net opierają się na SQL Server Reporting Services. Definicja każdego raportu leży w pliku RDL (Report Definition Language), czyli w dokumencie XML opisującym źródło danych i układ raportu. Dzięki temu dział IT zmienia istniejący wydruk albo dodaje nowe zestawienie w narzędziu Report Builder bez ingerencji w kod aplikacji.

SoftwareStudio zaleca trzymać kopię plików RDL w zabezpieczonym folderze na dysku NTFS, poza serwerem raportów. Po awarii albo migracji środowiska wszystkie raporty publikuje się ponownie bez odtwarzania ich od podstaw. Raporty generuje się na żądanie albo według harmonogramu, zarówno jako wydruki dokumentów magazynowych, jak i zestawienia stanów czy wartości zapasu.
Praktykę pracy z narzędziem opisuje strona SQL Report Builder - raporty RDL i wydruki, a format opisuje dokumentacja języka RDL.
Integracje przez usługi sieciowe i wymiana z ERP
Warstwa konfiguracyjna pozwala dopasować strukturę lokalizacji i kartotek do procesów firmy bez zmiany kodu źródłowego, a osobno ustawić dokumenty i uprawnienia. Ten obszar opisuje strona o konfiguracji programu magazynowego. Dla administratora ważniejsza bywa warstwa integracyjna, bo od niej zależy, czy WMS.net wejdzie w istniejący zestaw systemów firmy.
Program udostępnia mechanizmy integracyjne oparte na usługach sieciowych. Pozwalają one na dwukierunkową wymianę zamówień i kartotek oraz stanów i dokumentów magazynowych z ERP, a także ze sklepem internetowym i platformą kurierską, bez ręcznego eksportu plików. Zakres metod ustala się w analizie technicznej, dopasowując go do formatu danych i możliwości systemu po drugiej stronie.
// przykład po stronie systemu zewnętrznego (adres i pola są przykładowe, nie opisują API produktu)
using System.Net.Http;
using System.Text;
var http = new HttpClient { BaseAddress = new Uri("https://wms.example.local/") };
var json = "{\"numer\":\"ZAM/2026/0142\",\"pozycje\":[{\"indeks\":\"A-100\",\"ilosc\":12}]}";
var odpowiedz = await http.PostAsync("zamowienia",
new StringContent(json, Encoding.UTF8, "application/json"));
odpowiedz.EnsureSuccessStatusCode();
Bezpieczna integracja zakłada idempotentność. Jeśli łącze zerwie się po wysłaniu dokumentu, ponowna próba z tym samym numerem nie może utworzyć drugiego zamówienia, więc odbiorca sprawdza numer przed zapisem. Wzorce łączenia systemów opisuje strona o integracji WMS z ERP - REST i kolejki. Środowiska z SAP wymagają dodatkowych ustaleń o formacie komunikatów i harmonogramie, które zbiera tekst o integracji WMS z SAP.
Bezpieczeństwo - TLS i Active Directory
Komunikacja klienta z serwerem aplikacji jest chroniona protokołem SSL/TLS, który zabezpiecza dane logowania i informacje magazynowe przed przechwyceniem podczas transmisji. Certyfikat ma termin ważności, więc jego odnowienie powinno trafić do kalendarza administratora tak samo jak kopie zapasowe.

WMS.net można zsynchronizować z Active Directory. Wtedy baza danych programu nie przechowuje haseł użytkowników, a logowanie odbywa się na kontach domenowych zarządzanych centralnie. Odejście pracownika z firmy zamyka mu dostęp do magazynu w chwili wyłączenia konta w domenie. Szczegóły logowania i ról opisuje tekst logowanie i autoryzacja w programie magazynowym WMS, a tryby uwierzytelniania w SQL Server wyjaśnia dokumentacja wyboru trybu uwierzytelniania.
Uprawnienia przydziela się na poziomie modułów i pojedynczych operacji. Administrator może ograniczyć korekty stanów oraz zmiany konfiguracji do wąskiej grupy osób, co ułatwia audyt i spełnienie wewnętrznych polityk dostępu do danych.
Utrzymanie środowiska i aktualizacje
Po uruchomieniu produkcyjnym praca administratora sprowadza się do kilku powtarzalnych czynności. Największą różnicę robi wariant klienta: w wersji web aktualizacja obejmuje serwer i wszyscy użytkownicy dostają nowy kod jednocześnie, a w wariancie Framework trzeba zaktualizować komponent kliencki na każdej stacji roboczej.
Reguła: poprawki systemu i zmiany konfiguracji wchodzą najpierw na środowisko testowe z kopią bazy produkcyjnej, a dopiero potem na produkcję.
W edycji Express trzeba pilnować rozmiaru bazy, bo limit 10 GB dotyczy plików danych, a nie dziennika transakcji. Poniższe zapytanie pokazuje rozmiar plików bieżącej bazy.
-- przykład: rozmiar plików bieżącej bazy w MB (kontrola limitu 10 GB w edycji Express dotyczy plików danych)
SELECT type_desc AS Plik,
SUM(size) * 8 / 1024 AS RozmiarMB
FROM sys.database_files
GROUP BY type_desc;
Wynik porównuje się z limitem raz w miesiącu i przed dużym importem kartotek. Gdy baza zbliża się do granicy, dział IT ma dwie drogi: archiwizację starych dokumentów albo przejście na edycję Standard, która usuwa też problem z brakiem SQL Server Agent. Poprawki systemu operacyjnego i SQL Server sprawdza się na kopii, bo aktualizacja potrafi zmienić plany zapytań. Ostatnia pozycja kalendarza to odnowienie certyfikatu SSL/TLS, którego wygaśnięcie przerywa połączenia klientów z serwerem aplikacji.
Wdrożenie z perspektywy działu IT
Od strony technicznej wdrożenie przebiega według stałej kolejności, niezależnie od modelu licencji i wariantu klienta. Każdy etap zostawia sprawdzalny rezultat, który dział IT może odebrać.
| Etap | Zakres prac po stronie IT | Sprawdzalny rezultat |
|---|---|---|
| Audyt infrastruktury | Porównanie zasobów serwerowych i sieciowych z wymaganiami produktu | Lista braków i decyzja o platformie |
| Przygotowanie środowiska | Instalacja systemu serwera i SQL Server, konta serwisowe z uprawnieniami sieciowymi | Działająca instancja bazy |
| Instalacja aplikacji | Serwer aplikacji i, zależnie od wariantu, komponenty klienckie Framework | Logowanie testowego użytkownika |
| Konfiguracja integracji | Uruchomienie wymiany danych z ERP lub inną platformą | Dokument przesłany w obie strony |
| Testy | Obciążenie systemu i poprawność szyfrowania transmisji | Wyniki testów wydajności i bezpieczeństwa |
| Uruchomienie produkcyjne | Przekazanie dokumentacji architektury i procedur administracyjnych | Dokumentacja środowiska w rękach klienta |
Organizacyjną stronę tego procesu (harmonogram i szkolenia) oraz migrację danych omawia tekst o wdrożeniu systemu WMS. Zespół SoftwareStudio prowadzi wdrożenia i wsparcie w ramach produktu opisanego na stronie Studio WMS.net.




