Programavimas

„Java ME 8“ ir daiktų internetas

Įterptinės sistemos yra kompiuterinės sistemos, įterptos į pilnus įrenginius, kurių paskirtos funkcijos yra didesnėje mechaninėje ar elektrinėje sistemoje. Įterptosios sistemos, paprastai naudojamos tiek pramonėje, tiek vartotojams, tampa dėmesio centre su daiktų internetu (IoT). Kūrėjams, kurie tik pradeda naudotis IoT, šis straipsnis yra vadovas, kaip sužinoti daugiau apie „Oracle“ IoT platformą sudarančias technologijas: „Java ME 8“, „Java ME Embedded“, „Java SE Embedded“ ir „Java Embedded Suite“.

1991 m. Tuometinis „Xerox“ Palo Alto tyrimų centro (PARC) vadovas Markas Weiseris bandė užfiksuoti artėjantį visur esančios kompiuterijos amžių. Pažymėdamas, kad „giliausios technologijos yra tos, kurios išnyksta“, Weiseris apibūdino įvairius mintis ir techninius eksperimentus, kuriuos atliko jo kolegos PARC, kai jie ieškojo naujo mąstymo apie kompiuterius kaip įterptąsias sistemas. Jų vizija, kuri galėjo atrodyti tokia pat fantastiška kaip orlaivis 1991 m., Šiandien greitai tampa įprasta:

Sal pabunda: ji užuodžia kavą. Prieš kelias minutes jos žadintuvas, kurį įspėjo neramus riedėjimas prieš pabudimą, tyliai paklausė: „Kava?“, O ji sumurmėjo: „Taip“. „Taip“ ir „ne“ yra vieninteliai žodžiai, kuriuos ji žino [...]

Per pusryčius Sal skaito naujienas. Ji vis dar teikia pirmenybę popierinei formai, kaip ir dauguma žmonių. Ji pastebi įdomią verslo skyriaus apžvalgininkės citatą. Ji nusišluosto rašiklį ant laikraščio pavadinimo, datos, skilties ir puslapio numerio, o paskui apjuosia citatą. Rašiklis išsiunčia pranešimą į popierių, kuris perduoda citatą jos biurui [...]

Kai Sal atvyksta į darbą, išankstinis vaizdas (jos automobilyje) padeda greitai rasti vietą automobiliui. Kai ji eina į pastatą, jos biure esančios mašinos ruošiasi ją prisijungti ...

„Weiser“ darbo dienos ryto scenarijuje įdėti prietaisai naudoja jutiklius, kad būtų galima stebėti žmogaus vartotojo sąveiką, ir belaidį ryšį, kad sureguliuotų atsakymą: visi Salos lova, žadintuvas ir kavos virimo aparatas yra prijungti, kad būtų užtikrinta, jog jos pirmasis kavos puodelis vyksta prieš jai susukant iš lovos. Weiseriui ir jo kolegoms tai buvo ramus skaičiavimas; šiandien tai galime pavadinti daiktų internetu (IoT).

Skaitykite daugiau apie Weiserio darbą PARC ir jo visur skaičiavimo teoriją: „Užtikrinkite žiniatinklio paslaugų kokybę ramaus skaičiavimo amžiuje“ (Frankas Sommersas, „JavaWorld“, 2001 m. Balandis).

Daiktų interneto apžvalga

Jei yra viena apibrėžianti IoT charakteristika, tai yra sąveikumas arba kelių įrenginių koordinavimas. Kaip pastebėta pirmiau pateiktame scenarijuje, IoT naudoja jutiklius duomenims rinkti (tuo atveju apie Salio sąveiką jos aplinkoje) ir belaidį ryšį, kad organizuotų atsakymą. DI yra pagrįstas technologijų, įskaitant naujas ir senas aparatinės įrangos platformas, didžiųjų duomenų, debesų kompiuterijos ir kompiuterio (M2M) skaičiavimą, susiliejimu. API yra būtini klijai, sujungiantys visas šias judančias dalis.

