Programiranje

Java ME 8 in internet stvari

Vgrajeni sistemi so računalniški sistemi, vgrajeni v celotne naprave, katerih namenske funkcije so v večjem mehanskem ali električnem sistemu. Vgrajeni sistemi, ki se običajno uporabljajo tako v industriji kot za potrošnike, v središču pozornosti postajajo internet stvari (IoT). Za razvijalce, ki šele začenjajo uporabljati IoT, je ta članek vodnik za več informacij o tehnologijah, ki sestavljajo Oraclovo platformo IoT: Java ME 8, Java ME Embedded, Java SE Embedded in Java Embedded Suite.

Leta 1991 je Mark Weiser, takrat vodja Xeroxovega raziskovalnega centra Palo Alto (PARC), poskušal ujeti prihajajočo dobo vseprisotnega računalništva. Upoštevajoč, da "[so] najgloblje tehnologije tiste, ki izginejo", je Weiser opisal različne miselne in tehnične eksperimente, ki so jih izvedli njegovi kolegi iz PARC, ko so iskali nov način razmišljanja o računalnikih kot vgrajenih sistemih. Njihova vizija, ki se je leta 1991 morda zdela tako fantastična kot hovercraft, danes postaja vse bolj običajna:

Sal se prebudi: zavoha kavo. Pred nekaj minutami jo je budilka, ki jo je opozorilo njeno nemirno kotaljenje, preden se je zbudila, tiho vprašala: "Kava?" "Da" in "ne" sta edini besedi, ki ju pozna [...]

Za zajtrkom Sal prebere novice. Še vedno ima raje papirnato obliko, tako kot večina ljudi. V poslovnem delu opazi zanimiv citat kolumniste. S peresom obriše ime časopisa, datum, odsek in številko strani ter nato obkroži citat. Pero pošlje papir časopisu, ki pa ponudbo pošlje v njeno pisarno [...]

Ko Sal prispe na delo, ji napoved (v njenem avtu) pomaga hitro najti parkirno mesto. Ko vstopi v stavbo, se stroji v njeni pisarni pripravijo na prijavo ...

Vgrajene naprave v Weiserjevem scenariju za delavnik zjutraj uporabljajo senzorje za sledenje interakcijam človeškega uporabnika in brezžično povezljivost za orkestriranje odziva: Salina postelja, budilka in aparat za kavo so povezani, da se zagotovi, da je prva skodelica kave v teku, preden zavije. iz postelje. Za Weiserja in njegove kolege je bilo to mirno računalništvo; danes bi mu lahko rekli Internet stvari (IoT).

Preberite več o Weiserjevem delu v PARC in njegovi teoriji o vseprisotnem računalništvu: "Zagotovite kakovost spletnih storitev v dobi mirnega računalništva" (Frank Sommers, JavaWorld, april 2001).

Pregled interneta stvari

Če obstaja ena značilnost IoT, je to interoperabilnost ali koordinacija več naprav. Kot smo opazili v zgornjem scenariju, IoT uporablja senzorje za zbiranje podatkov (v tem primeru o Salinih interakcijah v njenem okolju) in brezžično povezljivost za orkestriranje odziva. IoT temelji na sotočju tehnologij, vključno z novo in staro strojno opremo, velikimi podatki, računalništvom v oblaku in računalniškimi stroji (M2M). API-ji so potrebno lepilo, ki združuje vse te gibljive dele.

Kar je najpomembneje za razvijalce Jave, je Java ključna za številne nastajajoče tehnologije IoT in Oracle se je zavezal, da bo Java postala vodilna platforma (če ne platforma) za IoT. Java ME 8 vdihne novo življenje v tehnologijo majhnih naprav Java in jo razširi z različno linijo vdelanih platform Java.

Naslednji razdelki bodo predstavili tehnologije, ki sestavljajo Oracleovo platformo IoT; sledite povezavam, če želite izvedeti več o Java ME, Java ME 8 in treh vdelanih okoljih: Java ME Embedded, Java SE Embedded in Java Embedded Suite.

Java ME

