Fiasko for appletter
Java Web Start er en forholdsvis ny Java-teknologi fra Sun Microsystems, med det knap så mundrette officielle navn Java Network Launching Protocol (JNLP). Ideen i teknologien, som i parentes bemærket er opfundet af en af Suns danske programmører, er kort fortalt at skabe et rammeværk med sigte på at tilbyde mindre Java-baserede applikationer på en ganske ukompliceret facon. Programmerne downloades fra internet, og Java Web Start installerer og starter programmerne. En sikkerhedsmodel gør det hele for en forholdsvis ufarlig oplevelse for brugeren.
Java Web Start med en række downloade JNLP-applikationer.
Appletter
Baggrunden for Java Web Start ligger i appletterne, som Sun introducerede sammen med Netscape i sidste halvdel af halvfemserne. Netscape havde introduceret sin plug-in arkitektur til firmaets browser, men plug-ins løser kun én specifik opgave, og for at programmere en sådan plug-in kræves der kendskab til det API (programmeringsflade) som Netscape udstak.
Med appletter indlejret i websiden fik Java-udviklere muligheden for at skabe småprogrammer uden at skulle sætte sig ind i andet end de klassebiblioteker, som er kernen i Java. Appletter gav et løfte om levende websider med en større grad af interaktivitet, end de statiske websider kunne byde på.
Men appletterne var ikke nogen stor succes. De virtuelle maskiner, som fulgte med browserne, var ikke tilstrækkeligt stabile, og Java-udviklerne var endnu ikke erfarne nok, så appletterne udløste ingen stor applaus fra brugernes side.
Et andet problem ved at indlejre applikationslignende elementer er ganske simpelt, at en webside ikke er særlig anvendelig til dette formål. En webside benytter et sidelayout, som er væsensforskelligt fra den type af omgivelser, som applikationer bruges i. For at kunne tilgå appletten eller plug-in'ens kontroller, skal vinduestørrelsen tilpasses, og der skal justeres på browserens rulleskakt, og det er oftest en akavet oplevelse.
De fleste populære browser plug-ins er som regel også fremvisere, der har samme funktion som almindelige billeder, men med muligheden for at fremvise video eller animation. Ved mere applikationslignende elementer vælger mange designere at åbne et nyt browservindue skaleret til en valgt størrelse, for at komme tættere på den måde, som applikationer fremstår i et grafisk styresystem.
Ingen installation
Appletter bedre end programmer
Selv om appletter ikke var nogen succes, og nok ikke har den store fremtid efter at Microsoft ikke længere vil understøtte Java i Internet Explorer, så er selve ideen bag appletterne god nok: Nemlig at tilbyde brugeren en applikationslignende grænseflade til løsning af mindre krævende problemer.
På enkelte punkter er appletter faktisk overlegne i forhold til almindelige applikationer. De bliver downloadet automatisk, kræver ingen installation, og er underlagt en skrap sikkerhedsmodel.
Java Web Start henter applikationen, efter at brugeren har klikket på et link til applikationen.
Det er disse forhold, som Sun adresserer i deres Java Web Start teknologi. Men i modsætning til appletter ligner de JNLP-baserede programmer helt almindelige Java 2 applikationer, og bortset fra sikkerhedsmodellen sættes der ingen restriktioner for udviklerne.
Java Web Start er en lille udvidelse til Javas afviklingsmiljø, Java Runtime Edition 1.2.2 eller senere, på kun 720 kilobyte. Hvis brugeren ikke har JRE, kan en pakke på fem megabyte med JRE downloades, eller en internationaliseret version på knap ni megabyte. De understøttede styresystemer er Windows, Solaris (som er Suns egen Unix-variant), Linux og Macintosh OS10.1. En open source implementering, OpenJNLP, understøtter en del flere platforme.
Der er ikke de store forskelle imellem almindelige programmer, som bygger på Javas grafiske brugerflade Swing, og dem der udvikles til Java Web Start, på nær enkelte forskelle som skyldes sikkerhedsmodellen. På Suns website kan man finde en guide for udviklere, som er nem at gå til.
Start med et hyperklik
Start med et hyperklik
Når brugeren installerer Java Web Start, opsættes browseren til at benytte Java Web Start som plug-in. Man downloader en JNLP-applikation ved blot at klikke på et link på en webside, så overtager Java Web Start processen, på samme måde som det kendes fra for eksempel RealPlayer. Java Web Start downloader derefter applikationen og starter det op umiddelbart efter download, på samme måde som et hvert andet program. Applikationen bliver liggende på harddisken, så det skal kun downloades den første gang.
Anvendelser
JNLP giver en række fordele, både for udviklere og slutbrugerne. For udviklerne kan JNLP være et godt alternativ til for eksempel webgrænseflader. Mange producenter af især enterprisesoftware ser webgrænseflader som et billigt alternativ til at skulle udvikle klientsoftware til et utal af platforme. Men webgrænseflader er ikke gearet til egentlig applikationsbrug: Grænsefladerne bliver hurtigt for omstændige for brugerne. Her kan JNLP være et oplagt alternativ, da det tilbyder applikationer, som til forveksling ligner dem, som brugerne kender fra det grafiske miljø i brugerens styresystem.
Da Java tillige i høj grad er platformsuafhængigt, fjerner det også behovet for at implementere klienter til forskellige platforme, hvilket selvfølgelig sparer på udviklingsomkostningerne.
En JNLP-udgave af en Swing-demonstration - her i et Macintosh værtsmiljø.
For brugeren af programmerne er der også klare fordele. De fleste styresystemer har det med at blive ustabile, hvis brugeren ofte installerer diverse småprogrammer, da det ikke er alle programmer, som er lige velskrevne. Applikationer som bygger på JNLP eliminerer disse problemer, da systemet aldrig kommer i direkte berøring med programmet - Javas virtuelle maskine ligger imellem, og beskytter også brugeren mod farlige programmers opførsel.
Man kan se en rækkke demonstrationer af JNLP på Suns website. Det er en teknologi i sit tidlige stade, så der er ikke mange eksempler at vælge imellem, men de kan give et indtryk af mulighederne. Specielt skal den sjove billedbrowser PhotoMesa nævnes. Men systemets største potentiale ligger som sagt i klient-server systemer. Eksempelvis benytter det danske softwarefirma Eastfork Object Space JNLP til et medicinsk informationssystem med 300 brugere.