Svarbiausia „Java“ kūrėjams, „Java“ jau yra svarbi daugeliui besiformuojančių daiktų interneto technologijų, o „Oracle“ įsipareigojo paversti „Java“ pagrindine platforma (jei ne platforma). „Java ME 8“ įkvepia naujos gyvybės mažų „Java“ įrenginių technologijai, išplėsdama ją diferencijuota įterptųjų „Java“ platformų linija.

Kituose skyriuose bus pristatytos „Oracle“ IoT platformą sudarančios technologijos; sekite nuorodas, kad sužinotumėte daugiau apie „Java ME“, „Java ME 8“ ir tris įterptąsias sistemas: „Java ME Embedded“, „Java SE Embedded“ ir „Java Embedded Suite“.

„Java ME“

„Java Micro Edition“ iš pradžių buvo skirta pašalinti apribojimus, susijusius su mažų įrenginių programų kūrimu. Remiantis „Java SE“, „Java ME“ (arba „J2ME“, kaip mes tai žinojome 1999 m.) Buvo „Java“ programų platforma, veikianti mažuose įrenginiuose, turinčiuose ribotą atmintį, ekraną ir energijos talpą. Šiandien jis naudojamas kuriant įterptąsias sistemas, pradedant pramoniniu valdymu ir baigiant mobiliaisiais telefonais (ypač funkciniais telefonais), baigiant priedais ir „Blu-ray“ grotuvais.

„Java ME“ dirbantys kūrėjai gali rinktis iš kelių konfigūracijų, profilių ir pasirinktinių paketų:

  • A konfigūracija teikia pagrindinius bibliotekų rinkinius ir virtualių mašinų galimybes įvairiems įrenginiams.
  • A profilis yra API rinkinys, palaikantis siauresnį įrenginių diapazoną.
  • An neprivalomas paketas yra konkrečiai technologijai pritaikytų API rinkinys. „Wireless Messaging“ API yra vienas iš pavyzdžių. Peržiūrėkite „Oracle“ papildomą paketo pradmenį, kad sužinotumėte daugiau apie pasirenkamus paketus.

Konfigūracijos ir profiliai

Laikui bėgant atsirado dvi konfigūracijos: „Connected Limited Device Configuration“ (CLDC) yra mažų įrenginių konfigūracija, o „Connected Device Configuration“ (CDC) - labiau pajėgių mobiliųjų įrenginių, tokių kaip išmanieji telefonai ir priedėliai, konfigūracija.

„Java ME“ profiliai yra ant konfigūracijų, apibrėžiantys aukštesnio lygio API, naudojamus konkrečioms programoms. Mobiliojo informacinio įrenginio profilis (MIDP), pavyzdžiui, sėdi ant CLDC ir teikia vartotojo sąsają, tinklą ir nuolatines saugojimo API. CLDC / MIDP aplinkoje veikiančios programos (pvz., Žaidimai) yra žinomos kaip MIDletai.

Įrenginio programavimas naudojant CLDC / MIDP

„Įrenginių programavimas naudojant MIDP“ (Michaelas Cymermanas) apima praktinę demonstraciją kūrėjams, naujiems CLDC / MIDP. Taip pat žiūrėkite „Building MIDlets“ (Jonathanas Knudsenas ir Singas Li) ir „Dideli mažų prietaisų dizainai“ (Ben Hui).

