VOOZH about

URL: https://pl.wikipedia.org/wiki/Java_Web_Start

⇱ Java Web Start – Wikipedia, wolna encyklopedia


Przejdź do zawartości
Z Wikipedii, wolnej encyklopedii
Ten artykuł od 2025-01 zawiera treści, przy których brakuje odnośników do źródeł.
Należy dodać przypisy do treści niemających odnośników do źródeł. Dodanie listy źródeł bibliograficznych jest problematyczne, ponieważ nie wiadomo, które treści one uźródławiają.
Sprawdź w źródłach: Encyklopedia PWN • Google Books • Google Scholar • BazHum • BazTech • RCIN • Internet Archive (texts / inlibrary)
Po wyeliminowaniu niedoskonałości należy usunąć szablon {{Dopracować}} z tego artykułu.

Java Web Start (JWS) – wycofana technologia umożliwiająca pobieranie i uruchamianie aplikacji napisanych w języku Java bezpośrednio z Internetu, bez konieczności ich wcześniejszej instalacji.

Formalnie wyspecyfikowana w JSR-56[1]. Odróżnia się od pozostałych apletów Javy tym, że uruchomiona aplikacja nie wchodzi w interakcje ze stroną internetową, z której został pobrany plik JNLP (stanowiący XML-ową definicję aplikacji i jej zależności) - tj. z poziomu JavaScript nie jest możliwa interakcja z aplikacją webstartową.

Rozwiązania webstartowe i aplety mogą być ładowane przez JNLP, a aplikacja JWS może korzystać z klasy java.applet.Applet - co często utrudnia odróżnienie tych technologii i zaklasyfikowanie konkretnej aplikacji jako apletu lub aplikacji webstartowej. Fundamentalną różnicą jest to, że aplet jest częścią serwowanego dokumentu i z poziomu JavaScript możliwe jest wchodzenie w interakcje z apletem, a webstart jest tylko technologią umożliwiającą elastyczne pobieranie i uruchamianie niezależnych aplikacji Javowych.

Pobranie „definicji” aplikacji webstartowej (JNLP) i zainicjowanie jej uruchomienia na maszynie wirtualnej Javy było zazwyczaj realizowane przez przeglądarkę internetową (stąd „web start” w nazwie). W teorii plik JNLP mógł zostać jednak przesłany m.in. e-mailem do innej osoby i wykorzystany przez nią do uruchomienia aplikacji webstartowej bez udziału przeglądarki internetowej.

Wycofanie

[edytuj | edytuj kod]

Technologia została oznaczona przez Oracle jako do wycofania w Java 9[2]. Kod webstartowy został ostatecznie usunięty w Oracle Java SE 11. Dostępne pozostają niezależne implementacje webstartu, np. IcedTea-Web[3].

Historia użycia w Polsce

[edytuj | edytuj kod]

W Polsce popularne było stosowanie apletów do składania podpisu certyfikowanego z poziomu aplikacji webowej, gdzie aplet był komponentem potrafiącym współpracować z czytnikiem kart. Z poziomu JavaScriptu możliwe było przekazanie do apletu treści do podpisania i odebranie wyniku, w tym przypadku podpisu elektronicznego. Po rozpoczęciu wycofywania apletów część rodzimych rozwiązań przeszła na „Web Start”.

W tych aplikacjach przeglądarka internetowa użytkownika zazwyczaj pobierała webstartowy plik JNLP z parametrami wejściowymi, najczęściej był to jednorazowy token uwierzytelniający, bądź token sesji. Aplikacja webstartowa uruchamiała się niezależnie od przeglądarki internetowej, komunikując się z lokalnymi mikroserwisami, by prowadzić interakcję z przeglądarką użytkownika.

Obecnie, ze względu na wycofanie tych technologii, podpisywanie dokumentów jest realizowane z dala od technologii webowych. W ramach W3C prowadzone są prace dotyczące udostępnienia API czytników kart poprzez Web Smart Card API[4].

Bezpieczeństwo

[edytuj | edytuj kod]

Aplikacje uruchamiane poprzez Java Web Start działają w piaskownicy. Program może jednak poprosić o pełny dostęp do systemu[5].

Przypisy

[edytuj | edytuj kod]
  1. The Java Community Process(SM) Program - JSRs: Java Specification Requests - detail JSR# 56 [online], jcp.org [dostęp 2024-04-23].
  2. The Definitive Guide To OpenWebStart [online], openwebstart.com [dostęp 2025-01-04].
  3. GitHub - AdoptOpenJDK/IcedTea-Web: The new home for IcedTea-Web [online], github.com [dostęp 2024-04-23] (ang.).
  4. Web Smart Card API [online], wicg.github.io [dostęp 2025-01-04].
  5. Informacje o Java Web Serwer. [dostęp 2009-05-15]. (ang.).

Linki zewnętrzne

[edytuj | edytuj kod]