
Peter Holmes
0
1722
139
Forleden dag nød jeg et temmelig godt designet Java-baseret spil i min Firefox browser. Bagefter kunne jeg ikke lade være med at reflektere over anvendeligheden og kraften i Java - specifikt hvordan webindlejrede Java-applets fungerer. I det forretningsmiljø, hvor jeg arbejder, betragtes Java som det webapplikationsværktøj, du vælger til at udvikle browserbaserede applikationer. ActiveX-applikationer 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 internetudviklingen. Paul leverede en fantastisk liste over eksempler på Java-applikationer Top 5-websteder til Java-applikationseksempler Top 5-websteder til Java-applikationseksempler, der skulle vise sig at være meget nyttige for udviklere, og Karl leverede en nyttig guide til, hvordan man fjerner ældre versioner af JRE Sådan fjernes gamle Versioner af Java Runtime fra din pc Sådan fjernes gamle versioner af Java Runtime fra din pc fra dit system.
I denne artikel vil jeg gerne tage et øjeblik til at reflektere over grundene til, at Java betragtes som en af de mest pålidelige arkitekturer til at udvikle og køre applikationer over Internettet og dække lidt om, hvordan Java-applets fungerer. Som de fleste læsere måske ved, er det smukke ved Java, at Java Virtual Machine-arkitekturen giver Java mulighed for at køre på flere platforme - inklusive Windows, Solaris, Linux og Apple. Evnen til at skrive almindelige applikationer, der kan køre på flere arkitekturer, gør Java til en af disse webprogrammeringsmodeller, der har overlevet og blomstret i over halvandet årti.
Hvorfor du kan installere og køre Java-software overalt
Årsagen til, at Sun's model fungerede så godt, er delvis på grund af den kendsgerning, at den blev oprettet for at overvinde en af de mange ulemper ved det tidlige Internet. Få meget “nyttig” applikationer kunne køre over internettet på grund af alle de sikkerhedsmæssige problemer ved at tillade en internetbaseret applikation med adgang til browsersindstillinger og information - eller værre, computerens filsystem og operativsystem. Tidlige arkitektudviklere indså, at for ethvert websoftwaremiljø for at overleve, ville det være nødvendigt at tage disse sikkerhedshensyn meget alvorligt.
Inden vi kommer til sikkerhed, vil jeg gerne kort dække selve arkitekturen, og hvad der gjorde systemet så effektivt og kraftfuldt for både softwareudviklere og internetbrugere, der ønskede mere nyttige og funktionelle webapplikationer.
Hvis du kigger på mit dårlige forsøg på at tegne ovenfor, ser du en grov repræsentation af Java-programstrømmen. Grundlæggende skriver Java-udviklere en applikation. Jeg fokuserer på Java Applets, fordi dette handler om Internet-apps - lokale Java-applikationer er et helt andet dyr med deres egne unikke overvejelser.
Udviklere opretter Java Applet-kode, der kan integreres på enhver webside. Uanset om du kører Ubuntu, Mac eller Windows, når du starter denne applet med din bestemte browserversion, prøver Applet at køre inden for det “sandkasse” kendt som 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 dette enkle program brugerinput og reagerer på det input ved at sortere tilfældige punkter på den valgte måde. Denne applikation accepterer Java-koden og konverterer den til maskinlæsbar kode, der er passende til det pågældende operativsystem, så musen, displayet og andre systemfunktioner fungerer korrekt med det program.
Som du kan se fra hans baggrundskode er Java et objektorienteret sprog med klasser og objekter, der er fælles for alle Java-udviklere. Dette er skønheden ved Java-udvikling - den platform, du skriver til, betyder ikke noget, fordi alle taler det samme sprog.
Java er nu en applikations runtime platform, der bliver mere accepteret og “standard” overalt i verden, og det er et af de mest populære programmeringssprog valgt til online applikationsudvikling. Du kan når som helst installere den nyeste JRE til dit operativsystem.
Sikkerhedsmæssige bekymringer og hvorfor du skal føle dig sikker
Hele Java-layoutet blev udviklet med brugernes sikkerhed i tankerne. Soludviklere ønskede at strukturere JRE og sproget på en måde, selv om det ikke var umuligt at hacke, ville være meget vanskeligere. I de senere år har vi alle hørt nogle mareridtkonti om ActiveX-vira og lignende, men Java forbliver øverst på listen for de fleste virksomheder og virksomhedsmiljøer som en af de sikreste metoder til at køre webapps i en browser. De fleste virksomheder lader Java være aktiveret i deres browsere, og de fleste klientmaskiner er installeret med den nyeste JRE.
Når du kører en Java-applet eller bare installerer JRE, vil du bemærke, at Java-ikonet vises på 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 “sandkasse” beskytter din computer mod ondsindet kode, simpelthen ved, hvordan funktionaliteten blev udviklet og sproget blev struktureret. Nogle af de sikkerhedshensyn, du kan stole på, når du tillader Java i din browser, og installerer JRE på dit system er som følger:.
- Java har offentlige metoder, som udviklere kan bruge, men disse almindelige metoder har sikkerhedskontrol, der sikrer, at de ikke bruges forkert af applikationen. Dette betyder, at adgangen til mange objekter (såsom File-objektet) har en bestemt “sikkerhedskontrol” behandle, inden enhver applikation kan få adgang til den offentlige metode i Java-biblioteket.
- Java overvejes “type sikker,” hvilket betyder, at variabeltyperne til kompilering og runtime er kompatible - verificeret ved kompilering eller runtime. Dette blokerer ondsindet kode, der forsøger at omgå adgangskontrolforhold ved “støbning” objekter. Alt dette betyder, at Java har fjernet muligheden for en anden hel klasse af Malware og Virus-software til at forårsage problemer.
- Udviklere erklærer metoder som “endelige,” hvilket betyder, at eksterne applikationer (såsom ondsindet softare) ikke kan tilsidesætte metoder - kun den faktiske deklarerede metode kaldes til objektet. En anden sikkerhedskrack forseglet af Java.
- Endelig, selvom det er en torn i siden for mange udviklere, tillader Java ikke pointere som en datatype. Selvom dette betyder, at udviklere er nødt til at udvikle andre måder at udføre opgaver på, hvor de vil bruge pointers, betyder det også, at array-pointer ikke kan manipuleres - og heller ikke programmører ved en fejltagelse kan overskride en matrixlængde med defekt kode. Ondsindede apps kan ikke drage fordel af markørens aritmetik for at få adgang til systemobjektpekere, fordi der ikke er nogen markør til at manipulere.
- Java har sin egen “dagrenovation” at gendanne hukommelse og derved blokere muligheden for ondsindet kode til at allokere hukommelse til et formål, afdele den og derefter bruge den (med en ny markør) 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 ganske enkelt forsikre dig om, at Java-fremgangsmåden 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.
En ting mere at forstå, når du kører Java Applets, er, når du bliver spurgt, om du vil angive en “betroet certifikat.” Accepter disse anmodninger omhyggeligt, fordi når du først har gjort det, kan Java-koden køre noget uden for dets normale applet “sandkasse.” Du kan få adgang til hvilke certifikater du har tillid til ved at gå i Java Kontrolpanel og klikke på fanebladet Sikkerhed og derefter klikke på “certifikater... ”
Ikke-underskrevne applets kan kun oprette netværksforbindelser tilbage til deres vært, vise webdokumenter, kun påberåbe sig offentlige metoder (se sikkerhedsfordelen nævnt ovenfor), og de kan læse systemegenskaber. Underskrevet Applets har på den anden side adgang til det lokale filsystem, filer, udklipsholder og printere, og de kan få adgang til andre fjernservere og meget mere. Ikke desto mindre er det faktum, at brugeren (dig) eksplicit skal give en sådan tilladelse, en pæn beskyttelse. Jeg genkendte hver app på min liste - intet tilføjes automatisk.
Er du en Java-udvikler? Hvad er din mening om funktionaliteten og sikkerheden i Java-applets? 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.