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.
Spis treści
- Co oznacza framework w oprogramowaniu magazynowym
- Wersja Framework i wersja przeglądarkowa
- Wymagania środowiska
- Modułowa budowa i rozbudowa systemu
- Integracja przez API i WebService
- Ewidencja ilościowo-wartościowa na jednej platformie
- Pytania o platformę przed wyborem systemu
- Bezpieczeństwo i stabilność platformy
- Pytania i odpowiedzi o framework technologiczny WMS
- Glosariusz pojęć związanych z technologią Studio WMS.net
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.
| Warstwa | Technologia | Rola w systemie |
|---|---|---|
| Klient przeglądarkowy | ASP.net na serwerze WWW | strony generowane na serwerze, praca bez instalacji |
| Klient Framework | aplikacja Windows na .NET Framework 3.5 | praca wielookienkowa w trybie zakładek |
| Baza danych | Microsoft SQL Server | stany, dokumenty, transakcje |
| Integracje | API i usługi WebService | wymiana danych z ERP i innymi systemami |
| Terminale | aplikacja na Androida | skanowanie 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.
- Serwer aplikacji. Windows Server z serwerem WWW, na którym działa witryna Studio WMS.net.
- Serwer bazy. Microsoft SQL Server, w małych instalacjach także edycja Express.
- Stacja robocza. Przeglądarka albo klient Framework z włączonym .NET Framework 3.5.
- Terminal. Urządzenie z Androidem i aplikacją mobilną, połączone z serwerem przez sieć lokalną lub Wi-Fi.
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.
- Szybszy rozwój. Gotowe komponenty skracają czas tworzenia nowej funkcji.
- Jakość. Przetestowane mechanizmy platformy zmniejszają liczbę błędów w obsłudze danych.
- Łatwiejsze utrzymanie. Jednolita struktura kodu upraszcza diagnozę i poprawki.
- Zgodność. Wspólne standardy ułatwiają łączenie z innymi systemami i bibliotekami.
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.
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.
- Wersja platformy. Czy stacje robocze mają włączony wymagany .NET Framework i czy polityka firmy na to pozwala.
- Edycja bazy. Czy wystarczy bezpłatna edycja SQL Server, czy potrzebna jest wersja z większymi limitami.
- Aktualizacje. Kto i w jakim oknie czasowym wdraża nowe wersje na serwerze i stanowiskach.
- Interfejsy. Jakie systemy zewnętrzne trzeba podłączyć i przez jaką usługę wymieniają dane.
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.