Program magazynowy WMS.net

Programy internetowe w programie magazynowym WMS.net

Aplikacja internetowa w ASP.NET działa w przeglądarce, a dane trzyma w bazie MS SQL Server. Opisujemy jej budowę oraz zastosowania: sklep i ewidencję palet.

Opublikowano · Aktualizacja
www.programmagazyn.pl/baza-wiedzy/
Pionowe kolumny danych układające się w mozaikę błękitów i pomarańczu
Pionowe kolumny danych układające się w mozaikę błękitów i pomarańczu
W skrócie

Aplikacja internetowa w ASP.NET działa w przeglądarce, a dane trzyma w bazie MS SQL Server. Opisujemy jej budowę oraz zastosowania: sklep i ewidencję palet.

Program internetowy działa na serwerze, a użytkownik pracuje w przeglądarce. W magazynie przekłada się to na prosty skutek: kierownik i magazynier otwierają ten sam system bez instalowania czegokolwiek, a dane trafiają do jednej bazy.

Ta strona opisuje technologię ASP.NET i jej zastosowania w firmie. O gotowych programach magazynowych w przeglądarce piszemy w artykule o internetowych programach magazynowych, a o samym tworzeniu portali na stronie Tworzenie stron WWW w ASP.NET.

Od statycznych stron do aplikacji internetowych

Komputer pracujący wyłącznie na własnych zasobach ma ograniczone możliwości. Po podłączeniu do Internetu łączy się z podobnymi urządzeniami na całym świecie, współpracuje z nimi i korzysta z zasobów innych systemów. Programy internetowe wykorzystują ten mechanizm: dane leżą w jednym miejscu, a wiele komputerów pracuje na nich jednocześnie.

Sieć WWW zaczęła jako sposób prezentowania statycznych raportów i wyników badań naukowych z fizyki. Strona wyglądała tak samo dla każdego odwiedzającego, a informacje płynęły w jedną stronę. Gdy sprzęt i przesyłanie danych stały się dostępniejsze i tańsze, strony statyczne ustąpiły aplikacjom, które reagują na działania użytkownika.

Nowa możliwość przyniosła nowy problem, tym razem po stronie oprogramowania. Pisanie programów, które utrzymają bezpieczeństwo aplikacji internetowych, jest coraz trudniejsze. Zmieniające się zagrożenia wymagają od programistów ciągłej aktualizacji umiejętności.

Platforma Microsoft .NET oferuje prefabrykowaną infrastrukturę do typowych problemów oprogramowania internetowego. Mechanizm .NET Web Services pozwala serwerowi udostępniać funkcje dowolnym klientom. Windows Forms dają nowy sposób pisania bogatych aplikacji klienckich w środowisku .NET Framework. Platforma dostarcza też środowisko czasu wykonywania oraz dostęp do baz danych. Oficjalny opis technologii znajdziesz w dokumentacji ASP.NET na Microsoft Learn.

Ten sam program otwiera sklep i system magazynowy, bo przeglądarka jest klientem uniwersalnym. Firma nie utrzymuje różnych klientów, a użytkownik nie uczy się osobnej obsługi dla każdego systemu.

Różnicę między programem instalowanym na komputerze a portalem ASP.NET najłatwiej pokazać na kryteriach, które widzi administrator.

Aplikacja Windows i portal ASP.NET na kryteriach widocznych dla administratora
KryteriumAplikacja WindowsPortal ASP.NET
InstalacjaNa każdym komputerze osobnoBrak, wystarczy przeglądarka
AktualizacjaWymiana programu na stanowiskachJedna wymiana na serwerze
Miejsce wykonania logikiStanowisko użytkownikaSerwer, w kodzie C#
InterfejsBogaty klient okienkowy z Windows FormsStrony zbliżone do aplikacji Windows
Dostęp spoza firmyWymaga osobnej konfiguracjiPrzez adres internetowy, według uprawnień

Portal przenosi koszty utrzymania z wielu stanowisk na jeden serwer. Aktualizacja i kopia zapasowa dotyczą jednego miejsca, ale awaria serwera zatrzymuje pracę wszystkich użytkowników naraz. Dlatego przy portalu planuje się dostępność serwera i bazy.

Jak aplikacja ASP.NET obsługuje jeden formularz

Weźmy zapis dokumentu przyjęcia. Użytkownik wypełnia formularz w przeglądarce, a JavaScript sprawdza podstawowe warunki jeszcze przed wysłaniem, na przykład czy pole ilości zawiera liczbę. Dopiero potem przeglądarka wysyła do serwera żądanie HTTP.

