Miniony rok był dla systemu SZARP kolejnym rokiem ewolucyjnego rozwoju – utrzymaliśmy tempo średnio ponad jednej zmiany dziennie, wykonując w ciągu roku ponad 400 commitów. Oto podsumowanie najważniejszych wydarzeń zeszłego roku.
- W kwietniu nastąpiła zmiana używanego przez projekt systemu kontroli wersji – git zastąpił Subversion. Wymagało to z naszej strony zmiany pewnych przyzwyczajeń, ale git niewątpliwie jest lepszym narzędziem – bardziej niezawodnym, o większych możliwościach i co ważne, nieporównywalnie szybszym. Co ciekawe, pełne repozytorium git SZARP’a zajmuje na dysku mniej miejsca, niż pojedyncza kopia robocza używająca Subversion. Zmiana ta jest też w pewien sposób widoczna dla użytkowników, gdyż zmienił się sposób wersjonowania oprogramowania. Dotychczas najmniej znacząca część numeru wersji (czyli np. 508 dla 3.1.508) była skorelowana z numerem wersji całego repozytorium i zmieniała się po każdej zmianie kodu. Git nie używa rosnących numerów wersji, więc obecnie każde podniesienie wersji jest robione ręcznie przez developerów i związane jest z wypuszczeniem nowej wersji paczek dla gałęzi stable czy unstable, lub nowej wersji dla Windows. Zmiany wersji są więc rzadsze, ale każda z nich oznacza rzeczywistą nową wersję udostępnianą użytkownikom, poprawiającą jakieś błędy lub dodającą nowe funkcje.
- Istotną zmianą w funkcjonalności oprogramowania jest udostępnienie możliwości rejestracji i analizy wartości parametrów z rozdzielczością 10 sekund, obok dotychczasowych 10 minut. Wymaga to dodatkowej konfiguracji i działa tylko przy bezpośrednim połączeniu (lokalnym lub VPN) do serwera SZARP, ale jest dobrze zintegrowane z resztą systemu, dając użytkownikom dodatkowy poziom szczegółowości danych.
- Program przeglądający – najważniejsze narzędzie do analizy danych – został wzbogacony o sporo drobnych usprawnień, takich jak wykresy XYZ, możliwość skoku do i podążania za najnowszą daną, wyświetlanie zestawów wykresów w formie „drzewka”, wyszukiwanie momentów gdy spełniona jest dana formuła Lua. Jednocześnie nadal kontynuowano prace nad zwiększeniem jego wydajności. Poza poprawkami w mechanizmie cache’owania danych, pojawił się cały nowy moduł prekompilujący formuły w języku Lua opisujące parametry definiowalne. Program analizuje formuły parametrów i te, które składają się wyrażeń arytmetycznych i instrukcji warunkowych, są zamieniane na wewnętrzną reprezentację i wykonywane bezpośrednio przez SZARP, bez odwołania do interpretera języka Lua. W efekcie Lua staje się zalecanym narzędziem do konstrukcji nowych parametrów, zapewniając bezkompromisową wydajność w przypadku prostych formuł i jednocześnie możliwość stosowania bardziej zaawansowanych funkcji języka programowania.
- Jedną z najważniejszych zmian „pod maską” systemu jest wprowadzenie zmodyfikowanej architektury dla sterowników urządzeń. Dotychczas każdy z nich był oddzielnym programem, komunikującym się z resztą systemu za pomocą mechanizmów IPC, w myśl tradycyjnej uniksowej filozofii „jednego programu do jednej rzeczy”. Podejście to jest bardzo elastyczne, ale ma swoje ograniczenia. Nie jest możliwe np. współdzielenie jednego portu szeregowego przez urządzenia używające różnych protokołów (a więc obsługiwane przez różne sterowniki). Dla konfiguracji obsługujących setki urządzeń (tak, mamy takie) wymagane było uruchomienie takiej samej ilości programów, z których każdy musiał wczytać do pamięci całą konfigurację systemu, co prowadziło do problemów wydajnościowych. Nowe podejście reprezentowane jest za pomocą meta-demona „boruta”, który zapewnia wspólną platformę do obsługi konfiguracji, połączeń szeregowych czy sieciowych. Poszczególne protokoły komunikacyjne zaimplementowane są jako moduły do boruty. Boruta dzięki wykorzystaniu mechanizmu sterowania przez zdarzenia pozwala na wydajną obsługę wielu urządzeń. Obecnie dostępne są moduły dla kilku najczęściej wykorzystywanych w naszych instalacjach protokołów, takich jak ZET czy Modbus RTU/TCP.
Liczba wdrożeń systemu zwiększyła się w zeszłym roku według naszej wiedzy o 6 nowych instalacji, osiągając od 1992 roku ogólną liczbę 60, z których 58 (!) jest aktywnych do dzisiaj. Użytkownicy cenią sobie szczególnie możliwość wygodnego zdalnego dostępu do danych. Instalacje objęte płatnym wsparciem oferowanym przez firmę Newterm otrzymują regularne aktualizacje oprogramowania i pomoc w konfiguracji i rozwiązywaniu pojawiających się problemów.
Dziękujemy wszystkim użytkownikom za kolejny wspólny rok i życzymy, aby następny był jeszcze lepszy!