To, czy system przetrwa kolejne lata, zależy mniej od daty w kalendarzu, a bardziej od tego, na jakich technologiach jest zbudowany i czy dostawca regularnie przenosi go na wspierane wersje. Studio TCS.net działa na .NET 8 LTS z zaplanowaną migracją do .NET 10, ma frontend w Vue.js 3, warstwę danych w Entity Framework Core, architekturę SOA i interfejs działający w przeglądarce bez wtyczek.

Dział IT, który ocenia system do zarządzania narzędziownią, powinien zapytać nie tylko o funkcje, ale też o cykl życia technologii. Oprogramowanie oparte na frameworku bez wsparcia producenta przestaje otrzymywać poprawki bezpieczeństwa, a system wymagający przestarzałych wtyczek przeglądarki staje się problemem przy każdej aktualizacji stacji roboczych. Ten artykuł wyjaśnia, co w praktyce oznaczają poszczególne elementy stosu technologicznego.

Dlaczego stos technologiczny ma znaczenie

System do zarządzania narzędziownią pracuje w firmie zwykle wiele lat. Przez ten czas zmieniają się przeglądarki, systemy operacyjne i wymagania bezpieczeństwa. Przestarzałe technologie powodują kilka typowych problemów:

  • Brak poprawek bezpieczeństwa - framework po zakończeniu wsparcia nie otrzymuje łatek na nowe podatności.
  • Wtyczki przeglądarki - aplikacje wymagające Javy, Flasha czy Silverlighta przestały działać w aktualnych przeglądarkach.
  • Trudne integracje - monolit bez interfejsów API utrudnia połączenie z ERP czy MES.
  • Kosztowna migracja - im dłużej system stoi na starej wersji, tym większy skok przy przenosinach.

Stos technologiczny Studio TCS.net

WarstwaTechnologiaCo to daje w praktyce
BackendMicrosoft .NET 8 LTS, planowana migracja do .NET 10Wspierana wersja frameworka z poprawkami bezpieczeństwa
Dostęp do danychEntity Framework CoreParametryzacja zapytań chroniąca przed SQL Injection
Baza danychMicrosoft SQL ServerTransakcyjność, indeksowanie, kopie zapasowe online
FrontendVue.js 3.x, aplikacja SPASzybki interfejs bez przeładowywania stron
Aplikacja klienckaHTML5, zero-footprintBrak wtyczek i instalacji na stacjach roboczych
InterfejsResponsywny (RWD)Jeden interfejs na monitory, tablety, kioski i smartfony
Serwer aplikacyjnyIIS z Windows AuthenticationLogowanie kontem domenowym
ArchitekturaSOA, budowa modularna, REST APIRozbudowa i integracje bez przebudowy całości

Pełne parametry podaje specyfikacja techniczna.

Cykl wsparcia .NET - co oznacza horyzont kilku lat

Microsoft wydaje nową wersję .NET co roku w listopadzie. Wersje parzyste mają status LTS i otrzymują wsparcie przez trzy lata, a wersje nieparzyste - krócej. Dla systemów biznesowych oznacza to rytm migracji z jednej wersji LTS na kolejną:

WersjaWydanieKoniec wsparciaZnaczenie dla Studio TCS.net
.NET 8 LTSListopad 2023Listopad 2026Obecna podstawa backendu
.NET 10 LTSListopad 2025Listopad 2028Zaplanowany kierunek migracji

O tym, czy system będzie bezpieczny za kilka lat, decyduje więc to, czy dostawca ma plan i praktykę regularnych migracji. Żadna pojedyncza wersja frameworka nie zapewnia wsparcia na dowolnie długi okres - bezpieczeństwo wynika z konsekwentnego przechodzenia na kolejne wersje LTS. Przy wdrożeniu on-premise warto uzgodnić z dostawcą harmonogram aktualizacji serwera aplikacyjnego.

Ochrona przed SQL Injection

SQL Injection to atak, w którym złośliwy fragment zapytania wpisany w formularz zmienia działanie bazy danych. Należy do najczęstszych zagrożeń aplikacji webowych wymienianych na liście OWASP Top 10. Entity Framework Core ogranicza to ryzyko na poziomie architektury:

  • Zapytania LINQ - wartości wpisane przez użytkownika są przekazywane jako parametry, a nie jako część kodu SQL.
  • Zapytania interpolowane - mechanizm FromSqlInterpolated zamienia wstawione wartości na parametry.
  • Jednolity standard w zespole - bezpieczny sposób budowania zapytań jest domyślny, a nie zależny od pamięci programisty.

Interfejs bez wtyczek dla wszystkich urządzeń

Interfejs Studio TCS.net jest aplikacją SPA w Vue.js 3, działającą w przeglądarkach Chrome, Edge, Firefox i Safari bez instalacji dodatkowego oprogramowania. Przykładem jest wyszukiwarka transakcji otwierana skrótem Ctrl + K, która podpowiada funkcje i raporty po fragmencie nazwy i reaguje od razu, bez przeładowania strony. Brak wtyczek oznacza mniej wektorów ataku i brak kosztów utrzymania oprogramowania klienckiego na każdym stanowisku. Responsywny układ pozwala korzystać z tego samego interfejsu na komputerze, tablecie i smartfonie.

Logowanie i Active Directory

Ekran logowania z polami Użytkownik i Hasło obsługuje konta lokalne, ale serwer IIS pozwala też na Windows Authentication, a system integruje się z Active Directory i Azure AD z logowaniem SSO. Dział IT zarządza wtedy kontami w jednym miejscu, a zablokowanie konta w domenie odcina dostęp do systemu. Dodatkowo dostępne jest uwierzytelnianie wieloskładnikowe TOTP i tokeny sprzętowe. Konfigurację ról opisuje artykuł o personalizacji uprawnień.

Architektura SOA i integracje

W architekturze SOA każda funkcja działa jako osobna usługa, a moduły komunikują się przez interfejsy. Dzięki temu nową integrację czy moduł dodaje się bez zatrzymywania działających elementów. Menu importu kartotek pokazuje oba poziomy wymiany danych: import plików CSV i XLS dla kartotek magazynowych, kontrahentów i pracowników oraz panel API do systemów ERP, w którym wymieniono m.in. SAP, JD Edwards, Microsoft Dynamics, IFS, Comarch ERP Optima i XL, enova, Sage Symfonia i WAPRO ERP. Szczegóły opisuje artykuł architektura SOA i REST API.

Pytania do dostawcy przed wyborem systemu

  1. Na jakiej wersji frameworka działa system i kiedy kończy się jej wsparcie?
  2. Jaki jest plan migracji na kolejną wersję LTS i kto ponosi jej koszt?
  3. Czy aplikacja wymaga wtyczek lub instalacji na stacjach roboczych?
  4. Jak system chroni przed SQL Injection i innymi podatnościami aplikacji webowych?
  5. Czy obsługuje logowanie domenowe, SSO i uwierzytelnianie wieloskładnikowe?
  6. Jakie są interfejsy integracyjne i czy integracja z ERP wymaga przebudowy systemu?

Funkcje systemu dla narzędziowni przedstawia strona Narzędziownia - program do zarządzania i ewidencji narzędzi.