Java Micro Edition je bil prvotno namenjen odpravljanju omejitev, povezanih z gradnjo aplikacij za majhne naprave. Na osnovi Java SE je bila Java ME (ali J2ME, kot smo jo poznali leta 1999) platforma za programe Java, ki se izvajajo v majhnih napravah z omejenim pomnilnikom, zaslonom in zmogljivostjo. Danes se uporablja za razvoj vgrajenih sistemov, od industrijskih kontrol do mobilnih telefonov (zlasti funkcijskih telefonov), do sprejemnikov in predvajalnikov Blu-ray.

Razvijalci, ki delajo v Java ME, lahko izbirajo med več konfiguracijami, profili in neobveznimi paketi:

  • A konfiguracijo ponuja najosnovnejši nabor knjižnic in zmogljivosti navideznih strojev za široko paleto naprav.
  • A profil je nabor API-jev, ki podpirajo ožji nabor naprav.
  • An neobvezni paket je nabor tehnološko specifičnih API-jev. Primer je API za brezžično sporočanje. Oglejte si Oraclov neobvezni paket paketov, če želite izvedeti več o neobveznih paketih.

Konfiguracije in profili

Sčasoma sta se pojavili dve konfiguraciji: Connected Limited Device Configuration (CLDC) je konfiguracija za majhne naprave in Connected Device Configuration (CDC) je konfiguracija za bolj zmogljive mobilne naprave, kot so pametni telefoni in sprejemniki.

Profili Java ME se nahajajo na vrhu konfiguracij in definirajo API-je na višji ravni, ki se uporabljajo za določene aplikacije. Profil mobilne informacijske naprave (MIDP)na primer sedi na vrhu CLDC in ponuja uporabniški vmesnik, omrežja in API-je za trajno shranjevanje. Aplikacije, ki se izvajajo v okolju CLDC / MIDP (na primer igre), so znane kot MIDlets.

Programiranje naprav s CLDC / MIDP

"Programiranje naprav z MIDP" (Michael Cymerman) vključuje praktično predstavitev za razvijalce, ki so novi v CLDC / MIDP. Glejte tudi "Gradnja MIDlet" (Jonathan Knudsen in Sing Li) in "Veliki modeli za majhne naprave" (Ben Hui).

Za CDC obstajajo trije profili, Foundation, Personal Basis in Personal:

  • The Foundation Profile je nabor Java API-jev, prilagojen napravam z majhnim odtisom, ki imajo omejene vire in ne potrebujejo grafičnega uporabniškega vmesnika (GUI).
  • Profil Personal Basis je nadnabor API-jev Foundation Profile in podpira naprave z lahkimi zahtevami GUI. Ta profil ima okvir za izdelavo lahkih komponent grafičnega uporabniškega vmesnika in podpira nekatere razrede AWT (Abstract Window Toolkit).
  • Osebni profil razširja Profil osebne osnove z orodjem GUI, ki temelji na AWT. Ponuja celotno aplikacijsko okolje Java ME s popolno podporo AWT in je namenjeno napravam višjega razreda, kot so dlančniki, sprejemniki, igralne konzole itd.

Aplikacije, ki se izvajajo v CDC / Foundation / Personal Basis / Personal okolju (kot so filmski meniji Blu-ray), so znane kot Xlets.

Lahka zbirka orodij za uporabniški vmesnik

Uporaba Java-ovega AWT (Abstract Window Toolkit) za ustvarjanje mobilnih aplikacij z več platformami s široko uporabniško privlačnostjo je zahtevna! Pisave, postavitev in druge razlike povzročajo, da se ista aplikacija v različnih napravah izgleda in obnaša zelo različno. Poleg tega ni naprednih zmogljivosti uporabniškega vmesnika, kot so animacija in učinki. Sun Microsystems je ob prepoznavanju teh pomanjkljivosti razvil komplet orodij za lahki uporabniški vmesnik (LWUIT) [PDF], Swing-navdihnjen uporabniški vmesnik za Java ME, ki podpira CLDC 1.1 z MIDP 2.0 in CDC s profilom Personal Basis. Codename One je priljubljena odprtokodna izvedba prvotnega LWUIT-a.

Java ME 8

