Javan esiintyvyydestä

Tekijä: Marko Seppänen
Teostyyppi: harjoitustyö
Oppilaitos: Saimaan ammattikorkeakoulu
Julkaisuajankohta: Joulukuu 2009
Kurssi: -

 

 

1.1 Taustaa

Java on muutakin kuin ohjelmointikieli, jonka kehitti alunperin tuolloin ja edelleenkin Sun Microsystemsillä työskentelevä James Gosling, tukenaan pieni Sunin insinööreistä koostunut tiimi, jota kutsuttiin ”Green Teamiksi”. Java viittaa nykyisellään useisiin alustoihin tuotteita ja spesifikaatioita, jotka on kategorisesti ottaen jaoiteltu seuraavanlaisesti: pienet ja mobiilit laitteet (Micro-versio, J2ME), pöytäkoneet (Standard-versio, J2SE), sekä keskisuuret ja suuryritykset (Enterprise-versio, J2EE).

Javan kehitystyö alkoi vuonna 1991, ensimmäisen Javaksi nimetyn tuotteen tullessa julkaistuksi Sun Worldissa vuonna 1995. Vuonna 1997 Java SDK:ta 1.1 (Software Development Kit) tuli ladatuksi kolmen viikon jakson aikana yli 200 000 kertaa. Vuonna 1998 kehityspaketin latauksia oli kertynyt jo oli 2 000 000 kpl.  Samaisen määrän latauksia saavutti myöhemmin julkaistu Enterprise-versio (J2EE) Java-alustasta vuonna 2002. Arviolta 2,5 miljardin laitteen raja, Java-teknologiaa käyttäviä laitteita, ylittyi vuonna 2005.

Olennaisimpia alustan komponentteja ovat Java-kielen kääntäjä, kirjastot ja ajonaikainen ympäristö, jossa lähdekoodista tuotetun välivaiheen tavukoodi ajetaan. Olennaisin hyöty Javasta on sen Java-sovelluksien siirrettävyys laitteisto- ja käyttöjärjestelmäriippumattomasti; Java Virtual Machine (JVM), joka on asennettuna ajonaikaiseen käyttöympäristöön, osaa lukea välivaiheen tavukoodia.

http://www.sun.com/java/about/
http://www.java.com/en/javahistory/timeline.jsp

 

1.2 Java SE (standardi-alusta)

 Voidaan käyttää kehitettäessä rikkaita asiakassovelluksia ja appletteja, jotka ovat nopeita, tietoturvallisia ja siirrettäviä. Sovellusta, joka on alun perin kehitetty esim. Windowsissa voi ajaa muuttamattona myös Linuxissa. Sisältyviin luokkakirjastoihin kuuluvat niin käyttöliittymän toteuttamisen tarpeisiin (Swing) liittyvät kuin tietokannan käsittelyyn (JDBC) ja etäyhteyksiin (RMI) liittyvät, sekä luonnollisesti myös mm. luokat piirtotoimintojen, tietovirtojen ja äänen käsittelyyn.

http://java.sun.com/javase/technologies/desktop/index.jsp

 

1.3 Java ME (micro-alusta)

Tarjoaa ympäristön sovelluskehitykselle, jonka kohteena ovat langattomat ja langalliset laitteet sulautetuista pienlaitteista älypuhelimiin, sekä muut laitteet kuten printterit ja viihdelaitteet. Sisältää laajan tuen verkottuneille ja verkottumattomille sovelluksille, jotka voidaan ladata dynaamisesti.

http://java.sun.com/javame/index.jsp

 

1.4 Java EE (enterprise-alusta)

Mahdollistaa vakaiden, siirrettävien, hyvin skaalautuvien ja tietoturvallisten palvelinpuolen Java-sovelluksien kehittämisen. Enterprise-luokan SOA- ja Web 2.0 sovellusten toteuttamiseksi se tarjoaa käyttöön APIt mm. verkkopalveluilla (Web Services), hallinnoimisella, viestinnälle ja komponenttimalleille. Java EE 6 esittelee uutuutena koko alustaa kevyemmän version, Web Profiilit, jotka on suunniteltu modernien websovellusten (pienistä keskisuuriin) kehittämiseen. Ne tarjoavat mm. transaktioiden käsittelyn, tietoturvallisuuden ja olioiden pysyvyyden hallinnan. Myös J2SE:n kirjastot ovat käytettävissä.

