Architektura Studio WMS.net: aplikacja ASP.NET z bazą SQL Server i usługa SSService.exe do integracji z ERP. Hosting Cloud lub On-Premise i wymagania serwera.
Studio WMS.net składa się z warstw, które da się opisać osobno. Użytkownik pracuje w przeglądarce albo w aplikacji Android, a dane leżą w bazie SQL Server. Pośredniczy między nimi aplikacja ASP.NET. Zadania w tle i integracje wykonuje usługa Windows. Ta strona opisuje kolejne warstwy oraz wymagania, jakie stawia instalacja.
Opis dotyczy platformy w generacji ST, czyli ASP.NET WebForms. Nowszą platformę GT na .NET 10 i PostgreSQL opisuje strona o platformie StudioSystem GT. Ogólny obraz produktu daje strona o systemie WMS, a dobór wersji pomaga ustalić wybór systemu WMS.
Warstwy systemu od przeglądarki do bazy
Przepływ danych od klienta do ERP, z bazą w środku.
Schemat pokazuje drogę danych. Klienci łączą się z aplikacją przez HTTPS, aplikacja zapisuje dane do bazy, a usługa Windows odczytuje z bazy zadania i wymienia dokumenty z ERP przez jego API. Raporty SSRS czytają z tej samej bazy.
| Warstwa | Technologia | Zadanie |
|---|---|---|
| Przeglądarka | HTML5, jQuery; Windows, Android, macOS, iOS | Interfejs stacji roboczych |
| Aplikacja serwerowa | ASP.NET WebForms, .NET Framework 4.8.1, IIS | Ekrany i transakcje, ponad 600 stron .aspx |
| Baza danych | Microsoft SQL Server | Dokumenty i stany magazynowe |
| Usługa Windows | SSService.exe | Zadania w tle i integracje |
| Aplikacja Android | Terminal lub tablet ze skanerem | Praca w hali, tryb offline |
| Raportowanie | SQL Server Reporting Services, Report Builder | Raporty RDL i wydruki dokumentów |
Aplikacja ASP.NET i baza SQL Server
Interfejs w przeglądarce, logika w transakcjach i procedurach T-SQL.
Aplikacja serwerowa działa na ASP.NET WebForms i .NET Framework 4.8.1, a liczy ponad 600 stron .aspx. Interfejs opiera się na HTML5 i jQuery, więc stacja robocza potrzebuje tylko przeglądarki. Funkcje dla konkretnego klienta wgrywa się na serwer jako transakcje JavaScript (JQS).
Baza to Microsoft SQL Server. Logika po stronie bazy działa w procedurach T-SQL i w transakcjach, które chronią spójność zapisu. Zlecenia z kolejki przydziela się z blokadami UPDLOCK i READPAST, więc dwóch magazynierów nie zarezerwuje tej samej pozycji. Indeks filtrowany po statusie i priorytecie przyspiesza wybór kolejnego zlecenia.
Usługa Windows SSService.exe
Zadania w tle i integracje wykonuje osobny proces.
SSService.exe to usługa Windows instalowana na serwerze. Wykonuje zadania w tle i integracje, a wymiana z ERP jest jednym z tych zadań. Konektor dobiera się do wersji ERP, dlatego zakres integracji potwierdza analiza przedwdrożeniowa. Ta sama usługa odczytuje masę z wagi w module Studio Naważalnia GMP, który zapisuje naważanie surowców farmaceutycznych.
Nowa integracja ma postać wiersza konfiguracji. Import XML i REST jest sterowany parametrami, a pełny log wymiany pokazuje, co i kiedy zostało przesłane.
Usługa pracuje w sieci klienta i łączy się wyłącznie ruchem wychodzącym po HTTPS. Firma nie publikuje punktu dostępowego z Internetu, co ma znaczenie przy wymaganiach NIS2.
Integracja z ERP przez API producenta
Zapis tylko przez API, odczyt kontem tylko do odczytu.
Zapis do ERP odbywa się wyłącznie przez API producenta ERP, a odczyt kontem SQL tylko do odczytu. Dzięki temu numeracja i walidacje ERP nie są omijane, a aktualizacja ERP nie psuje integracji. Zasady wymiany opisuje strona o integracji z systemem ERP, a przegląd systemów strona integracje.
Przykładem jest CDN_API w Comarch XL. Działa tylko na maszynie Windows z klientem XL i zużywa licencję stanowiskową, więc usługa loguje się do ERP na czas paczki dokumentów i wylogowuje po niej. Dla Optimy proponujemy Sferę, z licencją po stronie klienta. Szczegóły podają strony o integracji z Comarch Optima i XL oraz o integracji z Symfonią.
| System ERP | Status | Uwagi |
|---|---|---|
| SAP i SAP EWM | wykonana | Zakres dla wersji potwierdza analiza przedwdrożeniowa |
| Symfonia ERP | wykonana | Kolejka FIFO i outbox |
| Comarch ERP XL | deklarowana na stronie produktowej | Zapis przez CDN_API |
| Comarch Optima | propozycja przez Sferę | Licencja po stronie klienta |
| enova365 | warstwa XML i REST | Zakres interfejsu i moduły dodatkowe po stronie partnera |
Outbox i kolejka FIFO
Dokument wychodzi do ERP dopiero wtedy, gdy ERP może go przyjąć.
Dokument magazynowy trafia do bazy razem z wpisem w tabeli wysyłkowej, czyli outboxie, w jednej transakcji. Osobny proces wysyła wpisy do ERP w kolejności FIFO. Na tym wzorcu zrealizowano wymianę z Symfonią. Cztery cechy odróżniają go od zwykłego wywołania API:
- Transakcja - dokument i wpis w kolejce powstają razem albo wcale.
- Identyfikator - każdy komunikat ma unikalny identyfikator, więc wznowienie łączności nie tworzy duplikatów.
- Ponawianie - wpis, którego ERP nie przyjęło, wraca do wysyłki.
- Kolejność - kolejka FIFO zachowuje porządek zatwierdzenia dokumentów.
Awaria ERP nie zatrzymuje magazynu: dokument czeka w kolejce i wychodzi po wznowieniu łączności.
Aplikacja Android i tryb offline
Terminal pobiera zlecenia z serwera i potrafi pracować bez zasięgu.
Aplikacja na terminal Android jest osobnym modułem licencji. Pracuje na urządzeniach ze skanerem kodów i pobiera zlecenia z serwera. Administrator zmienia parametry terminali zdalnie i przypisuje moduły urządzeniom albo użytkownikom. Opisuje ją strona o aplikacji magazynowej na Androida.
Tryb offline zapisuje operacje w aplikacji, a po odzyskaniu łączności synchronizuje je z serwerem. Zakres operacji dostępnych bez zasięgu ustala analiza przedwdrożeniowa. Mimo tego w hali potrzebny jest stabilny zasięg Wi-Fi.
Raportowanie na SSRS
Raporty RDL projektowane w Report Builderze, bez programowania.
Raporty działają na Microsoft SQL Server Reporting Services. Szablony RDL projektuje się w Report Builderze, więc raport ad hoc nie wymaga programisty. Na produkcji działają raporty obrotów i stanów oraz wydruki dokumentów. Dokumentacja Microsoft o SSRS opisuje sam mechanizm.
W jednej z instancji operatora logistycznego jest 983 definicje zestawień i 18 011 definicji kolumn, konfigurowalnych bez programowania. Między systemem a narzędziem BI stawia się osobną warstwę danych raportowych, żeby zapytania analityczne nie konkurowały z pracą terminali. Rozszerzone raportowanie opisuje Studio Raporty.net.
Hosting Cloud i On-Premise
Ta sama aplikacja, inny podział odpowiedzialności za serwer.
Studio WMS.net działa w wersji Cloud albo On-Premise. Cloud to SaaS w chmurze prywatnej SoftwareStudio Group, w centrach danych Atman w Warszawie i Netia w Jawczycach, według informacji ze strony firmowej. On-Premise oznacza instalację na serwerze klienta w wariantach Procesor i Developer. Koszty obu modeli zestawia strona ile kosztuje wdrożenie WMS.
| Cecha | Cloud | On-Premise |
|---|---|---|
| Serwer i system | Utrzymuje SoftwareStudio | Windows Server klienta |
| Baza danych | SQL Server w opłacie bazowej | SQL Server licencjonowany przez klienta |
| Kopie danych | 3, 7 lub 30 dni wstecz wg wersji | Po stronie klienta |
| Aktualizacje | Software Maintenance NBD | Software Maintenance NBD |
| Administracja | Dostawca | Klient |
| Dostępne w wersjach | Basic, Standard, Procesor | Procesor, Developer |
Model chmurowy szerzej opisuje strona o WMS w chmurze.
Wymagania techniczne serwera i stanowisk
Tylko to, co ustalone w dokumentacji, bez zgadywania parametrów sprzętu.
Instalacja na własnym serwerze wymaga Windows Server z serwerem IIS i .NET Framework 4.8.1. Baza to Microsoft SQL Server. W mniejszych wdrożeniach dokumentacja instalacji dopuszcza wersję Express with Advanced Services, a w dużych centrach logistycznych stosuje się wersje komercyjne. Szczegóły podaje strona o instalacji i konfiguracji systemu WMS, a rolę IIS opisuje dokumentacja Microsoft.
Parametrów sprzętowych, takich jak liczba rdzeni czy pamięć RAM, nie podajemy ogólnie. Zależą od liczby użytkowników i wolumenu dokumentów, więc ustala je analiza przedwdrożeniowa. Stanowisko robocze potrzebuje przeglądarki, a terminal urządzenia z Androidem i zasięgu Wi-Fi.
Bezpieczeństwo na poziomie warstw
Cztery zabezpieczenia, po jednym na każdy styk systemów.
Cztery zabezpieczenia obejmują kolejne styki warstw. Kopie danych w chmurze sięgają wstecz o 3, 7 lub 30 dni zależnie od wersji, a aktualizacje i poprawki wchodzą w Software Maintenance NBD, obecny w każdym wariancie.
- Transport - połączenie użytkownika z aplikacją chroni HTTPS, a usługa Windows łączy się z zewnątrz wyłącznie ruchem wychodzącym.
- ERP - zapis tylko przez API producenta, odczyt kontem SQL tylko do odczytu.
- Baza - aplikacja loguje się dedykowanym kontem technicznym bez uprawnień administracyjnych.
- Uprawnienia - administrator przypisuje moduły użytkownikom i urządzeniom, a historia zapisów lokalizacji pozostaje w systemie.