CDC yra trys profiliai: fondas, asmeninis pagrindas ir asmeninis:

  • „Foundation Profile“ yra „Java“ API rinkinys, pritaikytas mažo ploto įrenginiams, kurių ištekliai yra riboti ir kuriems nereikia grafinės vartotojo sąsajos (GUI).
  • Asmeninio pagrindo profilis yra „Foundation Profile“ API viršutinis rinkinys ir palaiko įrenginius, kuriems taikomi lengvi GUI reikalavimai. Šis profilis pateikiamas su lengvųjų GUI komponentų kūrimo sistema ir palaiko kai kurias „Abstract Window Toolkit“ (AWT) klases.
  • Asmeninis profilis išplečia asmeninio pagrindo profilį su GUI įrankių rinkiniu, pagrįstu AWT. Tai suteikia pilną „Java ME“ programų aplinką su visišku AWT palaikymu ir yra skirta aukštesnės klasės įrenginiams, tokiems kaip PDA, priedėliams, žaidimų konsolėms ir pan.

CDC / Foundation / Personal Basis / Personal aplinkoje veikiančios programos (pvz., „Blu-ray“ filmų meniu) yra žinomos kaip Xletas.

Lengvas vartotojo sąsajos įrankių rinkinys

„Java“ AWT („Abstract Window Toolkit“) naudojimas kuriant įvairias platformas naudojančias mobilias programas, turinčias platų vartotojų patrauklumą, yra sudėtingas! Dėl šrifto, išdėstymo ir kitų skirtumų ta pati programa skirtinguose įrenginiuose atrodo ir elgiasi labai skirtingai. Be to, nėra pažangių vartotojo sąsajos galimybių, tokių kaip animacija ir efektai. Pripažindama šiuos trūkumus, „Sun Microsystems“ sukūrė „Lightweight User Interface Toolkit“ (LWUIT) [PDF] - „Swing“ įkvėptą „Java ME“ vartotojo sąsajos įrankių rinkinį, palaikantį „CLDC 1.1“ su „MIDP 2.0“ ir CDC su „Personal Basis Profile“. „Codename One“ yra populiarus pirminio LWUIT atvirojo kodo diegimas.

„Java ME 8“

2012 m. Pabaigoje „Oracle“ ėmėsi ambicingo projekto, kurio tikslas buvo pristatyti pagrindinį „Java ME“ platformos standarto atnaujinimą. Du „Java“ specifikacijų prašymai (JSR) buvo sukurti siekiant patenkinti dabartinius įterptųjų įrenginių rinkos reikalavimus ir paruošti „Java ME“ būsimoms „Java“ platformos specifikacijoms: „JSR 360“ (CLDC 8), evoliucinis CLDC 1.1.1 atnaujinimas, atneš virtualią mašiną „Java“ kalba ir bibliotekos, atnaujintos naudojant „Java SE 8.“. JSR 361 („Java ME Embedded Profile“ / MEEP 8) atnaujintų „Information Module Profile - Next Generation“ (IMP-NG).

CLDC 8 ir MEEP 8

„CLDC 8“ remiasi JSR 139 (CLDC 1.1) ir suderina pagrindinę „Java ME“ virtualią mašiną, kalbos palaikymą, bibliotekas ir kitas funkcijas su „Java SE 8“:

  • Virtuali mašina buvo atnaujinta, kad atitiktų JVM specifikacijos 2 versiją.
  • Dabar palaikomos naujesnės „Java SE“ kalbos ypatybės, tokios kaip bendrieji duomenys, teiginiai, anotacijos ir „try-with-resources“.
  • Dabar palaikomos naujos bibliotekos, tokios kaip Kolekcijos, NIO pogrupis ir Registravimo API pogrupis.
  • Palaikoma konsoliduota ir patobulinta daugiašalio protokolo įvesties / išvesties ryšio sistema.

„MEEP 8“ atnaujina originalią IMP-NG specifikaciją, kad būtų sukurta galinga ir lanksti programų aplinka mažoms įterptoms „Java“ platformoms. Specifikacija remiasi CLDC 8 su šiomis funkcijomis:

  • Naujas, lengvas komponentų ir paslaugų modelis
  • Bendros bibliotekos
  • Kelių programų lygiagretumas, komunikacija tarp programų ir įvykių sistema
  • Programų valdymas
  • API neprivalomumas, siekiant išspręsti mažo pėdsako naudojimo atvejus