Konec leta 2012 je Oracle začel ambiciozen projekt, s katerim je ponudil pomembno posodobitev standarda platforme Java ME. Dve zahtevi za specifikacijo Java (JSR) sta bili zasnovani tako, da ustrezata trenutnim tržnim zahtevam za vdelane naprave in pripravljata Java ME za prihodnje specifikacije platforme Java: JSR 360 (CLDC 8), evolucijska posodobitev CLDC 1.1.1, bi navidezni stroj, Java jezik in knjižnice, posodobljene z Java SE 8. JSR 361 (Java ME Embedded Profile / MEEP 8) bi posodobil profil informacijskega modula - naslednja generacija (IMP-NG).

CLDC 8 in MEEP 8

CLDC 8 temelji na JSR 139 (CLDC 1.1) in usklajuje osnovni navidezni stroj Java ME, jezikovno podporo, knjižnice in druge funkcije z Java SE 8:

  • Navidezni stroj je posodobljen tako, da ustreza različici 2 specifikacije JVM.
  • Zdaj so podprte novejše jezikovne funkcije Java SE, kot so generiki, trditve, pripisi in poskusi z viri.
  • Zdaj so podprte nove knjižnice, kot so Zbirke, podmnožica NIO in Logging API.
  • Podprt je konsolidiran in izboljšan okvir splošne povezave za večprotokolarni V / I.

MEEP 8 posodobi prvotno specifikacijo IMP-NG, da zagotovi zmogljivo in prilagodljivo aplikacijsko okolje za majhne vgrajene platforme Java. Specifikacija temelji na CLDC 8 z naslednjimi lastnostmi:

  • Nova, lahka komponenta in model storitev
  • Knjižnice v skupni rabi
  • Hkrati sočasnost več aplikacij, komunikacija med aplikacijami in sistem dogodkov
  • Upravljanje aplikacij
  • Neobveznost API-ja za obravnavo primerov uporabe z majhno površino

MEEP 8 daje razvijalcem vgrajenih aplikacij sodobno aplikacijsko okolje, ki olajša razvoj in uvajanje vdelanih rešitev, ki so modularne, robustne in dovršene rešitve, ki so optimizirane za širok spekter primerov uporabe in naprav.

Več o Java ME 8

Uvod Terrencea Barra v njegovih prvih 10 funkcij Java ME 8 opredeljuje komponente, vključene v izdajo aprila 2014. Za nadaljnjo dokumentacijo glejte tudi stran za prenos Java ME SDK 8.

Java Embedded

Java Embedded je izdaja Java ME in Java SE, zbirka treh platform, ki posebej ciljajo na vdelane naprave. Vsak od teh izdelkov ponuja zelo specializiran in optimiziran navidezni stroj Java in ponuja sredstva za posodobitev nameščene programske opreme in storitev (na primer z uporabo OSGi). Spodaj opisujem Java ME Embedded, Java SE Embedded in Java Embedded Suite.

Java za vdelane sisteme?

Čeprav v tem članku niso zajeti, so z vgrajenim programiranjem povezani posebni izzivi in ​​tehnike. Vsi razvijalci se ne strinjajo, da je Java najbolj primerna za njihovo razrešitev.

Java ME Embedded

Java ME Embedded je dejansko sestavljen iz dveh različic: Java ME Embedded in Java ME Embedded Client.

Java ME Embedded je izvedba Java ME CLDC, ki zagotavlja robustno in prilagodljivo aplikacijsko platformo z namensko vgrajeno funkcionalnostjo za vedno vklopljene, brezglave (kar pomeni, da ni grafičnega / uporabniškega vmesnika) in povezane naprave. Sistemski oblikovalci in razvijalci lahko z Java ME Embedded ustvarijo dovršene, majhne vdelane rešitve, ki izkoriščajo prednosti jezika Java, izvajalnega okolja in ekosistema, hkrati pa izpolnjujejo tesne cilje sistemskih virov. Oracle Java ME Embedded lahko uporabljajo naprave z manj kot enim megabajtom pomnilnika.

