Programmēšana

Java ME 8 un lietu internets

Iegultās sistēmas ir datorsistēmas, kas iestrādātas pilnās ierīcēs un kuru īpašās funkcijas atrodas lielākā mehāniskā vai elektriskā sistēmā. Iegultās sistēmas, ko parasti izmanto gan rūpniecības, gan patērētāju lietojumprogrammās, uzmanības centrā nonāk ar lietu internetu (IoT). Izstrādātājiem, kas tikko sākuši darbu ar IoT, šis raksts ir ceļvedis, lai uzzinātu vairāk par tehnoloģijām, kas ietver Oracle IoT platformu: Java ME 8, Java ME Embedded, Java SE Embedded un Java Embedded Suite.

1991. gadā Marks Veisers, toreizējais Xerox Palo Alto pētījumu centra (PARC) vadītājs, mēģināja iemūžināt gaidāmo visuresošās skaitļošanas laikmetu. Atzīmējot, ka "[vis] visdziļākās tehnoloģijas ir tās, kas izzūd", Veisers aprakstīja dažādus domāšanas un tehniskos eksperimentus, ko veica viņa kolēģi PARC, jo viņi meklēja jaunu domāšanas veidu par datoriem kā iegultām sistēmām. Viņu vīzija, kas varēja šķist tikpat fantastiska kā gaisa spilveni 1991. gadā, mūsdienās ātri kļūst parastāka:

Sal pamostas: viņa smaržo kafiju. Pirms dažām minūtēm viņas modinātājpulkstenis, kuru pirms nemošanās ritēja nemierīgā ripināšana, klusi jautāja: "Kafija?", Un viņa nomurmināja: "Jā". "Jā" un "nē" ir vienīgie vārdi, kurus tā zina [...]

Brokastīs Sal lasa ziņas. Viņa joprojām dod priekšroku papīra formai, tāpat kā lielākā daļa cilvēku. Viņa uzrāda interesantu citātu no kolonista biznesa sadaļā. Viņa noslauka pildspalvu virs laikraksta nosaukuma, datuma, sadaļas un lappuses numura un pēc tam apli citē. Pildspalva nosūta papīram ziņojumu, kas nosūta citātu viņas birojam [...]

Tiklīdz Sal ieradīsies darbā, priekšskatījums (automašīnā) palīdz viņai ātri atrast autostāvvietu. Ieejot ēkā, viņas birojā esošās mašīnas gatavojas viņu pierakstīt ...

Veisera darbadienas rīta scenārijā iegultās ierīces izmanto sensorus, lai izsekotu cilvēka lietotāja mijiedarbību, un bezvadu savienojamību, lai organizētu atbildi: Salas gulta, modinātājs un kafijas automāts ir savienoti, lai nodrošinātu, ka viņas pirmā kafijas tasīte notiek pirms viņa ripo no gultas. Veizeram un viņa kolēģiem tas tā bija mierīga skaitļošana; šodien mēs to varētu saukt par lietu internetu (IoT).

Lasiet vairāk par Veisera darbu PARC un viņa visuresošās skaitļošanas teoriju: "Nodrošiniet tīmekļa pakalpojumu kvalitāti mierīgas skaitļošanas laikmetā" (Frank Sommers, JavaWorld, 2001. gada aprīlis).

IoT pārskats

Ja ir viena IoT raksturīga iezīme, tā ir savietojamība vai vairāku ierīču koordinācija. Kā novērots iepriekš minētajā scenārijā, IoT izmanto sensorus, lai apkopotu datus (tādā gadījumā par Sal mijiedarbību viņas vidē) un bezvadu savienojumu, lai organizētu atbildi. IoT ir balstīta uz tehnoloģiju, tostarp jaunu un vecu aparatūras platformu, lielo datu, mākoņdatošanas un mašīnu-mašīnu (M2M) skaitļošanas savienojumu. API ir nepieciešamā līme, apvienojot visas šīs kustīgās daļas.

Vissvarīgākais Java izstrādātājiem ir tas, ka Java ir atslēga daudzām jaunajām IoT tehnoloģijām, un Oracle ir apņēmusies padarīt Java par vadošo platformu (ja ne platforma) IoT. Java ME 8 piešķir jaunu dzīvību Java mazo ierīču tehnoloģijai, paplašinot to ar diferencētu iegulto Java platformu līniju.

Nākamās sadaļas iepazīstinās ar tehnoloģijām, kas ietver Oracle IoT platformu; sekojiet saitēm, lai uzzinātu vairāk par Java ME, Java ME 8 un trim iegultajiem ietvariem: Java ME Embedded, Java SE Embedded un Java Embedded Suite.

