Sotelier

Sotelier, Centrum oprogramowania Windows – pierwsza wersja projektu aplikacji przeznaczonej do wdrażania i aktualizacji oprogramowania w systemach operacyjnych Windows i Windows Server bez konieczności interwencji użytkownika. Obecnie już nie rozwijany. Został zastąpiony przez projekt Apptelier.

Podstawowym założeniem projektu Sotelier była aplikacja kliencka oraz repozytorium oparty o serwer bazodanowy – MySQL. Użytkownik instaluje program, a następnie za jego pośrednictwem łączy się z bazą, gdzie tam znajduje się cała zawartość. Tabele przechowują podstawowe informacje na temat oprogramowania oraz linki skąd można pobrać pakiety instalacyjne. Rola użytkownika polega na wyborze interesującej pozycji, a następnie wybraniu odpowiedniego źródła, z którego pobierze pakiet instalacyjny. Pozostały etap procesu przebiega w pełni automatycznie do czasu zakończenia pracy kreatora.

Nienadzorowany tryb instalacji

Sotelier po pobraniu pakietu instalacyjnego wywołuje go w trybie nienadzorowanym. To znaczy, że podczas instalacji nie pojawiają się żadne okna dialogowe, a podstawowe parametry przyjmują wartości domyślne. W ten sposób przyjęto rozwiązanie stosowane w urządzeniach mobilnych lub Linuxach, gdzie wszystkie operacje są przeprowadzane w tle bez konieczności ingerencji człowieka. Podczas projektowania tego rozwiązania napotkano jednak na podstawowy problem związany z brakiem uniwersalności argumentów linii poleceń pakietów. W systemie Windows wyróżniamy dwa podstawowe typy:

  • MSI (Instalator systemu Windows) – Pakiet dostarczany przez firmę Microsoft, który charakteryzuje się standardowymi poleceniami. Dzięki temu parametry dla tego pakietu są zawsze takie same, dla każdego produktu.
  • EXE (Plik wykonywalny) – Program, który odpowiedzialny jest za instalację innego programu. Może przyjmować różne argumenty wiersza poleceń, co czyni go mniej uniwersalnym.

Problem z plikiem wykonywalnym rozwiązano w następujący sposób. Baza danych zawierała dla każdego pakietu dodatkową kolumnę, gdzie przechowywane są argumenty wiersza poleceń. Podczas pobierania przez aplikację kliencką, wysyłane jest dodatkowe zapytanie, gdzie pozyskiwana jest ta informacja. Przed uruchomieniem kreatora porównywany jest format pliku. Jeśli jest to plik wykonywalny, program wywołuje go z argumentami zaczerpniętymi z bazy danych. W przypadku pakietów dostarczanych przez firmę Microsoft tego problemu nie ma. Argumenty wiersza poleceń są uniwersalne i zawsze takie same mimo, że instaluje się całkowicie inny program. Mogą one być więc zaszyte w kodzie aplikacji.

Automatyczne aktualizacje oprogramowania

Moduł aktualizacji oprogramowania to specjalny algorytm, który sprawdza czy zainstalowane w systemie operacyjnym aplikacje są dostępne w najnowszej wersji w danym repozytorium. Gdy warunek jest spełniony następuje automatyczne pobieranie i instalacja. Jako, że moduł realizowany był jako ostatni, nie został on do końca dopracowany. Aplikacja nie rozpoznawała między innymi wersji zainstalowanych pakietów i często traktowała jako nieaktualne, mimo, że w repozytorium dostępny był w tej samej wersji.

Przeglądanie i przeszukiwanie

Wiele portali internetowych oferuje możliwość pozyskania oprogramowania bez konieczności rejestracji czy wnoszenia dodatkowych opłat. Często są znacznie wygodniejsze, ponieważ nie wymagają instalowania dodatkowych aplikacji. Niestety, bardzo szybko się to zmienia. Portale posiadają co raz więcej reklam, często ze szkodliwym lub niechcianym oprogramowaniem firm trzecich. Odnalezienie się w gąszczu animacji flash i przycisków dla zwykłego użytkownika staje się poważnym utrudnieniem. Przygotowując projekt Sotelier, brano pod uwagę przede wszystkim prostotę, przejrzysty interfejs i bezpieczeństwo. Wiele osób może potraktować aplikację kliencką jako zwykły menedżer pobierania. Musimy jednak zauważyć pewną różnice. Menadżery pobierania przeznaczone są do instalacji sponsorowanych aplikacji i kontroli użytkownika. Sotelier zakłada, że oprogramowanie instalowane jest tylko wtedy kiedy sami je wybierzemy. Możemy również korzystać z publicznych niezależnych repozytoriów, które same dostarczają i uzupełniają zawartość. Aplikacja kliencka zastępuje nam portal. Oprócz tego bardzo szybko możemy go wywołać z poziomu systemu. Dzięki jego integracji nie musimy martwić się o aktualizacje. Aplikację, podobnie jak na portalach, możemy wyszukiwać i przeglądać. Każda pozycja jest dokładnie prezentowana w oddzielnym oknie. Najistotniejsze informacje są wyróżniane, a pozostałe odpowiednio ulokowane, tak, aby był do nich łatwy dostęp. Interfejs zawsze prezentuje najistotniejsze informacje. Brak reklam oraz szkodliwego oprogramowania.

