W informatyce framework oznacza gotowy zestaw komponentów i reguł, na którym buduje się aplikację zamiast pisać każdy element od początku. W Studio WMS.net słowo ma jeszcze drugie znaczenie: tak nazywa się wersja programu instalowana na stacji roboczej. Obie sprawy dotyczą jednego pytania, czyli na jakiej technologii pracuje system magazynowy i co z tego wynika dla użytkownika.

Co oznacza framework w oprogramowaniu magazynowym

Dostawca oprogramowania korzysta z gotowych mechanizmów obsługi danych i interfejsu, a własny kod dopisuje tam, gdzie magazyn ma specyficzne wymagania. Programista pisze wtedy mniej kodu, a struktura aplikacji pozostaje przewidywalna dla każdego, kto ją później utrzymuje. Sprawdzone komponenty są też lepiej przetestowane niż mechanizmy napisane na potrzeby jednego projektu, co zmniejsza liczbę błędów w obsłudze danych. Aplikacje Windows SoftwareStudio opierają się na Microsoft .NET Framework w wersji 3.5. Aplikacje webowe działają na platformie ASP.net, a bazą jest Microsoft SQL Server.

WarstwaTechnologiaRola w systemie
Klient przeglądarkowyASP.net na serwerze WWWstrony generowane na serwerze, praca bez instalacji
Klient Frameworkaplikacja Windows na .NET Framework 3.5praca wielookienkowa w trybie zakładek
Baza danychMicrosoft SQL Serverstany, dokumenty, transakcje
IntegracjeAPI i usługi WebServicewymiana danych z ERP i innymi systemami
Terminaleaplikacja na Androidaskanowanie i potwierdzanie operacji przy regale

Reguła: wersja Framework wymaga na stacji roboczej włączonej funkcji .NET Framework 3.5. W Windows 10 i 11 jest to opcjonalny składnik systemu, więc przed rozdaniem stanowisk trzeba sprawdzić, czy administrator go aktywował. Instalacja składnika wymaga uprawnień administratora lokalnego i często dostępu do Internetu albo nośnika instalacyjnego.

Wersja Framework i wersja przeglądarkowa

Wersja Framework instaluje się na stacji roboczej użytkownika i łączy z aplikacją Studio WMS.net. W odróżnieniu od wersji webowej pozwala pracować w trybie zakładek, podobnie jak w arkuszu kalkulacyjnym. Użytkownik może mieć jednocześnie otwarte kilka zestawień i raportów, co skraca porównywanie danych.

Obie wersje łączą się z tą samą aplikacją Studio WMS.net, więc pracują na tych samych danych i zmiany z jednej widać w drugiej. Różnica dotyczy sposobu pracy na biurku: przeglądarka nie wymaga instalacji, a klient Framework daje wygodę wielu okien. W jednej firmie można więc połączyć oba warianty, na przykład klienta Framework w biurze i przeglądarkę na stanowiskach, które często się zmieniają. Tryby dostępu przez sieć opisuje strona o pracy w sieci lokalnej lub przez Internet.

Wymagania środowiska

Aplikacje webowe SoftwareStudio dynamicznie generują strony po stronie serwera, więc serwer musi przyjmować dane od użytkownika i odsyłać wyniki. Działają na serwerach z systemem Windows, a optymalnym wyborem jest Windows Server. Podstawowym serwerem bazodanowym dla aplikacji w technologii ASP.net jest SQL Server.

Aktualizacje wersji przeglądarkowej wdraża się centralnie na serwerze, więc wszyscy użytkownicy dostają nową wersję jednocześnie. Klient Framework wymaga aktualizacji na każdym stanowisku, co przy kilkudziesięciu komputerach trzeba ująć w planie wdrożenia. Szerszy kontekst opisuje strona o internetowym programie magazynowym.

Modułowa budowa i rozbudowa systemu

