O projekcie

Centrum oprogramowania Windows – Złożony projekt wprowadzający nowe metody pozyskiwania i dystrybucji oprogramowania w systemach operacyjnych Microsoft Windows oraz Windows Server. Został on zapoczątkowany już w 2011 roku w formie prostej strony internetowej, a później dedykowanej aplikacji, która nie została oficjalnie wydana. W 2017 roku powstał pierwszy prototyp pod nazwą kodową Sotelier, a pół roku później zaprojektowano jego kontynuację pod nazwą Apptelier. W chwili obecnej projekt przybrał formę pełnoprawnej usługi, a oprócz głównej aplikacji dodano również dodatkowe narzędzia wspomagające wybór oprogramowania.

Głównym twórcą i pomysłodawcą projektu jest Michał Derkowski, w Internecie często pojawiający się pod nazwą M.D Atelier. Więcej informacji można znaleźć na autorskim blogu.

Spis treści

  1. Koncepcja i rozwój
  2. Współczesna koncepcja
  3. Elementy składowe
    1. Offline
    2. Online
    3. Dodatkowe narzędzia
  4. SoftPack Solution
    1. Dostępne edycje
  5. Strona internetowa
  6. Prywatne i publiczne repozytoria

Koncepcja i rozwój Centrum oprogramowania Windows

Pierwsze prace nad centrum oprogramowania rozpoczęły się w 2011 roku. Z punktu widzenia technicznego amatorskie rozwiązanie oparte o stronę internetową wykonaną w czystym HTML’u miało przypominać dedykowaną aplikację do pobierania i instalowania oprogramowania. Później zaczęto prace nad integracją z powłoką pulpitu systemu Windows. Prosty formularz w którym zamieszczony był aplet programu Internet Explorer. Bardzo szybko zaczęto przebudowywać stronę i uatrakcyjniać o kolejne funkcje, ale nadal był problem z pełną integracją i uzupełnianiem zawartości.

W drugim etapie zdecydowano się na opracowanie aplikacji wspomagając się rozwiązaniami firmy trzecich. Jednakże każda aktualizacja zawartości wymagała przebudowania i aktualizacji klienta. Pojawił się również problem z wydajnością, a jako, że narzędzie głównie specjalizowało się w tworzeniu prostych nośników startowych nie było również poręczne do obsługi zaawansowanych projektów. Ostatecznie projekt zawieszono do czasu pojawienia się nowych możliwości.

W między czasie powstał SoftPack Solution. Prosty nośnik startowy, który pozwalał na instalację oprogramowania w trybie offline na podstawie wcześniej przygotowanej bazy danych pakietów pobieranych razem z obrazem aplikacji.

Współczesna koncepcja

Dzisiejsze centrum oprogramowania przerodziło się w projekt typowo programistyczny. Cała koncepcja dystrybucji i pozyskiwania została zamknięta w aplikacjach pisanych zupełnie od podstaw. Na dzień dzisiejszy technologie jakie są wykorzystywane to NET Framework od wersji 2.0 oraz bazy danych MySQL. Zawartość nie jest udostępniana w postaci strony napisanej w HTML’u. Aplikacja kliencka pozyskuje dane bezpośrednio z bazy danych za pomocą specjalnej biblioteki programistycznej. Oprócz tego wprowadzono dodatkowe algorytmy, które w znacznym stopniu ułatwiają uzupełniane zawartości czy dokonywanie wyborów. Aplikacja kliencka to już nie tylko pośrednik w pobieraniu, ale narzędzie wspomagające instalację.

W 2017 roku podczas tworzenia pierwszego prototypu Sotelier wprowadzono nowe pojęcia takie jak repozytorium, analizator rozszerzeń, menedżer licencji czy społeczność. Określają one kierunek, w który idzie projekt centrum oprogramowania. Współczesna koncepcja głównie nastawia się na automatyzację oraz użytkowników ochotników, którzy pomogą przy współtworzeniu zawartości.

Elementy składowe

