Java Web Start
Java Web Start – wycofana technologia pobierania i uruchamiania aplikacji javowych z Internetu, m.in. przy pomocy przeglądarki internetowej.
Opis
Formalnie wyspecyfikowana w JSR-56[1]. Odróżnia się od technologii apletów tym, że uruchomiona aplikacja nie wchodzi w interakcje ze stroną internetową, z której został pobrany plik jnlp (stanowiący xmlową 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 webstartowa może korzystać z klasy java.applet.Applet
- to czasami 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ą parametryzowalnego pobrania i uruchomienia niezależnej aplikacji javowej.
Pobranie definicji aplikacji webstartowej (jnlp) i zainicjowanie jej uruchomienia na jvm było zazwyczaj realizowane przez przeglądarkę internetową (stąd "web start" w nazwie). Jednak technicznie plik jnlp mógł zostać przesłany np. e-mailem do innej osoby i wykorzystany przez nią do uruchomienia aplikacji webstartowej bez udziały przeglądarki internetowej.
Wycofanie
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 webstart, np. IcedTea-Web[3].
Historia użycia w Polsce
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 javascript możliwe było przekazanie do apletu treści do podpisania i odebranie wyniku, czyli podpisu. 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 jnlp parametryzowany jednorazowym tokenem uwierzytelniającym/sesyjnym i adresami serwisów. Aplikacja webstartowa uruchamiała się i niezależnie od przeglądarki użytkownika komunikowała się z serwisami backendowymi by pobrać treść do podpisania oraz zapisać podpis.
Obecnie, ze względu na wycofanie tych technologii, podpisywanie 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
Aplikacje uruchamiane poprzez Java Web Start działają w piaskownicy. Program może jednak poprosić o pełny dostęp do systemu[5].
Przypisy
- ↑ The Java Community Process(SM) Program - JSRs: Java Specification Requests - detail JSR# 56 [online], jcp.org [dostęp 2024-04-23] .
- ↑ https://blogs.oracle.com/java/post/moving-to-a-plugin-free-web
- ↑ GitHub - AdoptOpenJDK/IcedTea-Web: The new home for IcedTea-Web [online], github.com [dostęp 2024-04-23] (ang.).
- ↑ Szablon:Url=https://wicg.github.io/web-smart-card/
- ↑ Informacje o Java Web Serwer. [dostęp 2009-05-15]. (ang.).
Linki zewnętrzne
- Strona domowa (ang.)