System składa się z niezależnych modułów, z których każdy odpowiada za inny obszar. Firma może zacząć od przyjęć i wydań, a lokalizacjami zająć się później. Taki podział pozwala rozłożyć wdrożenie w czasie i nie wymusza zakupu całego systemu na starcie, a moduły działają na wspólnych kartotekach. W miarę rozwoju dochodzą kolejne moduły, na przykład obsługa logistyki 3PL albo zarządzanie placem manewrowym.

Standardowe komponenty skracają także dodawanie nowych funkcji. Programista nie pisze od nowa obsługi formularza i połączenia z bazą, tylko korzysta z gotowych elementów. Zakres funkcjonalny opisuje strona o zakresie funkcjonalnym Studio WMS.net, a model dla operatorów kontraktowych strona o oprogramowaniu WMS dla 3PL.

Integracja przez API i WebService

Magazyn nie pracuje w izolacji. Platforma udostępnia interfejsy API i usługi WebService, przez które Studio WMS.net wymienia dane z systemami ERP, na przykład z SAP lub Enova. Zamówienia i faktury nie wymagają wtedy wpisywania w dwóch miejscach. Podobnie łączy się platformy e-commerce i systemy firm kurierskich. Przebieg projektu opisuje strona o integracji WMS z SAP.

Siedem etapów integracji Studio WMS.net z SAP lub innym systemem ERP - od analizy po wsparcie powdrożeniowe
Etapy integracji Studio WMS.net z systemem nadrzędnym

Kolejka wymiany w bazie danych

Przy integracji przez WebService wiadomości często lądują najpierw w tabeli pośredniej ze statusem. Osobny proces pobiera je po jednej, bez blokowania pozostałych. Poniższy przykład jest ilustracyjny i pokazuje wzorzec kolejki, a nie kod produktu.

WITH nastepny AS (
    SELECT TOP (1) *
    FROM dbo.KolejkaIntegracji WITH (ROWLOCK, UPDLOCK, READPAST)
    WHERE Status = 'NOWY'
    ORDER BY KolejkaId
)
UPDATE nastepny
SET Status = 'W_TOKU', PoczatekPrzetwarzania = SYSDATETIME()
OUTPUT inserted.KolejkaId, inserted.Typ, inserted.Tresc;

Wskazówka UPDLOCK zatrzymuje wybrany wiersz dla jednego procesu, a READPAST pozwala drugiemu procesowi pominąć zablokowany wiersz zamiast na niego czekać. Klauzula OUTPUT zwraca dane wiadomości w tym samym poleceniu, więc nie ma okna, w którym dwa procesy odczytają ten sam komunikat. Zasady blokad i wersjonowania wierszy opisuje przewodnik po blokadach w SQL Server.

Stan kolejki można sprawdzać prostym zestawieniem z podziałem na statusy, które pokazuje, czy wiadomości się nie gromadzą.

SELECT Status, COUNT(*) AS Liczba, MIN(Utworzono) AS NajstarszaWiadomosc
FROM dbo.KolejkaIntegracji
GROUP BY Status;

Rosnąca liczba wiadomości o statusie NOWY przy stałym czasie najstarszej wskazuje, że proces przetwarzający nie nadąża albo stoi. Po przetworzeniu wiadomość dostaje status końcowy albo trafia do osobnej tabeli błędów. Przy powtórzeniu tego samego komunikatu przez ERP po przekroczeniu czasu operacja musi dawać ten sam wynik, więc numer wiadomości z systemu zewnętrznego zapisuje się z unikalnym ograniczeniem.

Ewidencja ilościowo-wartościowa na jednej platformie

Studio WMS.net prowadzi ewidencję ilościowo-wartościową w magazynach wysokiego składowania, więc ten sam dokument zmienia jednocześnie ilość i wartość zapasu. Wspólna platforma i baza oznaczają, że księgowość widzi stan taki sam jak magazyn. Obieg dokumentów opisują dokumenty magazynowe.

Pytania o platformę przed wyborem systemu

