Ohjelmointi

Java ME 8 ja esineiden internet

Sisällytetty järjestelmä ovat kokonaisiin laitteisiin upotettuja tietokonejärjestelmiä, joiden omat toiminnot sijaitsevat suuremmassa mekaanisessa tai sähköisessä järjestelmässä. Sulautettuja järjestelmiä käytetään tyypillisesti sekä teollisissa että kuluttajasovelluksissa parrasvaloihin esineiden internetin (IoT) kanssa. Kehittäjille, jotka ovat vasta aloittaneet IoT: n käytön, tämä artikkeli on opas oppimaan lisää Oraclen IoT-alustan muodostavista tekniikoista: Java ME 8, Java ME Embedded, Java SE Embedded ja Java Embedded Suite.

Vuonna 1991 Xeroxin Palo Alto -tutkimuskeskuksen (PARC) silloinen johtaja Mark Weiser yritti kaapata yleisen tietojenkäsittelyn tulevan ajan. Weiser totesi, että "[kaikkein syvimmät tekniikat häviävät" ", Weiser kuvasi PARC: n kollegoidensa tekemiä erilaisia ​​ajatuksia ja teknisiä kokeita, kun he etsivät uutta ajattelutapaa tietokoneista sulautettuina järjestelminä. Heidän näkemyksensä, joka saattoi tuntua yhtä fantastiselta kuin ilmatyynyalukset vuonna 1991, on nopeasti yleistymässä tänään:

Sal herää: hän haisee kahvia. Muutama minuutti sitten hänen herätyskellonsa, jonka hälytti levoton levähdys ennen heräämistä, oli hiljaa kysynyt: "Kahvi?", Ja hän oli mutissut: "Kyllä". "Kyllä" ja "ei" ovat ainoat sanat, jotka se tietää [...]

Aamiaisella Sal lukee uutisia. Hän haluaa edelleen paperilomaketta, kuten useimmat ihmiset. Hän huomaa mielenkiintoisen lainauksen kolumnistilta liike-osiosta. Hän pyyhkii kynänsä sanomalehden nimen, päivämäärän, osion ja sivunumeron päälle ja sitten ympyröi tarjouksen. Kynä lähettää viestin paperille, joka välittää tarjouksen toimistoonsa [...]

Kun Sal saapuu töihin, etunäkymä (hänen autossaan) auttaa häntä löytämään nopeasti pysäköintipaikan. Kun hän kävelee rakennukseen, hänen toimistonsa koneet valmistautuvat kirjautumaan sisään ...

Weiserin työpäivän aamu -skenaarion upotetut laitteet käyttävät antureita seuraamaan ihmisen käyttäjän vuorovaikutusta ja langatonta yhteyttä vasteen orkestroimiseksi: Salin sänky, herätyskello ja kahvinkeitin ovat yhteydessä toisiinsa varmistaakseen, että hänen ensimmäinen kupillinen kahvia on käynnissä ennen kuin hän pyörii pois sängystä. Weiserille ja hänen kollegoilleen tämä oli rauhallinen laskenta; tänään voimme kutsua sitä esineiden Internetiksi (IoT).

Lue lisää Weiserin työstä PARC: lla ja hänen teoriansa kaikkialla sijaitsevasta laskennasta: "Varmista verkkopalvelujen laatu rauhallisen laskennan aikakaudella" (Frank Sommers, JavaWorld, huhtikuu 2001).

IoT: n yleiskatsaus

Jos IoT: llä on yksi määrittävä ominaisuus, se on yhteentoimivuus tai useiden laitteiden koordinointi. Kuten yllä olevassa skenaariossa todettiin, IoT käyttää antureita keräämään tietoja (tällöin Salin vuorovaikutuksista hänen ympäristössään) ja langatonta yhteyttä vastauksen organisoimiseksi. IoT on rakennettu tekniikoiden yhtymäkohdalle, mukaan lukien uudet ja vanhat laitteistoalustat, big data, pilvipalvelut ja koneiden väliset (M2M) laskelmat. API: t ovat tarvittava liima, joka tuo kaikki nämä liikkuvat osat yhteen.

Tärkeintä Java-kehittäjille on, että Java on jo avain moniin uusiin IoT-tekniikoihin, ja Oracle on sitoutunut tekemään Javasta johtavan alustan (ellei alustan) IoT: lle. Java ME 8 hengittää uutta elämää Javan pienille laiteteknologioille laajentamalla sitä erillisellä sulautettujen Java-alustojen linjalla.

Seuraavissa osioissa esitellään tekniikat, jotka sisältävät Oraclen IoT-alustan; seuraa linkkejä saadaksesi lisätietoja Java ME: stä, Java ME 8: sta ja kolmesta upotetusta kehyksestä: Java ME Embedded, Java SE Embedded ja Java Embedded Suite.

