Den anden dag nyder jeg et temmelig godt designet Java-baseret spil i min Firefox-browser. Bagefter kunne jeg ikke lade være med at reflektere over Java's brugbarhed og magt - specifikt hvordan web-indlejrede Java-applets fungerer. I virksomhedernes miljø, hvor jeg arbejder, betragtes Java som det webapplikationsværktøj, der vælges til udvikling af browserbaserede applikationer. ActiveX-programmer er som standard deaktiveret i alle browsere.
Sun Microsystems udviklede Java programmeringssprog og arkitektur i 1995. Siden da er det blevet en værdifuld og integreret del af udviklingen af internettet. Paul gav en stor liste til Java Application eksempler Top 5 Websites til Java Application Eksempler Top 5 Websites for Java Application Eksempler Læs mere, som burde vise sig meget nyttigt for udviklere, og Karl gav en nyttig vejledning om, hvordan man fjerner ældre versioner af JRE How To Fjern gamle versioner af Java Runtime fra din pc Sådan fjerner du gamle versioner af Java Runtime fra din pc Læs mere fra dit system.
I denne artikel vil jeg gerne tage et øjeblik til at reflektere over årsagerne til at Java betragtes som en af de mest pålidelige arkitekturer til udvikling og kørsel af applikationer via internettet og dækker lidt om, hvordan Java-applets fungerer. Som de fleste læsere måske ved, er Java's skønhed, at Java Virtual Machine-arkitekturen tillader Java at køre på flere platforme - herunder Windows, Solaris, Linux og Apple. Evnen til at skrive almindelige applikationer, der kan køre på flere arkitekturer, gør Java til en af de webprogrammeringsmodeller, der har overlevet og blomstret i over et årti.
Hvorfor kan du installere og køre Java-software overalt
Årsagen til, at Suns model fungerede så godt, skyldes dels, at den blev oprettet for at overvinde en af de mange ulemper ved det tidlige internet. Få meget "nyttige" applikationer kunne køre over internettet på grund af alle de sikkerhedsmæssige problemer i at tillade en internetbaseret applikation med adgang til browsers indstillinger og oplysninger - eller værre, computerens filsystem og operativsystem. Tidlige arkitektur udviklere indså, at for ethvert websoftware miljø at overleve, ville det være nødvendigt at tage disse sikkerhedshensyn meget alvorligt.
Før vi kommer til sikkerhed, vil jeg gerne kortfattet dække arkitekturen selv, og hvad gjorde systemet så effektivt og kraftfuldt for både softwareudviklere og internetbrugere, som ønskede mere brugbare og funktionelle webapplikationer.
Hvis du kigger på mit dårlige forsøg på at tegne ovenfor, vil du se en grov gengivelse af Java-programflowet. I det væsentlige skriver Java-udviklere et program. Jeg fokuserer på Java Applets, fordi det drejer sig om internetapps - lokale Java-applikationer er et helt andet dyr med deres egne unikke overvejelser.
Udviklere opretter Java Applet-kode, der kan indlejres i enhver webside. Uanset om du kører Ubuntu, Mac eller Windows, når du starter denne applet med din bestemte browser version, forsøger Applet at køre inden for det "sandbox", der kaldes Java Runtime Environment eller Java Machine. Jeg fandt nogle seje, enkle eksempler på, hvordan Java-applets fungerer, skabt af Joseph Bergin fra Pace University i 1996.
Som du kan se, accepterer denne enkle applikation brugerindgang, og svarer til denne indgang ved at sortere tilfældige punkter på den valgte måde. Denne applikation accepterer Java-koden og konverterer den til maskinlæsbar kode, der passer til det pågældende operativsystem, så musen, displayet og andre systemfunktioner fungerer korrekt med det pågældende program.
Som du kan se fra sin baggrundskode, er Java et objektorienteret sprog med klasser og objekter, der er fælles for alle Java-udviklere. Dette er skønheden i Java-udvikling - den platform, du skriver for, betyder ikke noget, fordi alle taler det samme sprog.
Java er nu en applikation runtime platform, der bliver mere accepteret og "standard" over hele verden, og det er et af de mest populære programmeringssprog, der er valgt til online applikationsudvikling. Du kan installere det nyeste JRE til dit operativsystem når som helst.
Sikkerhedsmæssige bekymringer og hvorfor du burde føle sig trygge
Hele Java-layoutet blev udviklet med brugernes sikkerhed i tankerne. Sun-udviklere ønskede at strukturere JRE og sproget på en måde, der, selvom det ikke var umuligt at hacke, ville være meget vanskeligere. I de senere år har vi alle hørt nogle mareridtkonti for ActiveX-virusser og lignende, men Java forbliver øverst på listen for de fleste virksomheder og virksomheders miljøer som en af de sikreste metoder til at køre webapps i en browser. De fleste virksomheder giver Java aktiveret i deres browsere, og de fleste klientmaskiner installeres med den nyeste JRE.
Når du kører en Java Applet, eller bare installerer JRE, vil du bemærke Java-ikonet vises i din proceslinje. Når du ser dette, ved du, at du har Java installeret. For at kontrollere versionen skal du bare højreklikke, åbne Kontrolpanel og vælge " Om ... "
Dette runtime-miljø eller "sandbox" beskytter din computer mod ondsindet kode, simpelthen for den måde, funktionaliteten blev udviklet, og sproget blev struktureret. Nogle af de sikkerhedsmæssige overvejelser, du kan regne med, når du tillader Java i din browser, og at installere JRE på dit system er som følger.
- Java har offentlige metoder, som udviklere kan udnytte, men disse almindelige metoder har sikkerhedskontroller, der sikrer, at de ikke anvendes ukorrekt af applikationen. Det betyder, at adgang til mange objekter (f.eks. Filobjektet) har en vis "sikkerhedskontrolpunkt" -proces, før en applikation kan få adgang til den offentlige metode i Java-biblioteket.
- Java betragtes som "type sikker", hvilket betyder, at kompilering og runtime variabeltyper er kompatible - verificeret ved kompilering eller runtime. Dette blokerer ondsindet kode, der forsøger at omgå adgangskontrollsikkerheden ved at "caste" objekter. Alt dette betyder, at Java har fjernet muligheden for en anden klasse af malware og virus software til at forårsage problemer.
- Udviklere erklærer metoder som "endelige", hvilket betyder, at eksterne applikationer (f.eks. Skadelig softare) ikke kan tilsidesætte metoder - kun den faktiske deklarerede metode påberåbes for objektet. En anden sikkerhedssprængte forseglet af Java.
- Endelig, mens det er en torn i siden af mange udviklere, tillader Java ikke peger som datatype. Selv om dette betyder, at udviklere skal udvikle andre måder til at udføre opgaver, hvor de vil bruge peger, betyder det også, at array pointers ikke kan manipuleres - ej heller kan programmører uheldigvis overskride en array længde med defekt kode. Ondsindede apps kan ikke udnytte pointer aritmetik for at få adgang til systemobjektpegerne, fordi der ikke er nogen pointer at manipulere.
- Java har sin egen "affaldssamling" for at genoprette hukommelsen og dermed blokere evnen til ondsindet kode til at allokere hukommelse til et formål, de-allokere det og derefter bruge det (med en ny peger) til ondsindede formål. Igen - en hel klasse af ondsindet kode er blokeret på grund af dette.
Hvis du ikke er en programmør, skal alle ovenstående oplysninger blot forsikre dig om, at Java-tilgangen til at køre webapplikationer er en af de sikreste tilgængelige. Du kan føle dig ret sikker på at køre JRE på dit system og starte Java-applets.
Endnu en ting at forstå, når du kører Java Applets, er, når du bliver spurgt, om du vil give et "betroet certifikat". Acceptér disse anmodninger omhyggeligt, for når du gør det, kan Java-koden køre noget uden for sin normale Applet-sandkasse. "Du kan få adgang til hvilke certifikater du har som betroet ved at gå i Java Kontrolpanel og klikke på fanen Sikkerhed og derefter klikke på" Certifikater ... "
Unsigned Applets kan kun gøre netværksforbindelser tilbage til deres vært, vise webdokumenter, påberåbe kun offentlige metoder (se den ovenfor nævnte sikkerhedsfordel), og de kan læse systemegenskaber. Signerede applets kan på den anden side få adgang til det lokale filsystem, filer, udklipsholder og printere, og de kan få adgang til andre fjernbetjenings servere og meget mere. Alligevel er det forhold, at brugeren (du) udtrykkeligt skal give en sådan tilladelse, en god beskyttelse. Jeg genkendte alle apps på min liste - intet bliver tilføjet automatisk.
Er du en Java-udvikler? Hvad er din mening om Java-applets funktionalitet og sikkerhed? Hvis du bare er en almindelig internetbruger, og ikke en udvikler, overvejer du processen med at køre Java-applets let nok til at forstå? Del dine tanker i kommentarfeltet nedenfor.