Ustalanie strategii aktualizacji platformy Eclipse

Funkcja Aktualizacje Eclipse umożliwia użytkownikom wyszukiwanie aktualizacji aktualnie zainstalowanych składników. Dla każdego zainstalowanego składnika funkcja aktualizacji używa wbudowanego adresu URL do nawiązania połączenia z serwerem zdalnym i wyszukania nowych wersji. Jeśli aktualizacje są dostępne, platforma Eclipse umożliwia użytkownikom rozpoczęcie procedury instalacji. Po pobraniu, zainstalowaniu i zrestartowaniu platformy nowa wersja składnika jest gotowa do użycia.

W firmach z wieloma użytkownikami tego samego produktu opartego na platformie Eclipse (najczęściej jest to produkt komercyjny) ten model aktualizacji może być przyczyną wielu problemów:

  1. Aktualizacje bardzo dużych produktów (na przykład zawierających ponad 500 modułów dodatkowych) również są bardzo duże. Niezależne pobieranie przez setki programistów aktualizacji o rozmiarze 500 megabajtów może bardzo obciążać sieć informatyczną firmy. Oprócz ograniczenia przepustowości sieci, pobieranie tak dużych plików może zakończyć się niepowodzeniem, co prowadzi do ponawiania prób pobrania i niepotrzebnie zabiera czas programistom.
  2. Niektóre firmy wyraźnie zabraniają programistom pobierania tak dużych aktualizacji bezpośrednio z Internetu. Takie firmy mogą mieć na przykład lokalny dział wsparcia, który może nie być w stanie obsłużyć żądań dotyczących wersji produktów dostępnych już w serwisie aktualizacji dostawcy. W takiej sytuacji można ograniczyć aktualizacje i poprawki tylko do pozycji znajdujących się na zatwierdzonej wewnętrznie liście. Idealnym rozwiązaniem jest skonfigurowanie serwisów aktualizacji "proxy" znajdujących się w sieci LAN (za zaporą firewall).
  3. Po umieszczeniu aktualizacji w serwisach proxy administratorzy muszą mieć opracowaną metodę informowania użytkowników o dostępności aktualizacji.

Rozwiązanie: Strategia aktualizacji

Obsługa tworzenia lokalnych (proxy) serwisów aktualizacji

Pierwszym zadaniem dla administratora produktu jest skonfigurowanie lokalnego serwisu aktualizacji platformy Eclipse na serwerze znajdującym się w sieci LAN firmy (za zaporą firewall). Serwis aktualizacji jest podzbiorem serwisu aktualizacji produktu w Internecie, ponieważ zawiera tylko składniki i moduły dodatkowe związane z aktualizacjami, które firma chce zastosować w danym momencie. Od strony technicznej ten serwis jest zwykłym serwisem aktualizacji platformy Eclipse z plikiem site.xml oraz archiwami składników i modułów dodatkowych.

Administratorzy mogą utworzyć ten serwis na dwa sposoby:

  1. Zespoły wsparcia produktu tworzą plik zip serwisu aktualizacji, który jest przeznaczony do określonego celu. Administratorzy pobierają ten plik zip ze strony WWW wsparcia produktu za pomocą dowolnego narzędzia, a następnie rozpakowują go na lokalnym serwerze. Takie rozwiązanie sprawdza się w przypadku bardzo dużych plików zip wymagających zastosowania nowoczesnych menedżerów pobierania z obsługą funkcji wznawiania pobierania (na przykład w przypadku wystąpienia problemów z połączeniem).
  2. Funkcja aktualizacji platformy Eclipse udostępnia narzędzia do tworzenia kopii lustrzanych całych zdalnych serwisów aktualizacji albo umożliwiających administratorom wybranie aktualizacji i poprawek do pobrania. Tworzenie kopii lustrzanych jest całkowicie zautomatyzowane, co ułatwia pracę administratorom, ale wymaga obsługi połączenia sieciowego funkcji aktualizacji.

Sterowanie wspólną strategią aktualizacji

Ponieważ w manifeście składników osadzony jest adres URL serwisu aktualizacji, składniki te nie łączą się z lokalnymi serwisami aktualizacji, które zostały skonfigurowane przez administratorów. Z tego powodu konieczne jest zapewnienie możliwości przekierowania. To i inne ustawienia strategii aktualizacji można skonfigurować dla produktu Eclipse, tworząc plik strategii aktualizacji i konfigurując funkcję aktualizacji tak, aby podczas wyszukiwania stosowany był ten plik.