Java ME

Sākotnēji Java Micro Edition bija paredzēts, lai novērstu ierobežojumus, kas saistīti ar mazo ierīču lietojumprogrammu veidošanu. Pamatojoties uz Java SE, Java ME (vai J2ME, kā mēs to zinājām 1999. gadā) bija Java lietojumprogrammu platforma, kas darbojas mazās ierīcēs ar ierobežotu atmiņu, displeju un jaudas jaudu. Mūsdienās to izmanto, lai izstrādātu iegultās sistēmas, sākot no rūpnieciskās vadības līdz mobilajiem tālruņiem (īpaši ar īpašiem tālruņiem), līdz televizora pierīcēm un Blu-ray atskaņotājiem.

Izstrādātāji, kas strādā Java ME, var izvēlēties no vairākām konfigurācijām, profiliem un izvēles pakotnēm:

  • A konfigurācija nodrošina visvienkāršāko bibliotēku un virtuālo mašīnu iespēju komplektu visdažādākajām ierīcēm.
  • A profils ir API kopa, kas atbalsta šaurāku ierīču klāstu.
  • An izvēles pakete ir tehnoloģijai specifisku API kopums. Bezvadu ziņojumapmaiņas API ir viens no piemēriem. Pārbaudiet Oracle izvēles paketes grunti, lai uzzinātu vairāk par izvēles pakotnēm.

Konfigurācijas un profili

Laika gaitā ir parādījušās divas konfigurācijas: Connected Limited Device Configuration (CLDC) ir mazo ierīču konfigurācija, un Connected Device Configuration (CDC) ir vairāk spējīgu mobilo ierīču, piemēram, viedtālruņu un televizora pierīču, konfigurācija.

Java ME profili atrodas virs konfigurācijām, nosakot augstāka līmeņa API lietošanu konkrētām lietojumprogrammām. Mobilās informācijas ierīces profils (MIDP), piemēram, atrodas CLDC augšpusē un nodrošina lietotāja saskarni, tīkla veidošanu un pastāvīgas glabāšanas API. Lietojumprogrammas, kas darbojas CLDC / MIDP vidē (piemēram, spēles), ir pazīstamas kā MIDlet.

Ierīces programmēšana ar CLDC / MIDP

"Ierīču programmēšana ar MIDP" (Michael Cymerman) ietver praktisku demonstrāciju izstrādātājiem, kas ir jauni CLDC / MIDP. Skatiet arī "Building MIDlets" (Džonatans Knudsens un Sing Li) un "Liels dizains mazām ierīcēm" (Ben Hui).

CDC ir trīs profili: Foundation, Personal Basis un Personal:

  • Foundation Profile ir Java API kopa, kas pielāgota ierīcēm ar mazu nospiedumu un kuru resursi ir ierobežoti un kurām nav nepieciešama grafiskā lietotāja saskarne (GUI).
  • Personālā pamata profils ir Foundation Profile API saskarne un atbalsta ierīces ar vieglām GUI prasībām. Šis profils nāk ar ietvaru vieglu GUI komponentu izveidei un atbalsta dažas Abstract Window Toolkit (AWT) klases.
  • Personīgais profils paplašina personiskā pamata profilu ar GUI rīkkopa, kuras pamatā ir AWT. Tas nodrošina pilnīgu Java ME lietojumprogrammu vidi ar pilnu AWT atbalstu un ir paredzēts augstākas klases ierīcēm, piemēram, plaukstdatoriem, televizora pierīcēm, spēļu konsolēm utt.

Lietojumprogrammas, kas darbojas CDC / Foundation / Personal Basis / Personal vidē (piemēram, Blu-ray filmu izvēlnes), ir pazīstamas kā Xlets.

Viegls lietotāja saskarnes rīkkopa

Java AWT (Abstract Window Toolkit) izmantošana, lai izveidotu starpplatformu mobilās lietojumprogrammas ar plašu lietotāju pievilcību, ir sarežģīta! Fonts, izkārtojums un citas atšķirības liek tai pašai lietojumprogrammai dažādās ierīcēs izskatīties un izturēties ļoti atšķirīgi. Turklāt nav uzlabotas lietotāja saskarnes iespējas, piemēram, animācija un efekti. Atzīstot šos trūkumus, Sun Microsystems izstrādāja Lightweight User Interface Toolkit (LWUIT) [PDF] - Swing iedvesmotu lietotāja saskarni Java ME, kas atbalsta CLDC 1.1 ar MIDP 2.0 un CDC ar Personal Basis Profile. Codename One ir populāra sākotnējā LWUIT atvērtā koda ieviešana.

Java ME 8

