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
| Warstwa | Technologia | Co to daje w praktyce |
|---|---|---|
| Backend | Microsoft .NET 8 LTS, planowana migracja do .NET 10 | Wspierana wersja frameworka z poprawkami bezpieczeństwa |
| Dostęp do danych | Entity Framework Core | Parametryzacja zapytań chroniąca przed SQL Injection |
| Baza danych | Microsoft SQL Server | Transakcyjność, indeksowanie, kopie zapasowe online |
| Frontend | Vue.js 3.x, aplikacja SPA | Szybki interfejs bez przeładowywania stron |
| Aplikacja kliencka | HTML5, zero-footprint | Brak wtyczek i instalacji na stacjach roboczych |
| Interfejs | Responsywny (RWD) | Jeden interfejs na monitory, tablety, kioski i smartfony |
| Serwer aplikacyjny | IIS z Windows Authentication | Logowanie kontem domenowym |
| Architektura | SOA, budowa modularna, REST API | Rozbudowa 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ą:
| Wersja | Wydanie | Koniec wsparcia | Znaczenie dla Studio TCS.net |
|---|---|---|---|
| .NET 8 LTS | Listopad 2023 | Listopad 2026 | Obecna podstawa backendu |
| .NET 10 LTS | Listopad 2025 | Listopad 2028 | Zaplanowany 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
- Na jakiej wersji frameworka działa system i kiedy kończy się jej wsparcie?
- Jaki jest plan migracji na kolejną wersję LTS i kto ponosi jej koszt?
- Czy aplikacja wymaga wtyczek lub instalacji na stacjach roboczych?
- Jak system chroni przed SQL Injection i innymi podatnościami aplikacji webowych?
- Czy obsługuje logowanie domenowe, SSO i uwierzytelnianie wieloskładnikowe?
- 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.