Java Web Start
Innen databehandling var Java Web Start (også kjent som JavaWS, javaws eller JAWS) et rammeverk utviklet av Sun Microsystems (nå Oracle ), som tillot brukere å laste ned og starte Java Platform-programvare direkte fra Internett ved hjelp av en nettleser.
Java Web Start-programvare:
- Det muliggjorde enkel ett-klikks aktivering av applikasjoner
- Det sørget for at den nyeste versjonen av applikasjonen alltid kjørte
- Det eliminerte kompliserte installasjons- og oppgraderingsprosedyrer
Java Web Start anses som utdatert fra mars 2018 og ikke lenger inkludert i nye JRE/JDK-er som starter med versjon 11, og brukerne oppfordres til å bytte til andre distribusjonsalternativer [1] , for eksempel jlink .
En gratis implementering opprettholdes fortsatt av IcedTea -prosjektet , men regnes ikke som en del av den offisielle Java-distribusjonen.
Funksjoner
I motsetning til Java-appleter kjører ikke Web Start-applikasjoner inne i nettleseren, og sandkassen de kjører i trenger ikke mye begrensning, selv om dette kan konfigureres. Web Start har en fordel fremfor appleter ved at den overvinner mange kompatibilitetsproblemer mellom Java-nettlesere og ulike versjoner av Java Virtual Machines ( JVMs ). På den annen side kan ikke Web Start-programmer kommunisere enkelt med nettleseren slik de gjør med appleter. For å lette migreringen kan brukere også starte en Java-applett som en Java Web Start-applikasjon.
Implementering
Java Web Start ga et sett med klasser i pakken javax.jnlp , som ga et sett med tjenester for applikasjonen. Sun designet mange av disse tjenestene for å tillate nøye kontrollert tilgang til ressurser (som filer og systemnotater), samtidig som applikasjonen begrenses fra autorisasjonsoperasjoner.
Sun introduserte versjon 1.0 av Web Start i mars 2001. Med J2SE 1.4 kom Web Start som en standarddel av Java Runtime Environment (JRE) kalt javaws, og dataadministratorer trengte ikke lenger å installere det separat.
JavaWS ble senere avviklet og fjernet fra JRE 11 og utover [1] .
Java Network Launching Protocol (JNLP)
Ofte har programmerere, i datasjargong, en tendens til å bytte begrepet Java Network Launching Protocol ( JNLP ) med begrepet " Web Start ". I virkeligheten er JNLP en protokoll, definert av et XML-skjema, og spesifiserer hvordan Java Web Start-applikasjoner skal startes. JNLP består av et sett med regler som definerer nøyaktig hvordan lanseringsmekanismen skal implementeres. JNLP-filer inkluderer informasjon som plasseringen av jar-pakkefilen og navnet på hovedklassen for applikasjonen, samt andre parametere for programmet. En riktig konfigurert nettleser sender JNLP-filer til et Java Runtime Environment (JRE), som igjen laster ned applikasjonen til brukerens maskin og kjører den. Utviklingen av JNLP fant sted som en del av Java Community Process av JSR 56. Den inkluderer den originale versjonen 1.0, den neste utgivelsen 1.5 vedlikeholdsutgivelsen, og siden 2006 [oppdatering], den forventede versjon 6.0 vedlikeholdsutgivelsen. JNLP er gratis; utviklere trenger ikke å betale et gebyr for å bruke det i programmer.
Viktige funksjoner i Web Start inkluderer muligheten til å automatisk laste ned og installere en JRE hvis brukeren ennå ikke har installert Java, og for programmerere å spesifisere hvilken versjon av JRE et gitt program må kjøre. Brukeren trenger ikke nødvendigvis å være koblet til Internett for å kjøre de nedlastede programmene, fordi utførelsen er garantert av en lokalt vedlikeholdt cache. Oppdateringer for nedlasting av programvare fra nettet blir tilgjengelig når brukeren har en Internett-tilkobling, og letter distribusjonsbyrden.
Enhver datamaskinbruker kan bruke JNLP, ganske enkelt ved å installere en JNLP-klient (svært vanlig Java Web Start). Installasjonen kan skje automatisk slik at sluttbrukeren, når den først kjører Java-applikasjonen, kun ser oppstarten av den nedlastede og installerte klienten.
JNLP fungerer på samme måte som HTTP / HTML fungerer for nettet. For å gjengi en HTML-webside, etter at brukeren klikker på en lenke, sender nettleseren en URL til en webserver, som returnerer en HTML-fil. Nettleseren ber deretter om ressursene som refererer til denne filen (bilder, css), og utfører den endelige gjengivelsen av siden når den har mottatt nok informasjon. Sidegjengivelse begynner vanligvis før alle ressurser er lastet ned; noen ressurser som ikke er avgjørende for sideoppsettet (f.eks. bilder), kan lastes inn senere - eller på forespørsel, hvis nettleserens "Last bilder automatisk" ikke er satt.
JNLP speiler denne prosessen; på samme måte som en nettleser gjengir en nettside, så en JNLP-klient "gjengir" en Java-applikasjon. Etter at brukeren klikker på en lenke, sender nettleseren en URL til en webserver, som returnerer en JNLP-fil (i stedet for en HTML-fil) for applikasjonen. JNLP-klienten analyserer filen, besøker de angitte ressursene (jar-filer), venter på at alle nødvendige ressurser skal hentes, og starter deretter applikasjonen. JNLP-filen kan merke noen ressurser som "lat", den informerer JNLP-klienten om at applikasjonen ikke trenger disse ressursene for å starte, men at de skal hentes senere, når og/eller hvis applikasjonen ber om dem.
Pack200-komprimering
For å redusere størrelsen på en Java Web Start-applikasjon introduserte Sun Microsystems et komprimeringssystem kalt Pack200 til Java 1.5.0. Den reduserer antall byte så effektivt at den kan komprimere en stor jar-fil til en niendedel av dens opprinnelige størrelse hvis den bare inneholder Java-klasser. Java Web Start har støttet Pack200 siden den første opptredenen, men i utgangspunktet krevde denne funksjonen samarbeid på serversiden og en viss mengde oppsettserfaring. Da Sun introduserte Java SE 6u10, ble Pack200-støtte tilgjengelig uten behov for spesiell serverstøtte. Applikasjonsdesignere kan aktivere/deaktivere denne funksjonaliteten i JNLP-filer. På trege tilkoblinger gir Pack200 en ytelsesøkning i applikasjonens oppstartstid og nedlastingstid.
Signerte Web Start-applikasjoner
Som standard kjører applikasjoner i «begrenset»-modus, noe som betyr at de ikke har tilgang til enkelte systemressurser, for eksempel lokale filer. Men utgivere kan fjerne disse begrensningene ved å signere Web Start-applikasjonene sine med verktøyet jarsignersom følger med JDK .
Merknader
- ^ a b Java Client Roadmap Update ( PDF ), på oracle.com , mars 2018.
Bibliografi
- Java Web Start Developer Guide (6.0) , på download.oracle.com .