2012. gada beigās Oracle uzsāka vērienīgu projektu, lai piegādātu būtisku Java ME platformas standarta atjauninājumu. Divi Java specifikāciju pieprasījumi (JSR) tika izstrādāti, lai apmierinātu pašreizējās tirgus prasības attiecībā uz iegultām ierīcēm un sagatavotu Java ME nākamajām Java platformas specifikācijām: JSR 360 (CLDC 8), kas ir CLDC 1.1.1 evolucionārs atjauninājums, atvestu virtuālo mašīnu Java valoda un bibliotēkas, kas atjauninātas ar Java SE 8. JSR 361 (Java ME Embedded Profile / MEEP 8) atjauninātu informācijas moduļa profilu - nākamās paaudzes (IMP-NG).

CLDC 8 un MEEP 8

CLDC 8 pamatā ir JSR 139 (CLDC 1.1), un Java ME 8 virtuālā mašīna, valodas atbalsts, bibliotēkas un citas funkcijas tiek saskaņotas ar Java SE 8:

  • Virtuālā mašīna ir atjaunināta, lai tā atbilstu JVM specifikācijas 2. versijai.
  • Tagad tiek atbalstītas jaunākas Java SE valodas funkcijas, piemēram, vispārīgie, apgalvojumi, anotācijas un izmēģināšanas resursi.
  • Tagad tiek atbalstītas tādas jaunas bibliotēkas kā Kolekcijas, NIO apakškopa un Reģistrēšanas API apakškopa.
  • Tiek atbalstīta konsolidēta un uzlabota Generic Connection Framework daudzprotokolu I / O.

MEEP 8 atjaunina sākotnējo IMP-NG specifikāciju, lai nodrošinātu jaudīgu un elastīgu lietojumprogrammu vidi mazām iegultām Java platformām. Specifikācija balstās uz CLDC 8 ar šādām funkcijām:

  • Jauns, viegls komponentu un pakalpojumu modelis
  • Koplietojamas bibliotēkas
  • Vairāku lietojumu vienlaicīgums, saziņa starp lietojumprogrammām un notikumu sistēma
  • Lietojumprogrammu pārvaldība
  • API izvēles iespējas maza nospieduma izmantošanas gadījumu novēršanai

MEEP 8 nodrošina iegulto lietojumprogrammu izstrādātājiem mūsdienīgu lietojumprogrammu vidi, kas atvieglo tādu iegultu risinājumu izstrādi un ieviešanu, kas ir modulāri, izturīgi, sarežģīti risinājumi, kas ir optimizēti dažādiem lietojuma gadījumiem un ierīcēm.

Vairāk par Java ME 8

Terence Barra ievads 10 labākajās Java ME 8 funkcijās identificē komponentus, kas iekļauti 2014. gada aprīļa laidienā. Papildu dokumentāciju skatiet arī Java ME SDK 8 lejupielādes lapā.

Java iegulta

Java Embedded ir Java ME un Java SE izaugums - trīs platformu komplekts, kas īpaši vērsts uz iegultām ierīcēm. Katrs no šiem produktiem nodrošina ļoti specializētu un optimizētu Java virtuālo mašīnu un nodrošina līdzekļus instalētās programmatūras un pakalpojumu atjaunināšanai (piemēram, izmantojot OSGi). Zemāk es raksturoju Java ME Embedded, Java SE Embedded un Java Embedded Suite.

Java iegultajām sistēmām?

Lai gan šajā rakstā tas nav apskatīts, ar iegulto programmēšanu ir saistītas īpašas problēmas un paņēmieni. Ne visi izstrādātāji piekrīt, ka Java ir vispiemērotākā to risināšanai.

Java ME iegults

Java ME Embedded faktiski sastāv no divām versijām: Java ME Embedded un Java ME Embedded Client.

Java ME Embedded ir Java ME CLDC ieviešana, kas nodrošina stabilu un elastīgu lietojumprogrammu platformu ar īpašu iegultu funkcionalitāti vienmēr ieslēgtai, bez galvas (tas nozīmē, ka nav grafikas / lietotāja saskarnes) un savienotām ierīcēm. Sistēmas dizaineri un izstrādātāji var izmantot Java ME Embedded, lai izveidotu izsmalcinātus, mazus iegultus risinājumus, kas izmanto Java valodas, izpildlaika un ekosistēmas priekšrocības, vienlaikus izpildot stingrus sistēmas resursu mērķus. Oracle Java ME Embedded var izmantot ierīces, kurām ir mazāka par vienu megabaitu atmiņa.