Java ME

Java Micro Edition oli alun perin tarkoitettu vastaamaan pienten laitteiden sovellusten rakentamiseen liittyviin rajoituksiin. Java SE: n perusteella Java ME (tai J2ME, kuten tiesimme sen vuonna 1999) oli Java-sovellusten foorumi, joka toimi pienissä laitteissa, joiden muisti, näyttö ja virrankapasiteetti olivat rajalliset. Nykyään sitä käytetään sulautettujen järjestelmien kehittämiseen, teollisesta ohjauksesta matkapuhelimiin (erityisesti erikoispuhelimiin), digibokseihin ja Blu-ray-soittimiin.

Java ME: ssä työskentelevät kehittäjät voivat valita useista kokoonpanoista, profiileista ja valinnaisista paketeista:

  • A kokoonpano tarjoaa alkeellisimmat kirjastot ja virtuaalikoneominaisuudet useille laitteille.
  • A profiili on joukko sovellusliittymiä, jotka tukevat kapeampaa laitevalikoimaa.
  • An valinnainen paketti on joukko teknologiakohtaisia ​​sovellusliittymiä. Langattoman viestinnän sovellusliittymä on yksi esimerkki. Tutustu Oraclen valinnaiseen pakettialustaan ​​saadaksesi lisätietoja valinnaisista paketeista.

Kokoonpanot ja profiilit

Ajan myötä on syntynyt kaksi kokoonpanoa: Yhdistetty rajoitettu laitekokoonpano (CLDC) on pienten laitteiden kokoonpano ja Yhdistettyjen laitteiden kokoonpano (CDC) on entistä suorituskykyisempien mobiililaitteiden, kuten älypuhelinten ja digisovittimien, kokoonpano.

Java ME -profiilit istuvat kokoonpanojen päällä ja määrittelevät ylemmän tason sovellusliittymät tietyille sovelluksille. Mobiililaitteiden profiili (MIDP), esimerkiksi, istuu CLDC: n päällä ja tarjoaa käyttöliittymän, verkostoitumisen ja pysyvän tallennuksen sovellusliittymät. CLDC / MIDP-ympäristössä toimivat sovellukset (kuten pelit) tunnetaan nimellä MIDletit.

Laitteen ohjelmointi CLDC / MIDP: llä

"Laitteen ohjelmointi MIDP: llä" (Michael Cymerman) sisältää käytännön esittelyn kehittäjille, jotka ovat uusia CLDC / MIDP: ssä. Katso myös "Building MIDlets" (Jonathan Knudsen ja Sing Li) ja "Big designs for small devices" (Ben Hui).

CDC: llä on kolme profiilia, säätiö, henkilökohtainen perusta ja henkilökohtainen:

  • Foundation Profile on joukko Java-sovellusliittymiä, jotka on viritetty pienikokoisille laitteille, joilla on rajalliset resurssit ja jotka eivät tarvitse graafista käyttöliittymää (GUI).
  • Personal Basis Profile on Foundation Profile -sovellusliittymien yläjoukko ja tukee laitteita, joilla on kevyt käyttöliittymävaatimus. Tämän profiilin mukana tulee kehys kevyiden GUI-komponenttien rakentamiseksi ja se tukee joitain AWT (Abstract Window Toolkit) -luokkia.
  • Henkilökohtainen profiili laajentaa Personal Basis -profiilia AWT-pohjaiseen GUI-työkalupakettiin. Se tarjoaa täydellisen Java ME -sovellusympäristön, jossa on täysi AWT-tuki, ja se on tarkoitettu korkealaatuisemmille laitteille, kuten kämmentietokoneille, digisovittimille, pelikonsoleille ja niin edelleen.

CDC / Foundation / Personal Basis / Personal -ympäristössä toimivat sovellukset (kuten Blu-ray-elokuvavalikot) tunnetaan nimellä Xlets.

Kevyt käyttöliittymän työkalupakki

Java: n AWT: n (Abstract Window Toolkit) käyttäminen monitasoisten mobiilisovellusten luomiseen laajalla käyttäjän vetovoimalla on haastavaa! Kirjasin, asettelu ja muut erot saavat saman sovelluksen näyttämään ja käyttäytymään hyvin eri tavalla eri laitteilla. Edistyneitä käyttöliittymän ominaisuuksia, kuten animaatioita ja tehosteita, ei ole. Ymmärtämällä nämä puutteet, Sun Microsystems kehitti Lightweight User Interface Toolkit (LWUIT) [PDF], Swingin innoittaman käyttöliittymän Java ME: lle, joka tukee CLDC 1.1: tä MIDP 2.0: lla ja CDC: tä Personal Basis -profiililla. Codename One on suosittu avoimen lähdekoodin toteutus alkuperäiselle LWUIT-ohjelmalle.