Jako, że projekt Sotelier to aplikacja, która została opracowana i stworzona, warto zobaczyć jej prezentację w praktyce. Dzięki niej bliżej zapoznasz się z koncepcją rozwiązania.

Podstawowe problemy

Projekt Sotelier był pierwszym projektem, który jest realizowany jako niezależny produkt. Przez ten czas na światło dzienne wyszło wiele problemów, które powodowały dyskomfort w użytkowaniu. Dlatego aplikacja nie została nigdy wydana do oficjalnych testów. Założenia są takie, że jego następcy muszą mieć zaimplementowane te poprawki, aby można było uznać za pełnoprawny produkt.

Zawieszająca się aplikacja podczas pobierania lub instalowania oprogramowania

Przyczyną tego błędy jest brak wielowątkowości aplikacji. Cały algorytm powinien być wydzielony do osobnego pliku wykonywalnego, który uruchamiałby dodatkowy proces. W ten sposób interfejs przeglądarki nie zawieszałby się, ponieważ z technicznego punktu widzenia są to dwa niezależne programy. Sotelier w początkowej fazie swojego projektu zakładał zintegrowany moduł. Nie doczekał się już aktualizacji.

Wiecznie aktualizujące się programy

Aktualizator Sotelier źle interpretował pewne wersje pakietów. W głównej mierze przyczyna stanowi po stronie producentów. Często umieszczają wersje swoich pakietów w ich nazwie, a dedykowane pole pozostawiają puste. Przez to algorytm zawsze widział jako nieaktualną aplikację, co doprowadzało do zapętlonej instalacji.

Problematyczne uzupełnianie zawartości

Projekt Sotelier na tym etapie nie zakładach żadnych dodatkowych narzędzi wspomagających uzupełnianie zawartości repozytorium. Odbywa się to za pomocą zwykłych zapytań SQL, które często osiągają bardzo duże rozmiary. Dla szybkiego i dynamicznego dodawania nowych pozycji jest to problematyczne. Z góry można, więc było przewidzieć, że chętnych do rozwijania tego typu zasobów będzie bardzo mało. Był to jeden z głównych mankamentów, które rozważono dopiero później.

Funkcjonalność

  • Zmiana repozytorium publicznego,
  • Korzystanie z repozytorium bez konieczności zakładania konta,
  • Logowanie i zakładanie konta w repozytorium,
  • Przeglądanie i filtrowanie zawartości,
  • Przeszukiwanie bazy,
  • Automatyczna aktualizacja oprogramowania,
  • Obsługa 7 źródeł pobierania,
  • Szczegółowe wyświetlanie informacji na temat oprogramowania,
  • Możliwość samodzielnego lub automatycznego wyboru źródła pobierania,
  • Deinstalacja z poziomu aplikacji Sotelier zainstalowanego oprogramowania,
  • Możliwość zgłaszania zapotrzebowania na oprogramowanie,
  • Zintegrowane narzędzie, które wskazuje na oprogramowanie obsługujący podany format.

Plany rozwojowe projektu Sotelier

Podczas realizacji projektu Sotelier brane pod uwagę były następujące plany rozwojowe:

  • Menedżer licencji – pozwala na automatyczne za licencjonowanie komercyjnego oprogramowania bez konieczności podawania klucza za każdym razem. Licencja pobierana jest z aplikacji, a następnie wstawiana lub zapisywana w odpowiednie miejsce w sposób automatyczny. Bazę danych można wyeksportować i zaimportować na inne stanowisko.
  • Menedżer repozytoriów – oddzielna aplikacja pozwalająca na tworzenie i obsługę repozytoriów danych.