Serwer wykonuje kod w C# i sprawdza dane ponownie, bo kontrola w przeglądarce nie chroni przed żądaniem spreparowanym poza formularzem. Następnie wywołuje procedurę T-SQL, która zapisuje nagłówek i pozycje dokumentu w jednej transakcji. Gdy którykolwiek zapis się nie powiedzie, baza wycofuje całość, więc dokument nie zostaje w stanie połowicznym.

Odpowiedź wraca do przeglądarki jako nowy fragment strony. Technika AJAX pozwala odświeżyć samą tabelę pozycji bez przeładowania całego ekranu, a użytkownik nie traci wpisanych danych.

Droga zapisu formularza przez przeglądarkę, serwer ASP.NET i bazę danych Trzy tory: przeglądarka, serwer ASP.NET i MS SQL Server. W przeglądarce użytkownik wypełnia formularz, a JavaScript kontroluje dane. Żądanie HTTP trafia na serwer, który sprawdza dane ponownie w C#. Procedura T-SQL zapisuje dokument w jednej transakcji w bazie. Serwer buduje odpowiedź z wynikiem zapisu, a AJAX odświeża w przeglądarce tabelę pozycji bez przeładowania strony. Przeglądarka JavaScript, jQuery Serwer ASP.NET kod w C# MS SQL Server procedury T-SQL 1. Formularz i kontrola w JavaScript 2. Żądanie HTTP i ponowna kontrola w C# 3. Procedura T-SQL w jednej transakcji 4. Serwer buduje odpowiedź z wynikiem zapisu 5. AJAX odświeża tabelę pozycji bez przeładowania
Droga jednego zapisu w aplikacji ASP.NET, od formularza w przeglądarce do odświeżonej tabeli pozycji.

Sesja i uprawnienia w przeglądarce

Protokół HTTP nie pamięta, kto wysłał poprzednie żądanie. Aplikacja rozwiązuje to sesją: po zalogowaniu serwer zapisuje, kim jest użytkownik, i przy każdym kolejnym żądaniu sprawdza jego prawa. Dzięki temu kierownik i magazynier, którzy otwierają ten sam adres, widzą różny zakres danych.

Sesja ma jednak swój koszt. Serwer trzyma w pamięci stan każdego zalogowanego użytkownika, więc przy wielu równoległych połączeniach trzeba pilnować jej czasu życia. Zbyt długa sesja obciąża serwer i wydłuża czas, w którym zostawiony bez nadzoru ekran pozostaje dostępny. Zbyt krótka wylogowuje magazyniera w trakcie pracy.

Bezpieczeństwo aplikacji internetowej

Aplikacja dostępna z przeglądarki jest widoczna z zewnątrz, więc bezpieczeństwo wymaga osobnej uwagi na każdym poziomie. Użytkownik loguje się, a system uprawnień ogranicza zakres jego pracy. Połączenie szyfruje się, a dane z formularzy traktuje jako niezaufane.

Dane z formularza uznaje się za niezaufane, dopóki serwer ich nie sprawdzi.

Zapytania do bazy buduje się z parametrów, a nie przez sklejanie tekstu, co zamyka drogę wstrzyknięciu SQL. Bibliotekom i platformie trzeba też zapewnić aktualizacje, bo zagrożenia zmieniają się szybciej niż same aplikacje.

Aplikacje internetowe na zamówienie

Programowanie aplikacji internetowych na zamówienie

SoftwareStudio wdraża rozwiązania informatyczne dla firm i programuje aplikacje internetowe na zamówienie. Zakres prac dopasowuje się do procesu klienta, a nie odwrotnie. Interfejs jest zbliżony do znanego z programów MS Office i Outlook, więc pracownik nie uczy się nowego sposobu obsługi okien i tabel.

Aplikacja powstaje w C# na platformie ASP.NET, a dane trzyma w bazie MS SQL Server, więc jej budowa jest taka sama jak opisana wyżej. Wersja przeglądarkowa działa na każdym stanowisku z dostępem do sieci.

Sklep internetowy w ASP.NET

Sklep Internetowy ASP.net umożliwia sprzedaż towarów i usług przez Internet. Opiera się na technologii Microsoft ASP.net oraz na oprogramowaniu CMS do zarządzania treścią, co ułatwia codzienną pracę z ofertą. CMS oddziela treść od kodu: pracownik zmienia opis oferty w panelu, a aplikacja ASP.NET wyświetla go na stronie. Programista nie musi wtedy ingerować w każdą zmianę tekstu.