Java ME Embedded Client ir Java ME CDC ieviešana, kas ir samazināta atbilstoši resursu ierobežoto ierīču ierobežojumiem un optimizēta iegultām sistēmām ar zemu vai vidēju diapazonu. Lai gan šis produkts piedāvā nelielu nospiedumu, tas joprojām nodrošina lielāko daļu Java valodas un izpildlaika funkciju, kuras Java izstrādātāji zina un ir pieraduši pie Java SE. Java ME Embedded Client var izmantot ierīces ar mazāk nekā 10 megabaitu atmiņu un bez grafikas.

Iegūstiet Java ME 8 iegulto

Varat lejupielādēt Java ME Embedded 8 dažādām ARM ierīcēm vai Java ME Embedded Client 1.1.1 ARM, MIPS un x86 vidēm. Lai palaistu šo platformu, jums būs jāinstalē Java ME SDK 8. Skatiet arī Oracle Java ME CDC uz Java SE Embedded 8 migrācijas rokasgrāmatu.

Java SE iegults

Java SE Embedded ir pilnībā aprīkota Java SE platformas ieviešana, kas ir optimizēta iegultām sistēmām. 8. versijā, kas ir šīs platformas jaunākais izlaidums, ir šādas funkcijas:

  • Jaunas Java SE 8 valodas funkcijas, lai uzlabotu izstrādātāju produktivitāti
  • Kompakti profili un rīki, lai izveidotu pielāgotas, telpā optimizētas virtuālās mašīnas
  • Pateicoties Java SE 8, par 50% labāka veiktspēja nekā iepriekšējām versijām
  • Izskatīgas GUI lietojumprogrammas ar GPU paātrinātu JavaFX
  • Rīki detalizētai izpildlaika uzraudzībai un incidentu analīzei pēc fakta

Ņemiet vērā, ka Java SE Embedded 8 var izmantot ierīces, kurās ir vismaz 11 megabaitu krātuve. Lejupielādējiet Java SE Embedded 8 ARM, Power Architecture un x86 platformām.

Java platformas integrators

Oracle ir ieviesusi programmu Java Platform Integrator, lai partneriem nodrošinātu iespēju pielāgot Java iegultos produktus, tostarp Java ME Embedded, Java ME Embedded Client un Java SE Embedded, lai sasniegtu dažādus ierīču tipus un tirgus segmentus.

Java iegultais komplekts

Java Embedded Suite ir pēdējais piedāvājums Java Embedded ģimenē. Šis rīku komplekts Java SE Embedded izpildlaika papildina uzņēmuma veida funkcijas, ļaujot lietojumprogrammām rīkoties šādi:

  • Glabājiet datus Java DB relāciju datu bāzē.
  • Resursdatora GlassFish resursdatora tīmekļa lietojumprogrammas, piemēram, lai nodrošinātu drošu attālu piekļuvi ierīces datiem un darbībām.
  • Uzturiet un piekļūstiet RESTful tīmekļa pakalpojumiem, izmantojot Oracle Džersijas JAX-RS specifikācijas ieviešanu.

Būtībā Java Embedded Suite apvieno Java SE Embedded 7 (kas nodrošina izpildlaiku Java lietojumprogrammām) ar Java DB (kas nodrošina datu bāzi vietējā satura drošai glabāšanai), GlassFish Embedded Suite (kas nodrošina lietojumprogrammu serveri tīmekļa lapām), Džērsiju Web Services Framework (tīmekļa pakalpojumu mitināšanai un piekļuvei tiem) un Java Embedded notikumu apstrāde (kas apstrādā notikumu apstrādi reāllaikā un kas ir izvēles sastāvdaļa).

Lejupielādējiet Java Embedded Suite ARM vai x86.

Secinājums

Oracle ir pozicionējis Java ME un ar to saistītās tehnoloģijas, lai risinātu problēmas, kas saistītas ar iegulto ierīču izstrādi, kā galveno mērķi izvirzot IoT. Šajā rakstā tika parādīts īss pamatinformācija par Java ME un pēc tam jūs tika iepazīstināts ar Oracle Java ME 8, Java ME Embedded, Java SE Embedded un Java Embedded Suite produktiem.

Programmēšanas apmācības un paraugpraksi, kas palīdzēs jums sākt darbu ar IoT pamatiem, apmeklējiet Java ME, MIDP un iegultās Java programmēšanas lapas vietnē JavaWorld. Lai uzzinātu vairāk par Oracle IoT stratēģiju un Java vietu šajā stratēģijā, skatiet dažādos rakstos, videoklipos, baltajos dokumentos un brošūrās Oracle Internet of Things informācijas lapā.

Šo stāstu "Java ME 8 un lietu internets" sākotnēji publicēja JavaWorld.

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