Projekt centrum oprogramowania został podzielony na dwie części, która każda z nich reprezentuje formę dystrybucji.

Offline

Aplikacje, które do instalacji oprogramowania nie wymagają połączenia z Internetem. Wykorzystują one swoją wewnętrzną bazę danych pobieraną razem z produktem. Do nich należą między innymi:

  • SoftPack Solution – Narzędzie nie wymagające instalacji, uruchamiane z nośnika wymiennego, które pozwala na instalację oprogramowania bez konieczności połączenia z Internetem. Korzysta z własnej bazy danych. Dostępność pakietów zależy od ich wsparcia od producenta. Najnowsza wersja oferuje już możliwość dołączania własnych pakietów i tworzenia spersonalizowanych nośników.
  • Windows Library Installer – Narzędzie pozwalające na instalację bibliotek niezbędnych do uruchamiania aplikacji lub gier komputerowych na systemach Windows. Instalacja odbywa się tutaj w trybie offline. Pakiety znajdują się na nośniku, a sama aplikacja nie wymaga instalacji.

Centrum oprogramowania w trybie offline ma dostarczać oprogramowanie dla komputerów, które nie mają lub mają ograniczony dostęp do łącza internetowego. Jego zastosowanie również znajdzie się w sytuacjach kiedy instalujemy czysty system operacyjny i chcemy przyspieszyć proces aktualizacji lub instalacji pakietów.

Online

Aplikacje centrum oprogramowania online mają za zadanie dostarczać funkcjonalności dystrybucji i pozyskiwania pakietów za pośrednictwem sieci Internet lub sieci lokalnej. Ta część projektu charakteryzuje się wysoką dostępnością zawartości oraz przetwarzaniem w chmurze. Dzięki zdalnym repozytoriom użytkownik może pobierać oprogramowanie, otrzymywać dynamiczne aktualizacje i czerpać wiedzę bezpośrednio z bazy danych. W skład tej części wchodzą następujące aplikacje:

  • Klient centrum oprogramowania (Apptelier) – Główny produkt projektu. Aplikacja przeznaczona do pozyskiwania i instalowania oprogramowania w systemach Windows. Również w edycjach serwerowych. Uzyskuje dostęp do repozytoriów i pobiera od nich informacje. Wyposażona jest w specjalne narzędzia, które upraszczają wybór lub dobranie oprogramowania pod konkretne potrzeby.

Oprócz głównych aplikacji centrum oprogramowania online zalicza się również dodatkowe moduły, które przeważnie są zintegrowane z głównym klientem. A są to między innymi:

  • Analizator rozszerzeń – Analizuje plik lub ręcznie wprowadzony format. Następnie przeszukuje bazę danych i dobiera odpowiednie oprogramowanie, które jest w stanie w pełni obsłużyć jego zawartość. Moduł zintegrowany z klientem centrum oprogramowania.
  • Funkcje społecznościowe – Składają się z modułów, które umożliwiają komentowanie, ocenianie i recenzowanie zawartości repozytorium. Na ich podstawie możemy dokonywać wyboru pomiędzy dwoma podobnymi do siebie produktami lub poznać opinie innych użytkowników. System oceniania pozwala również generować rankingi najchętniej instalowanego oprogramowania. To z kolei sprzyja promowaniu produktu.
  • Asystent bibliotek – Komponent klienta centrum oprogramowania, który wyszukuje i instaluje odpowiednie biblioteki programistyczne wymagane do uruchomienia danego programu. Przykładem takich bibliotek może być Visual C++ Redistributable lub DirectX.
  • Kontrola wersji – Funkcja pozwalająca na instalację oprogramowania w starszej wersji. Repozytorium może przechowywać dany pakiet w kilku wydaniach. Oprócz najnowszego producenci przeważnie udostępniają również kilka wersji wstecz. Na przykład w celu uruchomienia oprogramowania na starszych systemach. Oprócz historycznych danych kontrola wersji udostępnia też pakiety oznaczone statusem beta.
  • ApptelierCMD – Specjalny moduł klienta centrum oprogramowania, który pozwala na automatyzację wdrożenia dla administratorów. ApptelierCMD to specjalny plik wykonywalny wywoływany z poziomu wiersza poleceń. Może on przyjmować argumenty, które dostarczają informacje do repozytorium na temat parametrów instalacji. W ten sposób możemy pisać skrypty, a następnie wywoływać instalację danych pozycji w trybie nienadzorowanym i masowym.
  • Wyszukiwarka pakietów MSI – Mini moduł, który pozwala na wyszukiwanie pakietów w formacie MSI. Dzięki temu można je szybko wdrożyć za pośrednictwem polityki GPO domeny Active Directory.

