JUpdater

JUpdater
Deweloperzy Andreas Launila
Wersja stabilna
0,5 / 24 marca 2006 r
System operacyjny Niezależna od platformy
Typ Narzędzie do automatycznej aktualizacji
Licencja LGPL
Strona internetowa www.lokorin.com/jupdater/

JUpdater to projekt, którego celem jest stworzenie narzędzia umożliwiającego programistom szybkie wdrażanie kontroli wersji w programach Java . Narzędzie zapewnia, że ​​użytkownik zawsze może być powiadamiany o nowych wersjach i łatwo aktualizować do najnowszej wersji z poziomu programu, bez konieczności robienia czegokolwiek. Narzędzie pobiera tylko nieaktualne pliki, oszczędzając przepustowość.

JUpdater jest podzielony na dwie części. Mały klient Java, który można łatwo zaimplementować w istniejących programach, oraz PHP , która śledzi wersje i dostarcza klientowi wszystkich potrzebnych informacji. Projekt jest wciąż w fazie rozwoju, prawdopodobnie zawiera błędy. Każdy program, który ma być aktualizowany przez JUpdater, musi być zawarty w pliku jar .

Klient

GUI implementacji klienta JUpdater dziennika DKP Parsera.

Mały pakiet klas, klient JUpdater, musi zostać dodany do programów, aby mogły porównywać swoje wersje z centralnym serwerem. Klient wymaga środowiska JRE 1.5 lub nowszego.

Klient udostępnia trzy główne operacje.

  1. Zaktualizuj określony plik jar, porównując sumy kontrolne MD5 wszystkich plików , odbywa się to w kilku krokach opisanych poniżej.
  2. Sprawdź, czy na serwerze dostępna jest nowa wersja, używając atrybutu Implementation-Version w manifeście jar .
  3. Sprawdź, czy dostępna jest nowa wersja i uzyskaj odpowiedni dziennik zmian, używając atrybutu Implementation-Version.

interfejs do nasłuchiwania procesu aktualizacji . Te informacje mogą być następnie na przykład wyświetlane w graficznym interfejsie użytkownika.

serwer

JUpdater wymaga centralnego serwera, który zawiera informacje o najnowszej wersji. Klienci łączą się z serwerem w celu sprawdzenia czy są nowe wersje oraz pobrania zmian i dziennika zmian. Serwer wymaga PHP 4.3 lub nowszego i MySQL 4.0 lub nowszego.

Jak działa aktualizacja

Oto dogłębny opis tego, co faktycznie dzieje się za kulisami podczas przeprowadzania pełnego sprawdzania aktualizacji.

  1. Metoda updateJar instancji JUpdater jest wywoływana z nazwą pliku jar do aktualizacji i odpowiednią nazwą programu.
  2. Klient otwiera połączenie z serwerem i wysyła nazwę programu (poprzez HTTP Post).
  3. Serwer ustanawia sesję i odpowiada identyfikatorem sesji oraz adresem URL serwera dla tego programu. Od tego momentu klient i serwer są w sesji, a zatem serwer pamięta, jaki program klient chce zaktualizować podczas wszystkich dalszych żądań związanych z tą konkretną aktualizacją.
  4. Klient przechowuje odpowiedź serwera i wysyła żądanie listy plików z pliku jar serwera za pośrednictwem XML-RPC . Serwer odpowiada listą (pobraną z bazy danych serwera).
  5. Klient oblicza sumy kontrolne MD5 dla wszystkich lokalnych plików, które może znaleźć (przeglądając listę plików z serwera), pozostałe otrzymują sumę kontrolną równą 0. Następnie klient wysyła wynik do serwera (poprzez XML-RPC).
  6. Serwer sprawdza wszystkie sumy kontrolne MD5 z wpisami w bazie danych i zwraca listę wszystkich plików, dla których sumy kontrolne się nie zgadzają (tj. listę wszystkich plików, które są nieaktualne). Dla każdego nieaktualnego pliku odsyłana jest następująca tablica: [nazwa pliku, rozmiar, poprawne md5] (wszystkie te elementy są odczytywane z bazy danych).
  7. Jeśli nic nie jest przestarzałe, klient zatrzymuje się tutaj, w przeciwnym razie kontynuuje.
  8. Klient żąda dziennika zmian z serwera (poprzez XML-RPC). Serwer odpowiada wszystkimi zmianami (wprowadzonymi przez administratora) dokonanymi między wersjami klienta a najnowszą wersją.
  9. Klient wyświetla zmiany i pyta słuchacza za pomocą metody shouldStartDownloading() czy powinien pobrać pliki.
  10. Jeśli metoda zwraca false, klient zatrzymuje się tutaj, w przeciwnym razie kontynuuje.
  11. Klient rozpoczyna pobieranie nieaktualnych plików jeden po drugim do magazynu tymczasowego. Dla każdego pliku klient oblicza sumę kontrolną MD5 i upewnia się, że pasuje, w przeciwnym razie próbuje ponownie (aż do wyczerpania prób).
  12. Klient zaczyna łatać po pobraniu wszystkich nieaktualnych plików. Kopiuje aktualne pliki słoika do nowego pliku jar, a następnie zapisuje pobrane pliki do tego słoika. Gdy wszystko zostanie wykonane bez błędów, zastępuje stary słoik aktualnym słoikiem, tym samym kończąc aktualizację.

Zobacz też

Linki zewnętrzne