Sklep wspiera działania marketingowe związane z promocją oferty i pomaga dotrzeć do nowych klientów. Strony są przygotowane tak, by widzieli je zarówno klienci, jak i wyszukiwarki, głównie Google.

Integracja z porównywarkami ofert

Sklep integruje się z portalami porównującymi oferty i ceny sklepów internetowych. Klient porównuje produkty i wybiera najlepszą ofertę, a firma zyskuje dodatkowy kanał dotarcia do kupujących. Zamówienia ze sklepu trafiają potem do magazynu, o czym piszemy na stronie o WMS dla e-commerce.

Od zamówienia w sklepie do wydania z magazynu

Zamówienie złożone w sklepie jest dopiero początkiem pracy magazynu. Gdy sklep jest zintegrowany z systemem magazynowym, zamówienie przechodzi do niego jako dokument i rezerwuje towar na stanie. Magazynier kompletuje je według lokalizacji, a po wysyłce system przekazuje do sklepu status zamówienia.

Stany magazynowe działają w drugą stronę. Sklep pokazuje klientowi dostępność towaru na podstawie aktualnych stanów, więc nie sprzedaje pozycji, której nie ma na półce. Różnica między stanem w sklepie a stanem w magazynie oznacza błąd integracji, który trzeba znaleźć w dokumentach.

Sklepy dla klientów firmowych i indywidualnych

Sklepy internetowe stały się głównym kanałem komunikacji firm z klientami. W obszarze biznesowym działają rozwiązania B2B, w indywidualnym rozwiązania B2C. Oba oparte są na technologii Microsoft ASP.net i systemie zarządzania treścią CMS, co zapewnia skuteczną sprzedaż online oraz łatwą pracę z oprogramowaniem sklepu.

Gospodarka paletami w przeglądarce

Sprawna gospodarka paletami wpływa na wydajność magazynu, bo liczy się ich rozmieszczenie oraz transport. Oprogramowanie dostępne z przeglądarki ułatwia tę gospodarkę, bo dane o paletach widzą jednocześnie wszystkie uprawnione osoby. Pozwala to lepiej wykorzystać miejsce w magazynie.

Program do gospodarki paletami od SoftwareStudio obsługuje przyjęcia i zwroty palet. Saldo palet rozlicza się na kierowców i przewoźników, a osobne rozliczenie dotyczy kontrahentów. Szczegóły opisuje strona o rozliczaniu salda palet.

Saldo palet pokazuje, ile palet danego typu pozostaje do rozliczenia między firmą a drugą stroną. Dopóki zwrot nie zostanie zapisany, saldo pozostaje otwarte, więc rozliczenie opiera się na dokumentach, a nie na pamięci. Zapis ilościowy wystarcza, bo palety tego samego typu są wymienne i nie wymagają osobnych numerów.

Przyjęcie palet rejestruje się na podstawie kwitu wystawianego przy bramie wjazdowej, a ich zwrot ewidencjonuje się ilościowo.

Gospodarka paletami współpracuje z systemem kontroli zapasów. System monitoruje zapasy w magazynie i zarządza nimi, więc firma lepiej wykorzystuje dostępne zasoby. Informacje o dostawach i poziomie zapasów są dostępne w czasie rzeczywistym, co ułatwia planowanie i optymalizację.

Aplikacja internetowa w codziennej pracy magazynu

Aplikacja internetowa działa przez przeglądarkę i zachowuje się jak standardowa aplikacja Windows, więc praca w niej jest intuicyjna. Interfejs znany z programów MS Office i Outlook skraca naukę obsługi. Pierwszym krokiem pracy jest logowanie, po którym aplikacja wczytuje uprawnienia użytkownika.

Inwentaryzacja w programie WMS.net

Inwentaryzacja w programie WMS Net ustala rzeczywisty stan magazynu i porównuje go ze stanem zapisanym w systemie. Spis wykonuje się na tych samych kartotekach, które służą ewidencji bieżącej. Regularne liczenie ujawnia różnice między rzeczywistością a dokumentacją. Różnica dodatnia oznacza nadwyżkę, a ujemna niedobór. Po wyjaśnieniu różnic dane są dokładniejsze, a firma lepiej planuje zakupy i zarządza zapasami.

Kartoteki magazynowe w programie WMS.net

Kartoteki magazynowe w programie WMS Net gromadzą dane o towarze, na przykład jego lokalizację i stany. Użytkownik przegląda szczegóły i śledzi ruchy towaru. Rzetelne kartoteki podnoszą też dokładność inwentaryzacji, bo spis porównuje się z aktualnymi zapisami.