Java ME 8

Vuoden 2012 lopulla Oracle aloitti kunnianhimoisen projektin toimittaa merkittävä päivitys Java ME -alustastandardiin. Kaksi Java-määrityspyyntöä (JSR) suunniteltiin vastaamaan sulautettujen laitteiden nykyisiä markkinavaatimuksia ja valmistelemaan Java ME tulevia Java-alustamäärityksiä varten: JSR 360 (CLDC 8), CLDC 1.1.1: n evoluutiopäivitys, tuo virtuaalikoneen Java kieli ja kirjastot ajan tasalla Java SE 8: n kanssa. JSR 361 (Java ME Embedded Profile / MEEP 8) päivittää Information Module Profile - Next Generation (IMP-NG).

CLDC 8 ja MEEP 8

CLDC 8 perustuu JSR 139: een (CLDC 1.1) ja kohdistaa Java ME: n virtuaalikoneen, kielituen, kirjastot ja muut ominaisuudet Java SE 8: n kanssa:

  • Virtuaalikone on päivitetty vastaamaan JVM-määrityksen versiota 2.
  • Uudempia Java SE -kieliominaisuuksia, kuten yleisiä tietoja, väitteitä, merkintöjä ja kokeile resursseja, tuetaan nyt.
  • Uusia kirjastoja, kuten Kokoelmat, NIO-osajoukko ja Logging API -joukko, tuetaan nyt.
  • Yhdistettyä ja parannettua yleistä yhteyskäytäntöä moniprotokollan I / O: lle tuetaan.

MEEP 8 päivittää alkuperäisen IMP-NG-määrityksen tarjoamaan tehokkaan ja joustavan sovellusympäristön pienille sulautetuille Java-alustoille. Spesifikaatio perustuu CLDC 8: een seuraavilla ominaisuuksilla:

  • Uusi, kevyt komponentti- ja palvelumalli
  • Jaetut kirjastot
  • Usean sovelluksen samanaikaisuus, sovellusten välinen viestintä ja tapahtumajärjestelmä
  • Sovellusten hallinta
  • Sovellusliittymän valinnaisuus puuttua pienen jalanjäljen käyttötapauksiin

MEEP 8 tarjoaa sulautettujen sovellusten kehittäjille modernin sovellusympäristön, joka helpottaa sulautettujen ratkaisujen kehittämistä ja käyttöönottoa, jotka ovat modulaarisia, vankkoja ja hienostuneita ratkaisuja, jotka on optimoitu monenlaisille käyttötapauksille ja laitteille.

Lisätietoja Java ME 8: sta

Terrence Barrin esittely hänen top 10 Java ME 8 -ominaisuudestaan ​​yksilöi komponentit, jotka sisältyvät huhtikuun 2014 julkaisuun. Katso lisätietoja myös Java ME SDK 8 -lataussivulta.

Java sulautettu

Java Embedded on Java ME: n ja Java SE: n kasvu, kolmen alustan sarja, joka kohdistuu erityisesti upotettuihin laitteisiin. Jokainen näistä tuotteista toimittaa hyvin erikoistuneen ja optimoidun Java-virtuaalikoneen ja tarjoaa keinot päivittää asennetut ohjelmistot ja palvelut (esimerkiksi OSGi: n avulla). Alla kuvataan Java ME Embedded, Java SE Embedded ja Java Embedded Suite.

Java sulautetuille järjestelmille?

Vaikka niitä ei käsitellä tässä artikkelissa, sulautettuun ohjelmointiin liittyy erityisiä haasteita ja tekniikoita. Kaikki kehittäjät eivät ole samaa mieltä siitä, että Java sopii parhaiten niiden ratkaisemiseen.

Java ME Embedded

Java ME Embedded koostuu itse asiassa kahdesta versiosta: Java ME Embedded ja Java ME Embedded Client.

Java ME Embedded on Java ME CLDC -toteutus, joka tarjoaa vankan ja joustavan sovellusalustan, jolla on oma sulautettu toiminto aina päällä oleville, päättömille (eli ei grafiikkaa / käyttöliittymiä) ja liitetyille laitteille. Järjestelmän suunnittelijat ja kehittäjät voivat käyttää Java ME Embedded -sovellusta kehittyneiden, pienten sulautettujen ratkaisujen luomiseen, jotka hyödyntävät Java-kielen, ajonaikaisen ajan ja ekosysteemin etuja ja täyttävät tiukat järjestelmän resurssitavoitteet. Oracle Java ME Embedded -sovellusta voivat käyttää laitteet, joissa on alle yksi megatavu muistia.