Java ME Embedded Client je izvedba Java ME CDC, ki je bila zmanjšana tako, da ustreza omejitvam naprav, omejenih z viri, in optimizirana za vgrajene sisteme nizkega in srednjega dosega. Čeprav ima ta izdelek majhen odtis, še vedno ponuja večino funkcij jezika Java in izvajalnega okolja, ki jih razvijalci Java poznajo in so jih vajeni pri Java SE. Java ME Embedded Client lahko uporabljajo naprave z manj kot 10 megabajti pomnilnika in brez grafike.

Pridobite Java ME 8 Embedded

Java ME Embedded 8 lahko prenesete za različne naprave ARM ali Java ME Embedded Client 1.1.1 za okolja ARM, MIPS in x86. Za zagon te platforme boste morali namestiti Java ME SDK 8. Oglejte si tudi Oraclov priročnik za selitev Java ME CDC to Java SE Embedded 8.

Java SE Embedded

Java SE Embedded je celovita izvedba platforme Java SE, ki je optimizirana za vdelane sisteme. Različica 8, trenutna najnovejša izdaja te platforme, vključuje naslednje funkcije:

  • Nove jezikovne funkcije Java SE 8 za izboljšanje produktivnosti razvijalcev
  • Kompaktni profili in orodja za ustvarjanje prilagojenih, vesoljsko optimiziranih virtualnih strojev
  • Zahvaljujoč Java SE 8 je 50% boljša zmogljivost kot prejšnje različice
  • Čudovite GUI aplikacije z GPU pospešenim JavaFX-om
  • Orodja za podrobno spremljanje izvajanja in analizo incidentov po dejanskem stanju

Upoštevajte, da lahko Java SE Embedded 8 uporabljajo naprave z najmanj 11 megabajti prostora za shranjevanje. Prenesite Java SE Embedded 8 za platforme ARM, Power Architecture in x86.

Java Platform Integrator

Oracle je predstavil program Java Platform Integrator, ki partnerjem omogoča prilagoditev izdelkov Java Embedded, vključno z Java ME Embedded, Java ME Embedded Client in Java SE Embedded, da dosežejo različne vrste naprav in tržne segmente.

Java Embedded Suite

Java Embedded Suite je zadnja ponudba v družini Java Embedded. Ta nabor orodij dodaja funkcije poslovnega tipa v vdelano okolje Java SE, kar aplikacijam omogoča naslednje:

  • Shranjujte podatke v relacijski bazi podatkov Java DB.
  • Gostite spletne aplikacije, ki temeljijo na strežniških programčkih GlassFish, na primer za zagotovitev varnega oddaljenega dostopa do podatkov in operacij naprave.
  • Gostite in dostopajte do spletnih storitev RESTful z uporabo Oracleove Jersey izvedbe JAX-RS.

Java Embedded Suite v bistvu združuje Java SE Embedded 7 (ki zagotavlja izvajalno okolje za aplikacije Java) z Java DB (ki zagotavlja bazo podatkov za varno shranjevanje lokalne vsebine), GlassFish za Embedded Suite (ki ponuja aplikacijski strežnik za spletne strani), Jersey Okvir spletnih storitev (za gostovanje in dostop do spletnih storitev) ter obdelava dogodkov za Java Embedded (ki ureja sprotno obdelavo dogodkov in je neobvezna komponenta).

Prenesite Java Embedded Suite za ARM ali x86.

Zaključek

Oracle je Java ME in sorodne tehnologije postavil tako, da se spoprijema z izzivi razvoja vgrajenih naprav, katerega končni cilj je IoT. Ta članek je predstavil kratek priročnik o Java ME, nato pa vam predstavil izdelke Oracle Java ME 8, Java ME Embedded, Java SE Embedded in Java Embedded Suite.

Za vaje za programiranje in najboljše prakse, ki vam bodo pomagale začeti z osnovami IoT, obiščite programske strani Java ME, MIDP in Embedded Java na JavaWorldu. Če želite izvedeti več o strategiji Oracle za IoT in mesto Java v tej strategiji, si oglejte različne članke, videoposnetke, tehnične dokumente in brošure na informativni strani Oracle Internet of Things.

To zgodbo "Java ME 8 in internet stvari" je prvotno objavil JavaWorld.

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