Dodatkowe narzędzia

Narzędzia centrum oprogramowania to aplikacje, które nie służą do bezpośredniego pozyskiwania pakietów, ale przeważnie pełnią dodatkowe funkcje uzupełniające. Są to:

  • Menedżer licencji – Pozwala na zarządzanie i licencjonowanie oprogramowania na danym stanowisku. Przechowuje wszystkie klucze licencyjne wraz z regułami, które obowiązują dla danego produktu. Podczas wdrażania pakietu przez klienta centrum oprogramowania, menedżer może od razu w locie go za licencjonować.
  • VirtualApps – Dodatkowa aplikacja integrująca się z klientem centrum oprogramowania. Wzbogaca jego funkcje o możliwość wyszukiwania i zarządzania oprogramowaniem występującym w formie przenośnej (zwirtualizowanej), czyli nie wymagającej instalacji.
  • Kreator instalacji offline – Dodatek do klienta centrum oprogramowania, który tworzy obraz SoftPack Solution w wersji bez wbudowanej bazy z zawartością pobraną z repozytorium. Po wcześniejszym zdefiniowaniu przez użytkownika.
  • Apptelier Repository Manager – Narzędzie dedykowane dla administratorów. Pozwala stworzyć własne prywatne lub publiczne repozytorium i zarządzać nim z poziomu aplikacji. Oprócz dodawania i aktualizowania zawartości, menedżer oferuje również monitorowanie oraz przegląd funkcji społecznościowych.
  • Database Builder for SoftPack Solution – Dedykowane narzędzie do budowania własnej bazy danych zawartości aplikacji SoftPack Solution.

SoftPack Solution

SoftPack Solution to produkt opracowany jeszcze podczas powstawania pierwszych wersji klienta centrum oprogramowania. Jego zastosowanie głównie sprowadzało się do instalacji dostępnych w wewnętrznej bazie pakietów bez konieczności pobierania ich z Internetu. Dzisiejsza koncepcja diametralnie zmieniła obraz rozwojowy tego produktu. Sama aplikacja jest pisana zupełnie od zera co pozwala na zaimplementowanie dodatkowych funkcji. Drugi czynnik to postępująca konkurencja, która oferuje coraz lepsze i wygodniejsze rozwiązania. To mobilizuje cały projekt do wprowadzania i ulepszania podobnych koncepcji.

Pierwsze wersje SoftPack Solution opierały się głównie na instalacji oprogramowania z pakietów, które były dodawane przez autora. Sama aplikacja była maksymalnie uproszczona, a funkcje uzupełniające działały w oparciu o rozwiązania firm trzecich. Nowa wersja projektu idzie już ścieżką programistyczną. Zaimplementowano zupełnie nowatorskie funkcjonalności, które podobnie jak w kliencie centrum oprogramowania, pozwalają na wspomaganie wdrożenia. Poniżej opisano nowości jakie zostały zaprojektowane w nowszej wersji SoftPack Solution.

  • Aplikacja napisana w technologii .NET FRAMEWORK 2.0,
  • Baza danych funkcjonująca w oparciu o pliki XML,
  • Instalacja w trybie nienadzorowanym,
  • Masowa instalacja oprogramowania w oparciu o kolejkowanie,
  • Bardziej szczegółowe informacje o pakietach,
  • Możliwość dodawania własnej zawartości,
  • Możliwość instalowania dodatkowych pakietów pobranych z Internetu (tryb online),
  • Możliwość automatycznej aktualizacji za pośrednictwem klienta centrum oprogramowania.