Java ME Embedded Client on Java ME CDC -ratkaisu, joka on pienennetty vastaamaan resurssirajoitettujen laitteiden rajoituksia ja optimoitu matalasta keskitasoon sulautettuihin järjestelmiin. Vaikka tämä tuote tarjoaa pienen jalanjäljen, se tarjoaa silti suurimman osan Java-kielen ja ajonaikaisista ominaisuuksista, jotka Java-kehittäjät tuntevat ja ovat tottuneet Java SE: n kanssa. Java ME Embedded Client -sovellusta voivat käyttää laitteet, joissa on vähemmän kuin 10 megatavua muistia ja joissa ei ole grafiikkaa.

Hanki Java ME 8 Embedded

Voit ladata Java ME Embedded 8: n eri ARM-laitteille tai Java ME Embedded Client 1.1.1: n ARM-, MIPS- ja x86-ympäristöille. Sinun on asennettava Java ME SDK 8 tämän alustan ajamiseksi. Katso myös Oraclen Java ME CDC - Java SE Embedded 8 -siirtymisopas.

Java SE Upotettu

Java SE Embedded on Java SE -alustan monipuolinen toteutus, joka on optimoitu sulautetuille järjestelmille. Versio 8, tämän alustan viimeisin julkaisu, sisältää seuraavat ominaisuudet:

  • Uudet Java SE 8 -kieliominaisuudet parantavat kehittäjien tuottavuutta
  • Pienet profiilit ja työkalut räätälöityjen, avaruuteen optimoitujen virtuaalikoneiden luomiseen
  • 50% parempi suorituskyky kuin aiemmat versiot Java SE 8: n ansiosta
  • Upeat GUI-sovellukset, joissa on GPU-kiihdytetty JavaFX
  • Työkalut yksityiskohtaiseen ajon seurantaan ja tapahtumien jälkeiseen analyysiin

Huomaa, että Java SE Embedded 8 -sovellusta voivat käyttää laitteet, joilla on vähintään 11 ​​megatavua tallennustilaa. Lataa Java SE Embedded 8 ARM-, Power Architecture- ja x86-alustoille.

Java Platform Integrator

Oracle on ottanut käyttöön Java Platform Integrator -ohjelman tarjotakseen kumppaneille mahdollisuuden mukauttaa Java Embedded -tuotteita, mukaan lukien Java ME Embedded, Java ME Embedded Client ja Java SE Embedded, jotta saavutettaisiin erilaiset laitetyypit ja markkinasegmentit.

Java Embedded Suite

Java Embedded Suite on viimeinen tarjous Java Embedded -perheessä. Tämä työkalupaketti lisää yritystyyppisiä ominaisuuksia Java SE Embedded -ajoon, jolloin sovellukset voivat tehdä seuraavaa:

  • Tallenna tiedot Java DB: n relaatiotietokantaan.
  • Isännöi esimerkiksi GlassFish-servlet-pohjaisia ​​verkkosovelluksia, jotta laitteiden tiedoille ja toiminnoille voidaan antaa turvallinen etäkäyttö.
  • Isännöi ja käytä RESTful-verkkopalveluita Oraclen Jerseyn JAX-RS-määrityksen avulla.

Pohjimmiltaan Java Embedded Suite yhdistää Java SE Embedded 7: n (joka tarjoaa ajonaikan Java-sovelluksille) Java DB: hen (joka tarjoaa tietokannan paikallisen sisällön turvalliseen tallentamiseen), GlassFish for Embedded Suite (joka tarjoaa sovelluspalvelimen verkkosivuille), Jersey Web Services Framework (verkkopalvelujen isännöimiseksi ja käyttämiseksi) ja Java Embedded -tapahtumakäsittely (joka käsittelee reaaliaikaista tapahtumien käsittelyä ja joka on valinnainen komponentti).

Lataa Java Embedded Suite ARM: lle tai x86: lle.

Johtopäätös

Oracle on sijoittanut Java ME: n ja siihen liittyvät tekniikat vastaamaan sulautettujen laitteiden kehittämisen haasteisiin, ja IoT on sen perimmäinen tavoite. Tässä artikkelissa esiteltiin lyhyt alustus Java ME: stä ja sitten tutustuttiin Oraclen Java ME 8-, Java ME Embedded-, Java SE Embedded- ja Java Embedded Suite -tuotteisiin.

Jos haluat ohjelmoida opetusohjelmia ja parhaita käytäntöjä, joiden avulla pääset alkuun IoT-perusteiden kanssa, käy Java ME, MIDP ja sulautetut Java-ohjelmointisivut JavaWorldissa. Saat lisätietoja Oraclen IoT-strategiasta ja Java-asemasta tässä strategiassa tutustumalla Oraclen esineiden Internet-tietosivun eri artikkeleihin, videoihin, julkaisuihin ja esitteisiin.

Tämän tarinan "Java ME 8 ja esineiden internet" julkaisi alun perin JavaWorld.

$config[zx-auto] not found$config[zx-overlay] not found