Wydajność aplikacji przy wielu użytkownikach

Lista dokumentów w magazynie liczy tysiące wierszy, więc aplikacja nie wysyła ich wszystkich do przeglądarki. Serwer pobiera z bazy jedną stronę wyników, a indeksy na kolumnach filtrowania i sortowania skracają to zapytanie. Filtr wpisany przez użytkownika trafia do T-SQL jako parametr, więc baza przeszukuje tylko potrzebny wycinek danych.

Równoczesna praca wielu osób wymaga krótkich transakcji. Im krócej baza blokuje wiersze dokumentu, tym rzadziej jedna osoba czeka na drugą. Z tego powodu zapis dokumentu wykonuje się jedną procedurą, a nie serią osobnych żądań z przeglądarki.

Kopie zapasowe i dostępność

Baza MS SQL Server przechowuje wszystkie dokumenty magazynu, więc jej kopia zapasowa jest podstawowym zabezpieczeniem. Kopię wykonuje się według harmonogramu, a jej odtworzenie sprawdza się osobno, bo kopia, której nie da się odtworzyć, nie chroni danych.

Aktualizację aplikacji wykonuje się na serwerze poza godzinami pracy magazynu, a zmiana obejmuje od razu wszystkie stanowiska. Użytkownik po odświeżeniu strony pracuje już na nowej wersji.

Dokumenty prawne aplikacji internetowej

Aplikacja dostępna z przeglądarki przetwarza dane osobowe użytkowników, więc jej działanie opisuje polityka prywatności. Dokument określa zasady ochrony tych danych. Przejrzystość działań firmy buduje zaufanie klientów.

Warunki korzystania opisują zasady użytkowania oprogramowania przez klientów. Często obejmują licencje i odpowiedzialność stron, dzięki czemu obie strony unikają nieporozumień.

Technologie za aplikacją internetową

Warstwa serwerowa działa w C# na platformie ASP.NET, a dane leżą w bazie MS SQL Server. Logikę zapisu realizują procedury T-SQL, a transakcje pilnują integralności informacji. Po stronie przeglądarki pracuje JavaScript z biblioteką jQuery.

Użytkownik łączy się zdalnie, więc rozwiązania chmurowe ułatwiają dostęp do aplikacji i danych. Serwer może stać w firmie albo w chmurze, a pracownik w obu przypadkach otwiera ten sam adres. Dla magazynierów powstała aplikacja na terminale z Androidem, którą opisuje strona o terminalu Android.

Program magazynowy WMS.net

Programy internetowe w programie magazynowym WMS.net

Dedykowany program zamiast arkusza Excel

SoftwareStudio dostarcza rozwiązania dla logistyki magazynowej, a jego produktem jest Magazyn WMS.net. Magazyn można prowadzić na zasadzie outsourcingu albo skorzystać z usługi magazynowania w magazynie logistycznym, w którym przechowuje się towar innych firm. Przedsiębiorstwo zajmuje się wtedy swoim głównym biznesem, a zarządzanie towarem przejmuje operator.

Kiedy standardowy program przestaje wystarczać

Wiele firm wspiera się arkuszami kalkulacyjnymi MS Excel, ale arkusz przestaje wystarczać, gdy rośnie liczba dokumentów i osób zmieniających te same dane. Podobnie bywa, gdy standardowy program nie spełnia oczekiwań albo użytkownik nie ma wiedzy, jak go skonfigurować.

Arkusz ma jeszcze jedną słabość: nie pilnuje spójności. Nikt nie blokuje wpisania ilości ujemnej ani zdublowanego indeksu, a po miesiącu pracy trudno ustalić, kto zmienił wartość. Baza danych z kontrolą po stronie serwera takie błędy odrzuca przy zapisie.

W takiej sytuacji można zaprojektować dedykowany program dopasowany do procesu firmy. SoftwareStudio tworzy aplikacje Windows w C# oraz portale internetowe w ASP.NET z użyciem AJAX. Pomaga też dostosować arkusze Excela i zautomatyzować pracę przez programowanie makr.

Co ustala się przed zleceniem programu

Przed zleceniem dedykowanego programu opisuje się proces i dane, na których on pracuje. Rozmowa obejmuje cztery obszary.

  • Proces - kolejność czynności i dokumenty, które z nich powstają.
  • Użytkownicy - role oraz zakres uprawnień każdej z nich.
  • Dane - źródła informacji, w tym istniejące arkusze, i miejsce docelowe zapisu.
  • Środowisko - serwer, baza MS SQL Server i sposób dostępu z przeglądarki.