Dostępne edycje

Wraz z rozwojem projektu centrum oprogramowania SoftPack Solution podzielono na dwie edycje.

  • Full – Pełna wersja produktu SoftPack Solution wraz z wewnętrzną bazą danych, możliwością pobierania online i dokładania własnej zawartości. Dystrybuowany w formie obrazów ISO lub skompresowanego archiwum. Rozmiar produktu może wynieść od 5 do nawet 10 GB. W zależności od ilości wspieranych pakietów. Full jest podstawową i pełnoprawną edycją SoftPack Solution.
  • Lite – Specjalna okrojona edycja stworzona na potrzeby budowania własnej zawartości. Charakteryzuje się brakiem podstawowej bazy danych oraz pakietów. Dzięki temu rozmiar aplikacji mieści się w kilku megabajtach. Udostępniana jest możliwość budowy własnej zawartości oraz pobierania pakietów z Internetu. Edycja Lite dedykowana jest dla osób, które chcą dodawać i dystrybuować własne pakiety.

Strona internetowa

Najnowsza faza projektu wprowadza stronę internetową, która ma stanowić główne źródło pobierania produktów wchodzących w skład centrum oprogramowania oraz bazę wiedzy na temat całej branży. Będą pojawiać się nie tylko nowe wydania narzędzi i aplikacji, ale i również artykuły przekazujące porady lub najważniejsze informacje. Strona internetowa dostarcza też API dla niektórych produktów, które posiadają zaimplementowany silnik aktualizacyjny. W ten sposób można automatycznie aktualizować klienta centrum oprogramowania lub sprawdzić najnowszy obraz SoftPack Solution.

Prywatne i publiczne repozytoria

Centrum oprogramowania Windows opiera się na specjalnym repozytorium, który działa pod kontrolą bazy danych MySQL. Główna aplikacja kliencka umożliwia dokonanie wyboru, z którego źródła chcemy skorzystać. W jednym czasie może być podpięte maksymalnie jedno repozytorium, ale w każdej chwili można je zamienić. Funkcja przełączania źródła dystrybucji oprogramowania ma na celu umożliwienie użytkownikowi wyboru skąd chce czerpać pakiety. Z kolei niezależni administratorzy będą mogli mieć własny wkład w rozwój całego systemu i dystrybuować oprogramowanie na podstawie własnych wytycznych. Aby zapewnić maksymalne bezpieczeństwo, repozytoria podzielono na prywatne i publiczne. Prywatne repozytorium można w każdej chwili postawić za pomocą aplikacji menedżera repozytoriów, a następnie udostępnić konfigurację. Klient centrum oprogramowania po zaimplementowaniu od razu połączy się z zawartością. Nie ma ograniczeń jeśli chodzi o prywatne repozytoria. Klient może przechowywać nieograniczoną ilość konfiguracji. Ale producent nie zapewnia bezpieczeństwa oraz wsparcia na wypadek wyrządzonych szkód spowodowanych zainstalowanymi pakietami.

Bezpieczeństwo i wsparcie zapewniane jest dopiero w przypadku publicznych repozytoriów. Klient centrum oprogramowania umożliwia ich przeglądanie na podstawie ogólnodostępnego pliku konfiguracyjnego, który pobierany jest bezpośrednio z oficjalnej strony. Zawarte są tam wszystkie informacje niezbędne do połączenia się. O tym czy repozytorium zostanie dodane jako publiczne decyduje tylko i wyłącznie producent aplikacji centrum oprogramowania. Przed dodaniem baza musi przejść odpowiednie testy i kontrolę, która zadecyduje o tym czy zawartość jest bezpieczna dla użytkowników. Gdy osiągnie status zaakceptowano, odpowiedni wpis zostanie dodany do pliku konfiguracyjnego.