Technologia wpływa na koszty wdrożenia i utrzymania, więc pytania o nią zadaje się przed podpisaniem umowy. Odpowiedzi dotyczą stacji roboczych i bazy danych.

Bezpieczeństwo i stabilność platformy

Studio WMS.net opiera się na technologiach Microsoft, a ich zasady wdrożenia są opisane w dokumentacji producenta. Kontrola dostępu i szyfrowanie działają w warstwie aplikacji i bazy, więc poufne dane nie zależą od ustawień jednej stacji roboczej. Role opisuje strona o rolach i użytkownikach WMS.

Stabilność pracy przy dużym obciążeniu zależy od bazy i jej konfiguracji. Administracja kopiami zapasowymi i indeksami jest opisana na stronie o zarządzaniu bazą danych SQL, a limity bezpłatnej edycji na stronie o SQL Express w WMS. Mobilny klient opisuje strona o WMS na Androidzie. Dedykowana aplikacja pojawiła się w 2014 roku i zastąpiła rozwiązania oparte na Windows Mobile oraz Windows CE.

Pełny opis rozwiązania znajduje się na stronie Studio WMS.net. Czytelnik szukający przeglądu całego systemu zacznie od strony o WMS.net.

Pytania i odpowiedzi o framework technologiczny WMS

To zestaw gotowych bibliotek, komponentów i reguł, na którym buduje się aplikację. W Studio WMS.net oznacza też wersję programu instalowaną na stacji roboczej, która pracuje w trybie zakładek. Obie wersje łączą się z tą samą aplikacją i pracują na tych samych danych.

Aplikacje Windows SoftwareStudio opierają się na Microsoft .NET Framework w wersji 3.5. W nowszych wersjach Windows jest to opcjonalny składnik systemu, który trzeba włączyć w ustawieniach funkcji systemu Windows.

Wersję Framework instaluje się na komputerze, a ona łączy się z aplikacją Studio WMS.net i pozwala pracować w kartach, jak w arkuszu kalkulacyjnym. Wersja przeglądarkowa nie wymaga instalacji i działa na ASP.net z dowolnego urządzenia.

Platforma udostępnia API i usługi WebService, więc można połączyć system z ERP, na przykład SAP lub Enova, z platformami e-commerce i systemami kurierskimi. Zakres wymiany ustala się w analizie wdrożeniowej.

Tak. System ma budowę modułową, więc można zacząć od przyjęć i wydań, a później dodać zarządzanie lokalizacjami, obsługę 3PL albo moduł placu manewrowego.

Glosariusz pojęć związanych z technologią Studio WMS.net

Framework
Zestaw bibliotek, komponentów i reguł, na którym buduje się aplikację zamiast pisać każdy element od początku.
.NET Framework 3.5
Platforma Microsoft, na której działają aplikacje Windows SoftwareStudio. W nowszych wersjach Windows wymaga włączenia jako składnik opcjonalny.
ASP.net
Platforma Microsoft do aplikacji webowych, w której strony są generowane na serwerze i wysyłane do przeglądarki.
WebService
Usługa wymiany danych między systemami przez sieć w ustalonym formacie, używana do integracji z ERP.
API
Zestaw zdefiniowanych poleceń, przez które jeden system udostępnia funkcje i dane innemu systemowi.
Tryb zakładek
Sposób pracy, w którym kilka rejestrów jest otwartych w jednym oknie i przełącza się między nimi kartami.
Moduł
Funkcjonalnie wyodrębniona część systemu, na przykład przyjęcia, lokalizacje albo obsługa 3PL, którą można dołączyć osobno.
Tabela pośrednia
Tabela, w której wiadomość z innego systemu czeka na przetworzenie, ze statusem określającym jej etap.
READPAST
Wskazówka SQL Server, która każe pominąć wiersze zablokowane przez inną sesję zamiast czekać na ich zwolnienie.

Warto przeczytać