Plik strategii aktualizacji musi być w formacie XML i może mieć dowolną nazwę. Można go określić w polu Strategia aktualizacji, wybierając kolejno opcje Preferencje > Instalowanie/aktualizowanie. Domyślnie to pole tekstowe jest puste. Użytkownicy mogą wprowadzić w nim adres URL pliku strategii aktualizacji. Plik ten jest zarządzany przez administratora lokalnego i współużytkowany przez wszystkie instalacje produktu. Istnieją dwa sposoby zapewniające współużytkowanie tego pliku:

Plik strategii musi być zgodny z następującą definicją DTD:

<?xml encoding="ISO-8859-1"?>

<!ELEMENT update-policy (url-map)*>
<!ATTLIST update-policy
>

<!ELEMENT url-map EMPTY>
<!ATTLIST url-map
    pattern    CDATA #REQUIRED
    url        CDATA #REQUIRED
>

Element url-map

Ten element służy do przesłaniania adresów URL aktualizacji wbudowanych w manifest składnika. Podczas wyszukiwania aktualizacji platforma Eclipse będzie sprawdzać strategię aktualizacji (jeśli jest obecna), aby ustalić, czy określono element url-map dla zgodnego przedrostka składnika. Jeśli dopasowanie zostanie znalezione, zamiast osadzonego adresu URL zostanie użyty adres odwzorowany. W ten sposób administratorzy mogą skonfigurować produkty platformy Eclipse tak, aby wyszukiwały aktualizacje na serwerze lokalnym, za zaporą firewall. Składniki innych firm, które zostały zainstalowane przez funkcję aktualizacji platformy Eclipse, będą nadal aktualizowane przy użyciu mechanizmu domyślnego, ponieważ strategia nie będzie zawierała odpowiednich dopasowań.

W pliku strategii może istnieć kilka elementów url-map. Przedrostki składników mogą być bardziej lub mniej szczegółowe. Aby na przykład przekierować wszystkie aktualizacje platformy Eclipse, należy określić wzorzec "org.eclipse". Istnieje także możliwość użycia pełnego identyfikatora składnika, jeśli przekierowanie ma dotyczyć tylko konkretnego składnika.

Poprzez wybieranie wzorców w pliku można progresywnie zawężać zakres potencjalnych dopasowań. Wynikiem tego może być wiele dopasowań dla danego składnika. W takim przypadku zostanie użyte dopasowanie do najdłuższego wzorca. Na przykład:

<?xml version="1.0" encoding="UTF-8"?>
<update-policy>
	<url-map pattern="org.eclipse" url="URL1"/>
	<url-map pattern="org.eclipse.jdt" url="URL2"/>
</update-policy>

W powyższym przykładzie aktualizacje wszystkich składników platformy Eclipse zostaną pobrane z adresu URL1; wyjątkiem jest składnik org.eclipse.jdt, którego aktualizacja zostanie pobrana z adresu URL2.

Pliki strategii aktualizacji nie zawierają tłumaczonych łańcuchów, dlatego nie wymagają specjalnej obsługi ustawień narodowych (NL). W tych plikach należy stosować kodowanie UTF-8.

Automatyczne wykrywanie aktualizacji

Omówienie automatycznego wykrywania aktualizacji znajduje się w innym temacie. Ponieważ jednak mechanizm ten stanowi integralną część ogólnego rozwiązania aktualizacji, wspomniano o nim w tym miejscu. Automatyczne aktualizacje umożliwiają platformie Eclipse wyszukiwanie aktualizacji zgodnie z harmonogramem, na przykład przy każdym uruchomieniu platformy (ustawienie domyślne), codziennie, co tydzień itd.

Streszczenie

Poniżej przypomniano wszystkie czynności wymagane do wdrożenia rozwiązania:

  1. Administrator przydziela serwer w firmowej sieci LAN, który będzie obsługiwał lokalne aktualizacje produktów. Początkowo serwer ten nie zawiera żadnych serwisów aktualizacji. Należy uruchomić na nim serwer HTTP.
  2. Administrator konfiguruje na tym serwerze plik strategii i informuje użytkowników, aby w preferencjach strategii aktualizacji określili podany adres URL.
  3. Kiedy dostawcy produktów publikują aktualizacje i poprawki w swoich serwisach aktualizacji, administrator pobiera niezbędne aktualizacje na serwer lokalny.
  4. Funkcja automatycznej aktualizacji jest wykonywana z zaplanowaną częstotliwością po uruchomieniu produktu klienta. Funkcja ta wybiera aktualizacje lokalne i powiadamia użytkownika.
  5. Użytkownik decyduje, czy zainstalować wykryte aktualizacje.

Czynności pokrewne
Program planujący aktualizacje automatyczne