Takie ustalenia przekładają się na harmonogram prac i koszt, dlatego zapisuje się je przed napisaniem pierwszej linii kodu.

Wybór narzędzia zależy od skali procesu. Poniższa tabela zestawia cztery rozwiązania oraz granice, przy których przestają wystarczać.

Narzędzia dla procesów magazynowych: kiedy wystarczają i gdzie przestają
RozwiązanieKiedy wystarczaGdzie przestaje wystarczać
Arkusz ExcelMała liczba dokumentów i jedna osoba przy danychKilka osób zmienia te same dane naraz
Makro ExcelaPowtarzalna czynność w istniejącym arkuszuDane nadal leżą w pliku, a nie w bazie
Aplikacja Windows w C#Stałe stanowiska w jednej firmieKażda zmiana wymaga wymiany programu na komputerach
Portal ASP.NET z AJAXWielu użytkowników i dostęp z przeglądarkiWymaga serwera i stałej dbałości o bezpieczeństwo
Słownik pojęć

Pojęcia z aplikacji internetowych w ASP.NET

Techniczne nazwy użyte w artykule, wyjaśnione od strony osoby, która obsługuje aplikację.

ASP.NETTechnologia portali internetowych
Platforma Microsoft do budowy aplikacji dostępnych w przeglądarce. Kod serwera pisze się w niej w języku C#.
AJAXOdświeżanie fragmentu strony
Technika, w której przeglądarka wysyła żądanie w tle i podmienia tylko część ekranu. Użytkownik nie traci wpisanych danych.
HTTPŻądanie i odpowiedź
Protokół, którym przeglądarka prosi serwer o stronę lub zapis danych. Serwer odsyła wynik w odpowiedzi.
TransakcjaTransakcja bazy danych
Grupa operacji zapisywana w całości albo wcale. Gdy jeden zapis zawiedzie, baza wycofuje pozostałe.
T-SQLProcedura składowana
Kod w języku T-SQL przechowywany w bazie MS SQL Server. Zapisuje dokument i pilnuje spójności danych.
CMSSystem zarządzania treścią
Oprogramowanie, w którym zmienia się treść sklepu bez ingerencji w kod. Sklep Internetowy ASP.net korzysta z niego do zarządzania ofertą.
SaldoSaldo palet
Rozliczenie liczby palet wydanych i zwróconych. Prowadzi się je dla kierowców, przewoźników oraz kontrahentów.
FAQ

Programy internetowe - najczęstsze pytania

01

Czym jest program internetowy i czym różni się od aplikacji Windows?

Program internetowy działa na serwerze, a użytkownik obsługuje go w przeglądarce, bez instalacji na stanowisku. Aplikacja Windows uruchamia się na komputerze użytkownika, więc każda aktualizacja wymaga wymiany programu na stanowiskach. Portal ASP.NET wymienia się raz, na serwerze.

02

Co dzieje się po zapisie formularza w aplikacji ASP.NET?

Przeglądarka wysyła żądanie HTTP, a serwer sprawdza dane w kodzie C#. Następnie procedura T-SQL zapisuje dokument w jednej transakcji, więc przy błędzie baza wycofuje cały zapis. Dzięki technice AJAX odświeża się tylko zmieniony fragment ekranu.

03

Jaką rolę pełni platforma Microsoft .NET w aplikacjach internetowych?

Platforma dostarcza gotową infrastrukturę do typowych problemów oprogramowania internetowego. Mechanizm .NET Web Services wystawia funkcje serwera dowolnym klientom, a Windows Forms służą do pisania bogatych aplikacji klienckich. Platforma obejmuje też środowisko czasu wykonywania oraz dostęp do baz danych.

04

Czy SoftwareStudio tworzy aplikacje internetowe na zamówienie?

Tak, SoftwareStudio programuje aplikacje internetowe na zamówienie i wdraża rozwiązania informatyczne dla firm. Interfejs jest zbliżony do znanego z programów MS Office i Outlook. Zakres prac zależy od procesu klienta.

05

Na czym polega Sklep Internetowy ASP.net?

Sklep umożliwia sprzedaż towarów i usług przez Internet i opiera się na technologii Microsoft ASP.net oraz na oprogramowaniu CMS. Wspiera działania marketingowe oraz widoczność stron w wyszukiwarkach, przede wszystkim w Google. Pozwala też na integrację z portalami porównującymi oferty i ceny innych sklepów.

Chcesz dowiedzieć się więcej o programie magazynowym WMS.net?

Uruchom bezpłatne demo programu magazynowego WMS.net lub zapytaj o szczegóły wdrożenia.