close

Java Web Start

Hop til navigation Hop til søgning

Inden for databehandling var Java Web Start (også kendt som JavaWS, javaws eller JAWS) en ramme udviklet af Sun Microsystems (nu Oracle ), som tillod brugere at downloade og starte Java Platform-softwareapplikationer direkte fra internettet ved hjælp af en webbrowser.

Java Web Start-software:

  1. Det gav mulighed for nem et-klik aktivering af applikationer
  2. Det sikrede, at den nyeste version af applikationen altid kørte
  3. Det eliminerede komplicerede installations- og opgraderingsprocedurer

Java Web Start anses for at være forældet fra marts 2018 og ikke længere inkluderet i nye JRE/JDK'er, der starter med version 11, og dets brugere opfordres til at skifte til andre distributionsalternativer [1] , såsom jlink .

En gratis implementering vedligeholdes stadig af IcedTea- projektet , men betragtes ikke som en del af den officielle Java-distribution.

Funktioner

I modsætning til Java-applets kører Web Start-applikationer ikke inde i browseren, og sandkassen , de kører i, behøver ikke meget begrænsning, selvom dette kan konfigureres. Web Start har en fordel i forhold til applets, idet den overvinder mange kompatibilitetsproblemer mellem Java-browsere og forskellige versioner af Java virtuelle maskiner ( JVM'er ). På den anden side kan Web Start-programmer ikke kommunikere let med browseren, som de gør med applets. For at lette migreringen kan brugere også kalde en Java-applet som en Java Web Start-applikation.

Implementering

Java Web Start leverede et sæt klasser i pakken javax.jnlp , som leverede et sæt tjenester til applikationen. Sun designede mange af disse tjenester for at tillade omhyggeligt kontrolleret adgang til ressourcer (såsom filer og systemnoter), samtidig med at applikationen blev begrænset fra godkendelsesoperationer. Sun introducerede version 1.0 af Web Start i marts 2001. Med J2SE 1.4 kom Web Start som en standarddel af Java Runtime Environment (JRE) kaldet javaws, og computeradministratorer behøvede ikke længere at installere det separat.

JavaWS blev senere forældet og fjernet fra JRE 11 og frem [1] .

Java Network Launching Protocol (JNLP)

Ofte har programmører i computerjargon en tendens til at ombytte udtrykket Java Network Launching Protocol ( JNLP ) med udtrykket " Web Start ". I virkeligheden er JNLP en protokol, defineret af et XML-skema, og specificerer, hvordan Java Web Start-applikationer skal startes. JNLP består af et sæt regler, der præcist definerer, hvordan lanceringsmekanismen skal implementeres. JNLP-filer inkluderer information såsom placeringen af ​​jar-pakkefilen og navnet på hovedklassen for applikationen samt andre parametre for programmet. En korrekt konfigureret browser sender JNLP-filer til et Java Runtime Environment (JRE), som igen downloader applikationen til brugerens maskine og kører den. Udviklingen af ​​JNLP fandt sted som en del af Java Community Process af JSR 56. Den inkluderer den originale version 1.0, den næste version 1.5 vedligeholdelsesudgivelse og siden 2006 [opdatering], den forventede version 6.0 vedligeholdelsesudgivelse. JNLP er gratis; udviklere behøver ikke at betale et gebyr for at bruge det i programmer.

Vigtige funktioner i Web Start inkluderer muligheden for automatisk at downloade og installere en JRE, hvis brugeren endnu ikke har installeret Java, og for programmører at angive, hvilken version af JRE et givet program skal køre. Brugeren behøver ikke nødvendigvis at forblive forbundet til internettet for at køre de downloadede programmer, fordi udførelsen er garanteret af en lokalt vedligeholdt cache. Softwaredownloadopdateringer fra nettet bliver tilgængelige, når brugeren har en internetforbindelse, hvilket letter distributionsbyrden.

Enhver computerbruger kan bruge JNLP, blot ved at installere en JNLP-klient (meget almindeligt Java Web Start). Installationen kan foregå automatisk, så slutbrugeren, når den første gang kører Java-applikationen, kun ser opstarten af ​​den downloadede og installerede klient.

JNLP fungerer på samme måde som HTTP / HTML fungerer på nettet. For at gengive en HTML-webside, efter at brugeren klikker på et link, sender browseren en URL til en webserver, som returnerer en HTML-fil. Browseren anmoder derefter om de ressourcer, der refererer til denne fil (billeder, css), og udfører den endelige gengivelse af siden, når den har modtaget nok information. Sidegengivelse begynder normalt før alle ressourcer er blevet downloadet; nogle ressourcer, der ikke er essentielle for sidelayoutet (f.eks. billeder), kan indlæses senere - eller efter behov, hvis browserens "Load Images Automatically" ikke er indstillet.

JNLP afspejler denne proces; på samme måde som en webbrowser gengiver en webside, så en JNLP-klient "renderer" en Java-applikation. Efter at brugeren har klikket på et link, sender browseren en URL til en webserver, som returnerer en JNLP-fil (i stedet for en HTML-fil) til applikationen. JNLP-klienten analyserer filen, besøger de specificerede ressourcer (jar-filer), venter på, at alle nødvendige ressourcer bliver hentet, og starter derefter applikationen. JNLP-filen kan markere nogle ressourcer som "dovne", den informerer JNLP-klienten om, at applikationen ikke behøver disse ressourcer for at starte, men at de skal hentes senere, når og/eller hvis applikationen anmoder om dem.

Pack200-komprimering

For at reducere størrelsen af ​​en Java Web Start-applikation introducerede Sun Microsystems et komprimeringssystem kaldet Pack200 til Java 1.5.0. Det reducerer antallet af bytes så effektivt, at det kan komprimere en stor jar-fil til en niendedel af dens oprindelige størrelse, hvis den kun indeholder Java-klasser. Java Web Start har understøttet Pack200 siden dets første optræden, men oprindeligt krævede denne funktion samarbejde på serversiden og en vis mængde opsætningserfaring. Da Sun introducerede Java SE 6u10, blev Pack200-understøttelse tilgængelig uden behov for speciel serverunderstøttelse. Applikationsdesignere kan aktivere/deaktivere denne funktionalitet i JNLP-filer. På langsomme forbindelser giver Pack200 et ydelsesboost i applikationens opstartstid og downloadtid.

Signerede Web Start-applikationer

Som standard kører programmer i "begrænset" tilstand, hvilket betyder, at de ikke har adgang til nogle systemressourcer såsom lokale filer. Men udgivere kan fjerne disse begrænsninger ved at signere deres Web Start-applikationer med det værktøj jarsigner, der følger med JDK .

Noter

  1. ^ a b Java Client Roadmap Update ( PDF ), på oracle.com , marts 2018.

Bibliografi