Gjest

Annonse


Skrivervik uttaler:

GjestIkke engang Sun Microsystems benekter at Java hører hjemme i denne klassen. Samtidig er det et faktum at effekten av tilfeldighetene er av relativt beskjeden varighet. Det må annet krutt til for å holde oppmerksomhetene vedlike lenge nok til at suksessen blir av varig karakter.
I så henseende har Sun demonstrert ferdigheter knapt noen mistenkte dem for å være i besittelse av. Selskapet har riktignok klart seg forbausende bra i Unix-markedet, også i en periode med andreklasses ytelsestall. På markedsføringsfronten har de imidlertid aldri nådd over gjennomsnittet.
Denne terskelen er definitivt brutt i forbindelse med Java, der vi nærmest har vært vitne til Microsoft-lignende tilstander i forholdet mellom markedsføring og produkt: Java presterte å bli både en de facto standard og en braksuksess før verden hadde sett et eneste produkt. Likheten med Windows 95 er slående.

Mye skrik …
Hva er så årsaken til den voldsomme oppstandelsen Java har skapt i markedet? Blir det virkelig ført noe nytt til torgs her? Svaret er `tja’, fordi det i mindre grad er teknologien i seg selv, og mer anvendelsen av den, som er ny. Samtidig hersker det stor forvirring i markedet om hva Java egentlig er: Programmeringsspråk, nettlos, utviklingsmiljø eller noe annet.
Jim Waldo, som er leder for en av utviklingsgruppene i Suns JavaSoft-selskap, påpeker at Java først og fremst er et miljø. `Å sammenligne Java med tradisjonelle programmeringsspråk som C eller Fortran, blir fullstendig misvisende. Selv C++ er et dårlig sammenligningsgrunnlag, til tross for at Java-miljøets programmeringsspråk har et nært slektskap med nettopp C++’, understreker han.
Javas historie strekker seg tilbake til 1991, og hele prosjektet var på vei i graven, da Web-eksplosjonen i 1994 åpnet en mulighet som Sun maktet å utnytte maksimalt.

Applets = små programmer med stort potensiale
Levende Web-sider inneholder såkalte Java-applets, små programmer som utfører de funksjonene vi ser resultatet av på skjermen. Programmene overføres som en del av Web-dokumentet, innkapslet på en måte som gjør dem usynlige for nettloser som ikke forstår Java. Brukeren blir i så fall konfrontert med en tradisjonell, statisk Web-side – som før. Denne kompatibiliteten bakover kan sammenlignes med – og er like viktig som – tilsvarende for fjernsynet, da vi gikk fra sort/hvitt til farger på slutten av sekstitallet.
At et dokument på denne måten inneholder et program, er et interessant konsept i seg selv, og har blant annet sikkerhetsmessige konsekvenser som vi kommer tilbake til nedenfor.
Dette er imidlertid kun en spe begynnelse. Javas programmeringsspråk er tilstrekkelig generelt og kraftig til å være grunnlag for applikasjoner av vilkårlig størrelse og kompleksitet. Takket være slektskapet til C++, er det dessuten objektorientert, og dermed i tråd med det vi kan kalle moderne programmerings-tankegang.
Her åpner det seg en hel verden av muligheter: Med nettlosen som rammeverk og miljø, kan alle slags løsninger gjøres tilgjengelige, fra bilder av rykende kaffekopper til komplekse vitenskapelige eller kommersielle applikasjoner. Disse mulighetene er selve fundamentet for ideen bak de mye omtalte nettverks-computerne – som mange snakker om, men få har sett. Å implementere en tekstbehandler á la Word eller et regneark á la Excel, er om ikke trivielt, i alle fall mulig i Java. Corels nylige lansering av WordPerfect i Java-inkarnasjon er det beste eksemplet så langt.