http://java.sun.com/javaee/index.jsp
https://www.sun.com/offers/docs/java_EE6_overview_paper.pdf


1.5 Java-alustojen käyttökohteita

Livescribe Pulse -älykynä (J2ME)

Livescribe Pulse pen on ääntä tallentava ja kirjoitettuun/piirrettyyn linkittävä älykynä. Sille on saatavilla Java-pohjainen kehitysympäristö, joka mahdollistaa kynän mikroprosessoria, muistia, nopeaa infrapunakameraa  ja mikrofonia hyödyntävien ”paperisovellusten” kehittämisen.

http://www.livescribe.com/developer/index.html

 

BlackBerry-älypuhelin (J2ME)

Suositulle älypuhelinmallistolla on saatavilla BlackBerry Java SDK, joka tarjoaa käyttöön rajapinnat ja Eclipse-pluginin BlackBerry-sovellusten kehittämiseen, jotka voivat hyödyntää kullekin laitteella ominaisia toimintoja ja ominaisuuksia, kuten GPS:sää, kameraa, puhelinta, kosketusnäyttöä ja ohjaimia, sekä integroitua laitteiden natiiveihin sovelluksiin ja kommunikoida esim. Enterprise Server -komponentin ja palvelinresurssien kanssa.

http://na.blackberry.com/eng/developers/javaappdev/

 

Canon iR7078 (J2ME) 

Canonin monitoimilaitteet sisältävät MEAP (Multi-functional Embedded Application Platform) -järjestelmän, jonka avulla kustomoitujen tai täysin uusien laitteen ominaisuuksia hyödyntävien sovellusten (esim. työnkulku- tai kustannustenhallintaohjelmat) asentaminen käy helposti. MEAP-sovellukset kirjoitetaan J2ME:tä käyttäen ja niitä käytetään laitteeseen itseensä valmiiksi asennetun tavanomaisen Java-tulkin avulla. Varsinainen asennus tapahtuu laitteen mukana tulevan installointityökalun avulla. MEAP-sovellukset voivat mm. printata, skannata, kopioida, kommunikoida käyttäjän kanssa laitteen käyttöliittymän kautta, hyödyntää verkkotoimintoja, näyttää käyttöliittymän etäkoneella yms.

http://www.canon.fi/For_Work/Products/Professional_Print/Black__White_Production/iR7086/
http://www.developersupport.canon.com/meap.htm

 

Flemish Brabant (J2EE)

Belgialaisen provissin, Flemish Brabantin, IT-osaston strateginen valinta ohjelmistokehitysalustaksi oli Java EE 5 (Enterprise Edition 5.0). Sisällönhallintajärjestelmä provinssin verkkosivustolle, lukuisille dokumenttien- ja työnhallintatoiminnoille ja lähes kaikki organisaation kustomoidut websovellukset pohjautuvat Javaan. Lisäksi, IT-osasto on ottanut käyttöön Java-pohjaisen geograafisen tietojärjestelmän, joka tarjoaa päätöksentukitoimintoja geograafisuuteen liittyville sovellusksille.

http://www.sun.com/customers/servers/flemish_brabant.xml

 

Mars Rover (J2SE)

Moniosaisissa tietojärjestelmissä kaikki komponentit eivät välttämättä pohjaudu esim. pelkkiin Java-teknologioihin, vaan Javan hyödyntäminen voi rajoittua osatoimintoihin. Mars Rover hyödyntää Javan rajapintoja Java 3D ja Java Advanced Imaging, joiden avulla käsitelläään suuriresoluutioisia kuvia, joita panoraaminen kamera Marsissa otti. Kuumönkijässä itsessään olevalla tietokoneelle tätä ei kuitenkaan tehdä, vaan raakadata käsitellään vasta Maassa. Myös osa käskytys- ja ohjausjärjestelmä -ketjusta on toteutettu Java-ohjelmointikielellä (“a number of parts of the whole command and control chain that goes out to the Rover that's done in Java”).

http://www.sun.com/aboutsun/media/features/mars.html