Platforma StudioSystem GT: .NET 10, PostgreSQL 18, konfiguracja w Git wczytywana na gorąco i ten sam obraz w chmurze oraz u klienta. Opis i granice dojrzałości.
Oznaczenie GT nosi trzecia generacja platformy StudioSystem, na której SoftwareStudio buduje systemy magazynowe. Zmienia ona jednocześnie runtime i bazę danych: .NET 10 i PostgreSQL 18. Konfiguracja leży w plikach w Git, a serwer pracuje na Linuksie w kontenerach. Ta strona opisuje, jak platforma jest zbudowana, i wskazuje, czego jeszcze nie potrafi.
Funkcje opisane na pozostałych stronach tej witryny dotyczą obecnie Studio WMS.net na platformach ST i RS. Platforma GT jest kierunkiem rozwoju i ma własny zakres, który omawia sekcja o dojrzałości.
Z czego składa się platforma GT
Jeden proces z bazą danych i dwoma mikroserwisami obok.
Rdzeń napisano w .NET 10 na ASP.NET Core i zbudowano jako modular monolith: moduły działają w jednym procesie na instancję. Wywołanie między modułami nie opuszcza więc procesu i nie wymaga kolejki ani sieci. Dane trzyma PostgreSQL 18, a interfejs powstaje w Vue 3 z TypeScriptem i Vite, na własnym zestawie komponentów @gt-ui.
Dwie funkcje wyniesiono poza rdzeń. Mikroserwis wydruków zamienia szablony HTML na PDF przy użyciu Scriban i Chromium. Mikroserwis powiadomień wysyła pocztę i SMS-y z kolejki w PostgreSQL, opartej na mechanizmie LISTEN/NOTIFY, a pocztę obsługuje biblioteka MailKit. Dostęp do bazy transakcyjnej ma wyłącznie rdzeń, więc mikroserwisy nie czytają tabel magazynowych bezpośrednio.
Wyniesienie wydruków do osobnej usługi ma praktyczny skutek: Chromium renderujący PDF nie dzieli procesu z rdzeniem transakcyjnym. Zestawienie warstw pokazuje tabela.
| Warstwa | Technologia | Rola w systemie |
|---|---|---|
| Backend | .NET 10, ASP.NET Core, modular monolith | Jeden proces na instancję; jedyny dostęp do bazy transakcyjnej |
| Baza danych | PostgreSQL 18 | Brak kosztu licencji na instancję |
| Interfejs | Vue 3, TypeScript, Vite, @gt-ui | Własny zestaw 38 komponentów, bez licencji komercyjnych |
| Wydruki | Scriban, Chromium | Mikroserwis zamieniający HTML na PDF |
| Powiadomienia | MailKit, PostgreSQL LISTEN/NOTIFY | Mikroserwis poczty i SMS z kolejką w bazie |
| Obserwowalność | OpenTelemetry | Ślad od przeglądarki po mikroserwisy |
| Hosting | Docker, Traefik, GitOps | Instancja i baza na klienta; sekrety w SOPS i age |
Konfiguracja w Git, wczytywana na gorąco
Konfiguracja jako zwykłe pliki, które da się przejrzeć i cofnąć.
W starszych generacjach konfiguracja siedzi w kodzie stron albo w bazie danych. W GT stanowią ją pliki tekstowe w repozytorium Git (YAML, HTML, JS, CSS). Każda zmiana ma autora i datę, da się ją przejrzeć w różnicy przed wdrożeniem i cofnąć jak zwykły commit.
Platforma wczytuje pliki konfiguracji na gorąco. Dwa mechanizmy decydują o bezpieczeństwie takiej operacji:
- Wczytanie na gorąco - podmiana pliku u klienta odbywa się bez restartu i bez okna serwisowego.
- Walidacja fail-closed - plik, który jej nie przejdzie, nie wchodzi do użycia.
W pierwszej generacji nowa funkcja u klienta oznacza wgranie transakcji JS albo nowej wersji, w drugiej zwykle nową wersję aplikacji. Zestawienie wszystkich różnic zawiera porównanie trzech generacji StudioSystem.
Silnik RunSteps i zapytania codeSQL
Logika serwerowa jako kroki w YAML i zapytania w osobnych plikach.
Logika serwerowa nie siedzi w kodzie stron. Opisują ją dwa elementy:
- Kroki w YAML - silnik RunSteps wykonuje je po stronie serwera.
- Zapytania codeSQL - wersjonowane zapytania do bazy, używane przez silnik RunSteps.
Pakiet wspólny i systemowy zawiera 130 transakcji i 219 zapytań codeSQL. Zapytanie zapisane jako wersjonowany plik trafia do tego samego repozytorium co reszta konfiguracji i podlega tej samej historii zmian.
W drugiej generacji tę rolę pełni graf kroków (step processing) zapisany w JSON, a w pierwszej kod w stronach i procedurach. Dla zespołu, który utrzymuje system, różnica polega na tym, że w GT zmianę logiki widać jako zwykły diff pliku tekstowego.
Interfejs i wielojęzyczność
Własny zestaw komponentów i tłumaczenia w jednym pliku.
Zestaw @gt-ui liczy 38 komponentów i zastępuje komercyjne biblioteki interfejsu, które stały za drugą generacją (DevExpress i 78 zależności frontendu). Cały frontend GT ma 10 zależności produkcyjnych.
Wielojęzyczność jest wbudowana: tłumaczenia leżą w pliku obsługiwanym przez i18next. Kolejny język portalu to plik tłumaczeń i szablony, szacunkowo 8-10 godzin pracy. Ten sam zakres na pierwszej generacji kosztuje 80-100 godzin, bo wymaga skopiowania stron .aspx i wyciągnięcia komunikatów z kodu.
Własne biblioteki GT korzystają wyłącznie z licencji otwartych (MIT, Apache 2.0, PostgreSQL License). Dla klienta, który chce uniknąć komponentów komercyjnych, to jeden z powodów, by rozważyć tę platformę. Pakiet WMS na GT opisuje osobna strona o Studio WMS na platformie GT.
Wdrożenie w kontenerach i GitOps
Docker-first, ten sam obraz w chmurze i u klienta.
GT projektowano z myślą o kontenerach. Każdy klient ma własną instancję i własną bazę. Ruch przyjmuje reverse proxy Traefik, a wdrożenia przechodzą przez GitOps, z sekretami zarządzanymi przez SOPS i age. Tam, gdzie dane kilku klientów trafiają do jednej bazy, izolację zapewnia row-level security w PostgreSQL.
Ten sam obraz kontenera działa w chmurze SoftwareStudio i na serwerze klienta, więc nie istnieją osobne wydania chmurowe i lokalne. Serwer klienta musi być maszyną z Linuksem z dostępem do kontenerów, a hosting współdzielony PHP nie wystarcza. Dla porównania Studio WMS.net w wersji ST i RS pracuje na Windows Server, a opcję chmurową opisuje strona o WMS w chmurze.
Obserwowalność zapewnia OpenTelemetry. Ślad żądania zaczyna się w przeglądarce i biegnie przez rdzeń do mikroserwisów, więc wolne wywołanie da się przypisać do konkretnej warstwy. Silnik bazy opisują oficjalne notatki wydania PostgreSQL 18, a runtime opisuje przegląd nowości w .NET 10.
Dane z noty technologicznej
Liczby z pomiaru na realnym wolumenie danych.
Poniższe wartości pochodzą z noty technologicznej platformy GT z 19.08.2026. Test wykonano na realnym wolumenie danych, który podaje pierwszy wiersz tabeli.
| Parametr | Wartość | Uwagi |
|---|---|---|
| Wolumen testowy | ok. 10 tys. kartotek; 45 tys. dokumentów; ponad 150 tys. pozycji | Dane, na których wykonano pomiary |
| Migracje schematu bazy | 44 | Z rejestrem historii zmian |
| Zależności produkcyjne rdzenia backendu | 15 | Frontend ma 10 zależności produkcyjnych |
| Grid dokumentów | ok. 1,5 s do ok. 40 ms | Po rozdzieleniu zapytania o stronę i licznika rekordów |
| Wielostronicowy raport PDF | ok. 50 ms | Na rozgrzanym mikroserwisie wydruków |
Skrócenie odpowiedzi gridu dokumentów z około 1,5 s do około 40 ms wynikało z rozdzielenia jednego zapytania na dwa: jedno pobiera stronę wyników, drugie liczy rekordy. Czas 50 ms dla raportu PDF dotyczy rozgrzanego mikroserwisu wydruków.
Pakiety na platformie GT
Cztery pakiety na wspólnym rdzeniu.
Oferta na platformie GT dzieli się na pakiety. Poniższa tabela pokazuje, które z nich istnieją, i zaznacza granicę z Studio WMS.net na ST lub RS.
| Pakiet | Zakres | Uwagi |
|---|---|---|
| WMS | Magazyn na platformie GT | Bez pełnej obsługi partii z datą ważności i FEFO |
| NAR | Narzędziownia | Zakres ustalany w analizie przedwdrożeniowej |
| MAW | Awizacje | Zakres ustalany w analizie przedwdrożeniowej |
| Pakiet wspólny i systemowy | Transakcje i zapytania wspólne dla pakietów | 130 transakcji i 219 zapytań codeSQL |
Pakiet MAW obsługuje awizacje, a więc ten sam obszar, który opisuje strona o awizacji dostaw i oknach czasowych. Funkcje opisane na tamtej stronie dotyczą jednak obecnie Studio WMS.net na ST i RS, a nie pakietu MAW.
Zakres i dojrzałość platformy
Stan platformy bez zaokrąglania w górę.
Platforma GT jest młodsza od ST i RS i nie zastępuje ich w każdym zastosowaniu. Poniżej stan na 6.10.2026.
| Obszar | Stan | Co to znaczy w praktyce |
|---|---|---|
| Rdzeń, konfiguracja w Git, mikroserwisy | Opisane na tej stronie | Pakiety: WMS, NAR (narzędziownia), MAW (awizacje) oraz pakiet wspólny i systemowy |
| HubGT | W fazie testów | Warsztat do budowy menu i transakcji ze wsparciem AI nie jest jeszcze gotowym narzędziem do pracy |
| Migrator z ST i RS | Nie istnieje | Istniejące wdrożenie nie zamienia się automatycznie w konfigurację GT; migracje wykonuje się ręcznie |
| Głębsza logika magazynowa | Planowana | Egzemplarze i serie z rezerwacjami są w planach; pełnej obsługi partii z datą ważności i FEFO w pakiecie WMS jeszcze nie ma |
| Pakiety RMA i TMS | Brak na GT | Tych zakresów nie ma na platformie GT |
| Pełne prawa i kody źródłowe platformy | Poza zakresem GT | Runtime pozostaje własnością SoftwareStudio i jest licencjonowany; dla takiego wymagania buduje się system dedykowany od podstaw |
Brak migratora ma proste skutki organizacyjne. Przejście z ST lub RS planuje się jako osobny projekt, a nie jako przełączenie wersji, bo konfigurację przygotowuje się ręcznie w plikach GT. Dopóki HubGT jest w testach, tę pracę wykonuje się bez jego wsparcia.
Pakiet WMS na platformie GT nie ma jeszcze pełnej obsługi partii z datą ważności i FEFO. Magazyn z terminami przydatności wdraża się dziś na Studio WMS.net w wersji ST lub RS.
Z tej granicy wynika praktyczna reguła. GT wybiera się, gdy klient chce uniknąć licencji Microsoft albo potrzebuje wielu wersji językowych. Dochodzi do tego możliwość zmian bez okien serwisowych. Magazyn z partiami i terminami przydatności zostaje na platformach opisanych na stronie WMS SoftwareStudio. Kryteria wyboru zebrano w porównaniu trzech generacji platformy, a zakres konkretnego wdrożenia ustala analiza przedwdrożeniowa.
Licencja i model zakupu
Licencja wieczysta i wycena indywidualna.
Przy instalacji u klienta platformę GT kupuje się jako licencję wieczystą. Koszt bieżący to Software Maintenance: aktualizacje runtime i poprawki bezpieczeństwa. Rezygnacja z SM nie odbiera prawa do korzystania z systemu, a tylko wstrzymuje aktualizacje. Cena licencji nie zależy od liczby dokumentów ani lokalizacji.
Wersje WMS na platformie GT i moduły dedykowane są wyceniane indywidualnie, dlatego nie podajemy tu kwot. Różnicę między jednorazową licencją a abonamentem opisuje strona o licencji wieczystej i abonamencie WMS. Stawki abonamentowe Studio WMS.net na ST i RS są w cenniku, a własny zakres można opisać w formularzu wyceny. Ogólny obraz produktu daje strona System WMS.