… men lite ull
Det blir med rette hevdet at Java som fundament for komplekse applikasjoner, fortsatt er mye spekulasjon med få reelle eksempler. For en så fersk teknologi er dette knapt til å unngå, og det er definitivt et langt lerret som skal blekes videre fremover. På den andre siden står vi, ikke helt uten eksempler på store Java-programmer, og ved siden av WordPerfect er Suns egen nettlos, HotJava, et godt eksempel i størrelse og funksjonalitet – til tross for at den verken har eller vil få noen signifikant markedsandel.
Om det er langt mellom de store, er det imidlertid tett mellom de små Java-applikasjonene på Internettet. Konkurranser, kurser, seminarer og gratis verktøy for utviklere og studenter, begynner å gi resultater også utover renelekesaker. I praksis er Java i disse dager i ferd med å bli en katalysator for den videre utviklingen av Internettet i kommersiell forstand, fordi det er Java-baserte reklameinnslag som holder stadig flere av de mest populære aktørene ilive.
Til slike anvendelser er Java praktisk talt uten konkurranse. Microsofts frenetiske innsats for å stoppe og kapre Internett-toget, som passerte mens Gates & Co. lekte seg med andre ting, har riktignok vært imponerende. Resultatene lar imidlertid vente på seg, og ActiveX har lite å tilby i dette segmentet. Det betyr imidlertid ikke at verken Microsoft eller ActiveX er ute av bildet. I forbindelse med større applikasjoner, er ActiveX definitivt interessant, selv om objektene mangler en rekke av Javas fremste attributter – deriblant plattformuavhengighet.

Annonse