„MEEP 8“ įterptųjų programų kūrėjams suteikia modernią programų aplinką, kuri palengvina įterptųjų sprendimų, kurie yra moduliniai, tvirti, sudėtingi sprendimai, optimizuoti įvairiems naudojimo atvejams ir įrenginiams, kūrimą ir diegimą.

Daugiau apie „Java ME 8“

Terrence'o Barro įvadas į 10 populiariausių „Java ME 8“ funkcijų nurodo komponentus, įtrauktus į 2014 m. Balandžio mėn. Taip pat žr. „Java ME SDK 8“ atsisiuntimo puslapį, jei norite gauti daugiau dokumentų.

„Java“ įdėta

„Java Embedded“ yra „Java ME“ ir „Java SE“ - trijų platformų, specialiai nukreiptų į įdėtus įrenginius, rinkinys. Kiekvienas iš šių produktų pateikia labai specializuotą ir optimizuotą „Java“ virtualią mašiną ir suteikia priemonių atnaujinti įdiegtą programinę įrangą ir paslaugas (pavyzdžiui, naudojant OSGi). Žemiau aprašau „Java ME Embedded“, „Java SE Embedded“ ir „Java Embedded Suite“.

Java įterptosioms sistemoms?

Nors šiame straipsnyje nenagrinėjami konkretūs iššūkiai ir metodai, yra susiję su įterptiniu programavimu. Ne visi kūrėjai sutinka, kad „Java“ geriausiai tinka jiems išspręsti.

„Java ME“ įterptoji

„Java ME Embedded“ iš tikrųjų susideda iš dviejų versijų: „Java ME Embedded“ ir „Java ME Embedded Client“.

„Java ME Embedded“ yra „Java ME CLDC“ diegimas, užtikrinantis tvirtą ir lanksčią programų platformą su specialia įterptine funkcija, skirta visada įjungtam, be galvos (tai reiškia, kad nėra grafikos / vartotojo sąsajos) ir prijungtiems įrenginiams. Sistemos dizaineriai ir kūrėjai gali naudoti „Java ME Embedded“, kad galėtų sukurti sudėtingus, nedidelius įterptinius sprendimus, kurie panaudoja „Java“ kalbos, vykdymo laiko ir ekosistemos pranašumus, tuo pačiu siekdami griežtų sistemos išteklių tikslų. „Oracle Java ME Embedded“ gali naudoti įrenginiai, turintys mažiau nei vieną megabaitą atminties.

„Java ME Embedded Client“ yra „Java ME CDC“ diegimas, kuris buvo sumažintas taip, kad atitiktų ribotų išteklių įrenginių apribojimus ir optimizuotas įterptosioms sistemoms nuo mažo iki vidutinio nuotolio. Nors šis produktas turi nedidelį pėdsaką, jis vis tiek teikia didžiąją dalį „Java“ kalbos ir vykdymo laiko funkcijų, kurias „Java“ kūrėjai žino ir yra įpratę naudoti „Java SE“. „Java ME Embedded Client“ gali naudoti įrenginiai, turintys mažiau nei 10 megabaitų atminties ir neturintys grafikos.

Gaukite „Java ME 8 Embedded“

Galite atsisiųsti „Java ME Embedded 8“, skirtą įvairiems ARM įrenginiams, arba „Java ME Embedded Client 1.1.1“, skirtą ARM, MIPS ir x86 aplinkoms. Norėdami paleisti šią platformą, turėsite įdiegti „Java ME SDK 8“. Taip pat žiūrėkite „Oracle“ „Java ME CDC to Java SE Embedded 8“ perkėlimo vadovą.

„Java SE“ įterptoji

