Java Web Start
Inom datoranvändning var Java Web Start (även känd som JavaWS, javaws eller JAWS) ett ramverk utvecklat av Sun Microsystems (numera Oracle ), som gjorde det möjligt för användare att ladda ner och starta Java Platform-program direkt från Internet med hjälp av en webbläsare.
Java Web Start-programvara:
- Det möjliggjorde enkel aktivering av applikationer med ett klick
- Det säkerställde att den senaste versionen av applikationen alltid kördes
- Det eliminerade komplicerade installations- och uppgraderingsprocedurer
Java Web Start anses vara utfasad från och med mars 2018 och ingår inte längre i nya JRE/JDK från och med version 11, och dess användare uppmanas att byta till andra distributionsalternativ [1] , såsom jlink .
En gratis implementering upprätthålls fortfarande av IcedTea- projektet , men anses inte vara en del av den officiella Java-distributionen.
Funktioner
Till skillnad från Java-applets körs inte Web Start-applikationer i webbläsaren, och sandlådan de körs i behöver inte mycket begränsning, även om detta kan konfigureras. Web Start har en fördel framför appletar genom att den övervinner många kompatibilitetsproblem mellan Java-webbläsare och olika versioner av Java Virtual Machines ( JVM ). Å andra sidan kan Web Start-program inte kommunicera enkelt med webbläsaren som de gör med appletar. För att underlätta migreringen kan användare även anropa en Java-applet som en Java Web Start-applikation.
Implementering
Java Web Start tillhandahöll en uppsättning klasser i paketet javax.jnlp , som tillhandahöll en uppsättning tjänster för applikationen. Sun designade många av dessa tjänster för att tillåta noggrant kontrollerad åtkomst till resurser (som filer och systemanteckningar), samtidigt som applikationen begränsas från auktoriseringsoperationer.
Sun introducerade version 1.0 av Web Start i mars 2001. Med J2SE 1.4 kom Web Start som en standarddel av Java Runtime Environment (JRE) som kallas javaws, och datoradministratörer behövde inte längre installera den separat.
JavaWS utfasades senare och togs bort från JRE 11 och framåt [1] .
Java Network Launching Protocol (JNLP)
Ofta tenderar programmerare, i datorjargong, att byta ut termen Java Network Launching Protocol ( JNLP ) med termen " Web Start ". I verkligheten är JNLP ett protokoll som definieras av ett XML-schema och anger hur Java Web Start-applikationer ska startas. JNLP består av en uppsättning regler som definierar exakt hur lanseringsmekanismen ska implementeras. JNLP-filer innehåller information som platsen för jar-paketfilen och namnet på huvudklassen för programmet, såväl som andra parametrar för programmet. En korrekt konfigurerad webbläsare skickar JNLP-filer till en Java Runtime Environment (JRE), som i sin tur laddar ner applikationen till användarens dator och kör den. Utvecklingen av JNLP ägde rum som en del av Java Community Process av JSR 56. Den inkluderar den ursprungliga versionen 1.0, nästa underhållsversion 1.5 och sedan 2006 [uppdatering], den förväntade underhållsversionen av version 6.0. JNLP är gratis; utvecklare behöver inte betala en avgift för att använda det i program.
Viktiga funktioner i Web Start inkluderar möjligheten att automatiskt ladda ner och installera en JRE om användaren ännu inte har installerat Java, och för programmerare att specificera vilken version av JRE ett givet program behöver köras. Användaren behöver inte nödvändigtvis vara ansluten till Internet för att köra de nedladdade programmen, eftersom exekveringen garanteras av en lokalt underhållen cache. Uppdateringar för nedladdning av programvara från webben blir tillgängliga när användaren har en Internetanslutning, vilket underlättar distributionsbördan.
Alla datoranvändare kan använda JNLP, helt enkelt genom att installera en JNLP-klient (mycket vanligt Java Web Start). Installationen kan ske automatiskt så att slutanvändaren, när den först kör Java-applikationen, endast ser uppstarten av den nedladdade och installerade klienten.
JNLP fungerar på samma sätt som HTTP / HTML fungerar för webben. För att rendera en HTML-webbsida, efter att användaren klickar på en länk, skickar webbläsaren en URL till en webbserver, som returnerar en HTML-fil. Webbläsaren begär sedan resurserna som hänvisar till denna fil (bilder, css) och utför den slutliga renderingen av sidan när den har fått tillräckligt med information. Sidåtergivningen börjar vanligtvis innan alla resurser har laddats ner; vissa resurser som inte är nödvändiga för sidlayouten (t.ex. bilder), kan laddas senare - eller på begäran, om webbläsarens "Ladda bilder automatiskt" inte är inställd.
JNLP speglar denna process; på samma sätt som en webbläsare renderar en webbsida, så en JNLP-klient "renderar" en Java-applikation. Efter att användaren klickat på en länk skickar webbläsaren en URL till en webbserver, som returnerar en JNLP-fil (istället för en HTML-fil) för applikationen. JNLP-klienten analyserar filen, besöker de angivna resurserna (jar-filer), väntar på att alla nödvändiga resurser ska hämtas och startar sedan programmet. JNLP-filen kan markera vissa resurser som "lata", den informerar JNLP-klienten att applikationen inte behöver dessa resurser för att starta, utan att de ska hämtas senare, när och/eller om applikationen begär dem.
Pack200-komprimering
För att minska storleken på en Java Web Start-applikation introducerade Sun Microsystems ett komprimeringssystem som heter Pack200 till Java 1.5.0. Det minskar antalet byte så effektivt att det kan komprimera en stor jar-fil till en niondel av dess ursprungliga storlek om den bara innehåller Java-klasser. Java Web Start har stött Pack200 sedan det första uppträdandet, men initialt krävde den här funktionen samarbete på serversidan och en viss mängd installationserfarenhet. När Sun introducerade Java SE 6u10 blev Pack200-stöd tillgängligt utan behov av speciellt serverstöd. Applikationsdesigners kan aktivera/avaktivera denna funktionalitet i JNLP-filer. På långsamma anslutningar ger Pack200 en prestandaökning i applikationens starttid och nedladdningstid.
Signerade Web Start-applikationer
Som standard körs applikationer i "begränsat" läge, vilket innebär att de inte har tillgång till vissa systemresurser som lokala filer. Men utgivare kan ta bort dessa begränsningar genom att signera sina Web Start-program med verktyget jarsignersom följer med JDK .
Anteckningar
- ^ a b Java Client Roadmap Update ( PDF ), på oracle.com , mars 2018.
Bibliografi
- Java Web Start Developer Guide (6.0) , på download.oracle.com .