Endelig plattformuavhengighet, men vil markedet ha den?
Det som skiller Java fra mengden av programmeringsspråk og -miljøer ellers, er plattformuavhengig kode, som kan kjøres på en hvilken som helst maskin som har en såkalt Java engine tilgjengelig. Heller ikke dette er nytt – på papiret, men i praksis gir Java en grad av plattformuavhengighet som ingen har sett maken til tidligere. Et Java-program består av såkalte byte-koder, instruksjoner til en tenkt maskin, som oversettes til den aktuelle maskinens kodespråk idet programmet kjøres.
Dermed er Java-programmer verdiløse på egenhånd. De forutsetter at riktige omgivelser er på plass. Ett av disse omgivelses-elementene er den nevnte Java-engine (oversetter), som sørger for kontroll, oversettelse og utførelse av programmene.
Ethvert miljø som kan kjøre Java-programmer, for eksempel nettloser, har en slik oversetter. Det er imidlertid spesielt interessant å legge merke til at enkelte operativsystemer, for eksempel Linux, allerede har en Java-engine innebygget i selve systemet, slik at Java-programmer kan kjøres helt på linje med andre programmer. Samtidig med at det er langt frem til lignende omgivelser blir å finne på operativsystemer flest, demonstrerer dette at konseptet er generelt, og ikke begrenset til miljøet rundt og i en nettlos.
Javas plattformuavhengighet har naturligvis en pris: Uansett teknologi, er interpretering (`oversettelse på stedet’) ytelsesmessig kostbart, hvilket er hovedårsaken til at tidligere plattformuavhengige teknologier ikke har lykkes. Situasjonen for Java er omtrent den samme, selv om effektiviteten relativt sett er god.

Sikkerhet
Når dokumenter med iboende programmer flyter fritt over et offentlig nettverk som Internettet, er det naturlig at sikkerhetsspørsmålene kommer i forgrunnen. Hvem som helst kan legge ut Web-sider, og ingen ser om disse inneholder programmer før de er lastet ned, og programmet allerede er startet. Da kan det være for sent å komme på andre tanker.
Problemer med virus i applikasjonsmakroer, som har plaget brukere av spesielt Microsoft Office den siste tiden, er nærliggende skrekkeksempler. Analogien halter imidlertid sterkt, fordi Microsofts applikasjoner er utviklet uten tanke på en slik risiko, mens sikkerheten har stått sentralt i Java-sammenheng siden tidlig på utviklingsstadiet. Derfor har Java-miljøet som er å finne i de fleste av dagens nettloser, en lang rekke kontroller som verifiserer koden i forhold til en samling kriterier – som i noen grad kan konfigureres lokalt. Videre er programmeringsspråket med overlegg amputert, og en rekke funksjoner, deriblant direkte filoperasjoner, er utilgjengelige eller pålagt sterke restriksjoner.
Begrensningene er – som sikkerhetsrelaterte tiltak flest – en tveegget affære: Ikke bare tar det tid å kontrollere programmene foran og bak før de utføres, men manglende adgang til lokale operativsystemressurser, begrenser også applikasjonenes praktiske anvendelsesområder. Fleksibilitet med hensyn til konfigurasjon av hvem som kan gjøre hva, som enkelte Java-miljøer har implementert, er til stor hjelp, men reduserer også den reelle sikkerheten.
Java er derfor ingen sikkerhetsrisiko i seg selv, men omgivelsene kan være det. Feil og svakheter har vi sett en rekke eksempler på det siste året. Selv om ingen av dem har vært av alvorlig karakter, har de demonstrert at små feil kan ha store konsekvener. Likeledes har de vist at oppmerksomheten rundt sikkerhet er spesielt stor i denne sammenhengen, både fra markedet og fra leverandørene.

Konkurranse
Adams opphold i Paradis ble som kjent av begrenset varighet, og det samme kan sies om Sun og Java: All støyen de har maktet å skape, har til gagns vekket aktuelle og potensiale konkurrenter, og ikke minst Microsoft våknet med et veritabelt brak.
De har konstatert at Javas suksess representerer en trussel, eller i det minste en tapt mulighet. Så sent kom Microsoft på banen, at de så seg tvunget til å velsigne Java for å få plass på toget. Siden har de vinglet videre med mer eller mindre desperate forsøk på å gjenvinne ledertrøya og muligheten til å diktere markedet – uten synderlig suksess. Historien med ActiveX, en teknologi hvis innhold ble redefinert flere ganger før den omsider i amputert utgave ble overlatt til The Open Group 1. oktober i år, taler for seg.
Det betyr imidlertid ikke at Microsoft er spilt utover sidelinjen for godt. Selskapet har også tidligere bommet flere ganger før første mål-scoring, og kraften bak hvert skudd er ikke blitt mindre i årenes løp.

Kampen om finaleplass fortsetter
Kampen er med andre ord bare såvidt begynt, og vi har mange spennende runder i vente. Java er i høyeste grad reell teknologi, selv om applikasjonstilfanget fortsatt er beskjedent. Teknologien er en logisk videreutvikling av den Web-teknologien vi har stiftet bekjentskap med de siste to årene.
I laboratorier og utviklingsmiljøer blir Java brukt som grunnlag for operativsystemer, kompilatorer, tekstbehandlere og kommersielle applikasjoner. Erfaringsgrunnlaget er solid nok til at Java er valgt som fundament for de fleste annonserte nettverks-computere. Det er riktignok langt frem til NCene blir synlige i markedet, men det er ikke til å komme forbi at Java har bidratt til å gi IT-utviklingen generelt en ny retning. Samtidig er det et faktum at Java har fått god hjelp av den rådende anti-Microsoft stemningen som hersker i store deler av både programvare- og hardware-bransjen.
De praktiske konsekvensene av Java ligger fortsatt et stykke frem i tid, og det er beheftet med usikkerhet hvor store de blir. Dersom de nye NCene virkelig tar av, vil Java få en viktig, om enn lite synlig, posisjon i fremtidens desktop-systemer. I mellomtiden kan de fleste av oss rolig studere utviklingen og markedsposisjoneringen fra de ulike aktørene. I løpet av de nærmeste 18 månedene vil vi få erfare om Java og NCer er en blindvei eller en utvei.

Helge Skrivervik er partner i Mellingen & Skrivervik AS, som spesialiserer seg på kompetanseutvikling for IT-markedet, og bl.a. utgir månedsrapporten Mellvik-Rapporten.

Annonse