„Java SE Embedded“ yra visapusiškas „Java SE“ platformos diegimas, kuris buvo optimizuotas įterptosioms sistemoms. 8 versijoje, naujausiame šios platformos leidime, yra šios funkcijos:

  • Naujos „Java SE 8“ kalbos funkcijos pagerina kūrėjų produktyvumą
  • Kompaktiški profiliai ir įrankiai, skirti kurti pritaikytas, erdvėje optimizuotas virtualias mašinas
  • „Java SE 8“ dėka 50% geresnis našumas nei ankstesnėse versijose
  • Puikiai atrodančios GUI programos su GPU pagreitinta „JavaFX“
  • Įrankiai išsamiam vykdymo laiko stebėjimui ir po įvykio analizei

Atminkite, kad „Java SE Embedded 8“ gali naudoti įrenginiai, turintys mažiausiai 11 megabaitų saugyklą. Atsisiųskite „Java SE Embedded 8“, skirtą ARM, „Power Architecture“ ir „x86“ platformoms.

„Java Platform Integrator“

„Oracle“ pristatė „Java Platform Integrator“ programą, kad suteiktų partneriams galimybę pritaikyti „Java Embedded“ produktus, įskaitant „Java ME Embedded“, „Java ME Embedded Client“ ir „Java SE Embedded“, kad pasiektų skirtingus įrenginių tipus ir rinkos segmentus.

„Java Embedded Suite“

„Java Embedded Suite“ yra paskutinis „Java Embedded“ šeimos pasiūlymas. Šis įrankių rinkinys prideda įmonės tipo funkcijas prie „Java SE Embedded“ vykdymo laiko, leidžiant programoms atlikti šiuos veiksmus:

  • Saugokite duomenis „Java DB“ reliacinėje duomenų bazėje.
  • Priimkite „GlassFish“ servleto pagrindu veikiančias žiniatinklio programas, kad užtikrintų saugią nuotolinę prieigą prie įrenginio duomenų ir operacijų.
  • Priimkite ir pasiekite RESTful žiniatinklio paslaugas naudodami „Oracle“ Džersyje įdiegtą JAX-RS specifikaciją.

Iš esmės „Java Embedded Suite“ sujungia „Java SE Embedded 7“ (kuris teikia „Java“ programų vykdymo laiką) su „Java DB“ (kuri suteikia duomenų bazę saugiam vietinio turinio saugojimui), „GlassFish for Embedded Suite“ (kuri teikia programų serverį tinklalapiams), Džersį „Web Services Framework“ (skirtas prieglobai ir prieigai prie interneto paslaugų) ir „Java Embedded“ įvykių apdorojimas (kuris tvarko įvykių apdorojimą realiuoju laiku ir yra pasirenkamas komponentas).

Atsisiųskite „Java Embedded Suite“, skirtą ARM arba x86.

Išvada

„Oracle“ nustatė „Java ME“ ir su ja susijusias technologijas, kad atitiktų įterptųjų įrenginių kūrimo iššūkius, o pagrindinis tikslas yra IoT. Šiame straipsnyje buvo pristatytas trumpas „Java ME“ pradmuo, tada supažindinta su „Oracle“ „Java ME 8“, „Java ME Embedded“, „Java SE Embedded“ ir „Java Embedded Suite“ produktais.

Norėdami sužinoti apie programavimo pamokas ir geriausią praktiką, kuri padės jums pradėti naudotis IoT pagrindais, apsilankykite „Java ME“, „MIDP“ ir „Embedded Java“ programavimo puslapiuose „JavaWorld“. Norėdami sužinoti daugiau apie „Oracle“ interneto daiktų strategiją ir „Java“ vietą šioje strategijoje, peržiūrėkite įvairius straipsnius, vaizdo įrašus, baltąsias knygas ir brošiūras „Oracle“ daiktų interneto informacijos puslapyje.

Šią istoriją „Java ME 8 ir daiktų internetas“ iš pradžių paskelbė „JavaWorld“.