Java ME 8 i Internet stvari

Ugrađeni sustavi su računalni sustavi ugrađeni u cjelovite uređaje, čije se namjenske funkcije nalaze u većem mehaničkom ili električnom sustavu. Ugrađeni sustavi koji se obično koriste u industrijskim i potrošačkim primjenama ulaze u središte pozornosti s Internetom stvari (IoT). Za programere koji tek započinju s IoT-om, ovaj je članak vodič za učenje više o tehnologijama koje čine Oracleovu IoT platformu: Java ME 8, Java ME Embedded, Java SE Embedded i Java Embedded Suite.

1991. Mark Weiser, tadašnji šef Xeroxova istraživačkog centra Palo Alto (PARC), pokušao je uhvatiti nadolazeće doba sveprisutnog računanja. Primjećujući da su "[naj] najdublje tehnologije one koje nestaju", Weiser je opisao razne misaone i tehničke eksperimente koje su proveli njegovi kolege iz PARC-a, dok su tražili novi način razmišljanja o računalima kao ugrađenim sustavima. Njihova vizija, koja se 1991. mogla činiti fantastičnom poput hovercrafta, danas postaje sve uobičajenija:

Sal se budi: osjeća miris kave. Prije nekoliko minuta njezina je budilica, uzbunjena njezinim nemirnim kotrljanjem prije buđenja, tiho pitala: "Kava?", A ona je promrmljala: "Da." "Da" i "ne" jedine su riječi koje zna [...]

Za doručkom Sal čita vijesti. Još uvijek preferira papirnati oblik, kao i većina ljudi. U poslovnom dijelu uočava zanimljiv citat kolumniste. Obriše olovkom ime novina, datum, odjeljak i broj stranice, a zatim zaokruži citat. Olovka šalje poruku papiru, koji prenosi citat u njezin ured [...]

Jednom kada Sal stigne na posao, predviđanje (u njezinom automobilu) pomaže joj da brzo pronađe mjesto za parkiranje. Dok ulazi u zgradu, strojevi u njezinu uredu pripremaju se za prijavu ...

Ugrađeni uređaji u Weiserovom scenariju radnog dana ujutro koriste senzore za praćenje interakcija ljudskog korisnika i bežičnu povezanost za orkestriranje odgovora: Salin krevet, budilica i aparat za kavu povezani su kako bi se osiguralo da joj prva šalica kave krene prije nego što se kotrlja. van kreveta. Za Weisera i njegove kolege ovo je bilo mirno računanje ; danas bismo ga mogli nazvati Internetom stvari (IoT).

Pročitajte više o Weiserovu radu u PARC-u i njegovoj teoriji sveprisutnog računanja: "Osigurajte kvalitetu web usluga u doba mirnog računanja" (Frank Sommers, JavaWorld, travanj 2001.).

IoT pregled

Ako postoji jedna definirajuća karakteristika IoT-a, to je interoperabilnost ili koordinacija više uređaja. Kao što je primijećeno u gornjem scenariju, IoT koristi senzore za prikupljanje podataka (u tom slučaju o Salinim interakcijama u njezinu okruženju) i bežičnu povezanost za organiziranje odgovora. IoT je izgrađen na stjecištu tehnologija, uključujući nove i stare hardverske platforme, velike podatke, računalstvo u oblaku i računalo stroj na stroj (M2M). API-ji su neophodno ljepilo koje spaja sve ove pokretne dijelove.

Što je najvažnije za programere Jave, Java je ključna za većinu novih IoT tehnologija, a Oracle se obvezao da će Java postati vodeća platforma (ako ne i platforma) za IoT. Java ME 8 udahnjuje novi život Javinoj tehnologiji malih uređaja, proširujući je diferenciranom linijom ugrađenih Java platformi.

Sljedeći odjeljci predstavit će tehnologije koje čine Oracleovu IoT platformu; slijedite veze kako biste saznali više o Java ME, Java ME 8 i tri ugrađena okvira: Java ME Embedded, Java SE Embedded i Java Embedded Suite.

Java ME

Java Micro Edition izvorno je namijenjen rješavanju ograničenja povezanih s izgradnjom aplikacija za male uređaje. Zasnovan na Javi SE, Java ME (ili J2ME, kakvog smo poznavali 1999.) bila je platforma za Java programe koji se izvode na malim uređajima s ograničenom memorijom, zaslonom i kapacitetom napajanja. Danas se koristi za razvoj ugrađenih sustava, u rasponu od industrijskih kontrola do mobilnih telefona (posebno mobilnih telefona), do set-top box uređaja i Blu-ray uređaja.

Programeri koji rade u Java ME mogu birati između više konfiguracija, profila i neobaveznih paketa:

  • Konfiguracija pruža najviše osnovni skup knjižnica i virtualnih sposobnosti strojeva za široki raspon uređaja.
  • Profil je skup API koji podržavaju niz uže uređaja.
  • Opcijski paket je skup tehnologija specifičnih API. API za bežične poruke jedan je od primjera. Pogledajte Oraclov osnovni paket za paket da biste saznali više o dodatnim paketima.

Konfiguracije i profili

S vremenom su se pojavile dvije konfiguracije: Connected Limited Device Configuration (CLDC) je konfiguracija za male uređaje, a Connected Device Configuration (CDC) je konfiguracija za sposobnije mobilne uređaje poput pametnih telefona i set-top box uređaja.

Java ME profili nalaze se na vrhu konfiguracija, definirajući API-je više razine koji se koriste za određene programe. Na primjer, profil mobilnih informacijskih uređaja (MIDP) nalazi se na vrhu CLDC-a i pruža API-je za korisničko sučelje, umrežavanje i trajnu pohranu. Aplikacije koje se izvode u CLDC / MIDP okruženju (poput igara) poznate su pod nazivom MIDlets .

Programiranje uređaja s CLDC / MIDP

"Programiranje uređaja s MIDP-om" (Michael Cymerman) uključuje praktičnu demonstraciju za programere koji su novi u CLDC / MIDP. Također pogledajte "Izgradnja MIDleta" (Jonathan Knudsen i Sing Li) i "Veliki dizajni za male uređaje" (Ben Hui).

Za CDC postoje tri profila, Foundation, Personal Basis i Personal:

  • Temeljni profil skup je Java API-ja podešen za uređaje s malim otiskom koji imaju ograničene resurse i ne trebaju grafičko korisničko sučelje (GUI).
  • Profil Personal Basis je super set API-ja Foundation Profile i podržava uređaje s laganim GUI zahtjevima. Ovaj profil dolazi s okvirom za izgradnju laganih GUI komponenata i podržava neke klase Abstract Window Toolkit (AWT).
  • Osobni profil proširuje Profil osobne osnove pomoću GUI alata koji se temelji na AWT-u. Pruža cjelovito Java ME aplikacijsko okruženje s potpunom podrškom za AWT i namijenjeno je naprednijim uređajima poput PDA-a, set-top box uređaja, igraćih konzola itd.

Aplikacije koje se izvode u CDC / Foundation / Personal Basis / Personal okruženju (poput Blu-ray filmskih izbornika) poznate su kao Xlets .

Lagan alat za korisničko sučelje

Korištenje Java-ovog AWT (Abstract Window Toolkit) za stvaranje višeplatformskih mobilnih aplikacija sa širokom privlačnošću za korisnike predstavlja izazov! Font, izgled i druge razlike uzrokuju da ista aplikacija izgleda i ponaša se vrlo različito na različitim uređajima. Nadalje, nedostaju napredne mogućnosti korisničkog sučelja poput animacije i efekata. Prepoznavši ove nedostatke, Sun Microsystems razvio je Lagani komplet korisničkog sučelja (LWUIT) [PDF], Swing-nadahnuti UI alat za Java ME koji podržava CLDC 1.1 s MIDP 2.0 i CDC s Personal Basis Profile. Codename One popularna je implementacija izvornog LWUIT-a s otvorenim kodom.

Java ME 8

Krajem 2012. Oracle je započeo ambiciozni projekt isporuke velikog ažuriranja standarda Java ME platforme. Dva zahtjeva za specifikacijama Java (JSR) dizajnirana su da zadovolje trenutne zahtjeve tržišta za ugrađene uređaje i pripreme Java ME za buduće specifikacije Java platforme: JSR 360 (CLDC 8), evolucijsko ažuriranje CLDC 1.1.1, donijet će virtualni stroj Java jezik i knjižnice ažurirane s Javom SE 8. JSR 361 (Java ME ugrađeni profil / MEEP 8) ažurirao bi profil Informacijskog modula - Sljedeća generacija (IMP-NG).

CLDC 8 i MEEP 8

CLDC 8 temelji se na JSR 139 (CLDC 1.1) i poravnava osnovni Java ME virtualni stroj, jezičnu podršku, knjižnice i druge značajke s Java SE 8:

  • Virtualni je stroj ažuriran u skladu s verzijom 2 JVM specifikacije.
  • Sada su podržane novije značajke jezika Java SE, poput generičkih podataka, tvrdnji, napomena i isprobavanja resursa.
  • Sada su podržane nove knjižnice kao što su Zbirke, NIO podskup i Logging API podskup.
  • Podržan je konsolidirani i poboljšani okvir za generičko povezivanje za I / O s više protokola.

MEEP 8 ažurira izvornu specifikaciju IMP-NG kako bi pružio moćno i fleksibilno aplikacijsko okruženje za male ugrađene Java platforme. Specifikacija se nadovezuje na CLDC 8 sa sljedećim značajkama:

  • Nova, lagana komponenta i model usluga
  • Zajedničke knjižnice
  • Višenamjenska istodobnost, komunikacija između aplikacija i sustav događaja
  • Upravljanje aplikacijama
  • Izbornost API-ja za rješavanje slučajeva upotrebe s malim otiskom

MEEP 8 pruža programerima ugrađenih aplikacija moderno aplikacijsko okruženje koje olakšava razvoj i primjenu ugrađenih rješenja koja su modularna, robusna, sofisticirana rješenja koja su optimizirana za širok raspon slučajeva i uređaja.

Više o Javi ME 8

Uvod Terrencea Barra u njegovih 10 najboljih značajki Java ME 8 identificira komponente uključene u izdanje iz travnja 2014. Također pogledajte stranicu za preuzimanje Java ME SDK 8 za daljnju dokumentaciju.

Java ugrađen

Java Embedded izdanak je Java ME i Java SE, paketa od tri platforme koje posebno ciljaju ugrađene uređaje. Svaki od ovih proizvoda isporučuje vrlo specijalizirani i optimizirani Java virtualni stroj i pruža sredstva za ažuriranje instaliranog softvera i usluga (na primjer korištenjem OSGi). U nastavku opisujem Java ME Embedded, Java SE Embedded i Java Embedded Suite.

Java za ugrađene sustave?

Iako nisu obrađeni u ovom članku, specifični izazovi i tehnike povezani su s ugrađenim programiranjem. Ne slažu se svi programeri da je Java najpogodnija za njihovo rješavanje.

Java ME ugrađen

Java ME Embedded zapravo se sastoji od dvije verzije: Java ME Embedded i Java ME Embedded Client.

Java ME Embedded je implementacija Java ME CLDC koja pruža robusnu i fleksibilnu aplikacijsku platformu s namjenskom ugrađenom funkcionalnošću za uvijek uključene, bez glave (što znači da nema grafičkog / korisničkog sučelja) i povezane uređaje. Dizajneri i programeri sustava mogu koristiti Java ME Embedded za stvaranje sofisticiranih, malih ugrađenih rješenja koja iskorištavaju blagodati Java jezika, vremena izvođenja i ekosustava, istodobno ispunjavajući uske ciljeve sistemskih resursa. Oracle Java ME Embedded mogu koristiti uređaji s manje od jednog megabajta memorije.

Java ME ugrađeni klijent je implementacija Java ME CDC-a koja je umanjena kako bi odgovarala ograničenjima uređaja ograničenih resursima i optimizirana za ugrađene sustave niskog i srednjeg dometa. Iako ovaj proizvod nudi mali otisak, on i dalje pruža većinu značajki Java jezika i vremena rada koje programeri Java poznaju i na koje su navikli s Java SE. Java ME ugrađeni klijent mogu koristiti uređaji s manje od 10 megabajta memorije i bez grafike.

Nabavite Java ME 8 Embedded

Možete preuzeti Java ME Embedded 8 za razne ARM uređaje ili Java ME Embedded Client 1.1.1 za ARM, MIPS i x86 okruženja. Za pokretanje ove platforme morat ćete instalirati Java ME SDK 8. Također pogledajte Oracleov Vodič za migraciju Java ME CDC to Java SE Embedded 8.

Java SE ugrađen

Java SE Embedded cjelovita je implementacija platforme Java SE koja je optimizirana za ugrađene sustave. Verzija 8, trenutno najnovije izdanje ove platforme, uključuje sljedeće značajke:

  • Nove jezične značajke Java SE 8 za poboljšanje produktivnosti programera
  • Kompaktni profili i alati za stvaranje prilagođenih virtualnih strojeva optimiziranih prostorom
  • 50% bolje performanse od prethodnih verzija zahvaljujući Javi SE 8
  • Izvrsni GUI programi s JavaFX-om ubrzanim GPU-om
  • Alati za detaljno praćenje vremena izvođenja i analizu događaja nakon činjenica

Imajte na umu da Java SE Embedded 8 mogu koristiti uređaji s najmanje 11 megabajta prostora za pohranu. Preuzmite Java SE Embedded 8 za ARM, Power Architecture i x86 platforme.

Java Platform Integrator

Oracle je predstavio program Java Platform Integrator kako bi pružio partnerima mogućnost prilagodbe proizvoda Java Embedded, uključujući Java ME Embedded, Java ME Embedded Client i Java SE Embedded kako bi dosegli različite vrste uređaja i tržišne segmente.

Java ugrađeni paket

Java Embedded Suite konačna je ponuda u obitelji Java Embedded. Ovaj paket alata dodaje značajke poslovnog tipa u Java SE Embedded runtime, omogućavajući aplikacijama sljedeće:

  • Pohranite podatke u relacijsku bazu podataka Java DB.
  • Hostirajte web-aplikacije zasnovane na servletima GlassFish, na primjer, kako biste omogućili siguran daljinski pristup podacima i operacijama uređaja.
  • Hostirajte i pristupite RESTful web uslugama s Oracleovom Jersey implementacijom JAX-RS specifikacije.

U osnovi, Java Embedded Suite kombinira Java SE Embedded 7 (koji pruža runtime za Java programe) s Java DB (koji pruža bazu podataka za sigurno pohranjivanje lokalnog sadržaja), GlassFish za Embedded Suite (koji nudi aplikacijski poslužitelj za web stranice), Jersey Okvir za web usluge (za hosting i pristup web uslugama) i obrada događaja za Java Embedded (koji obrađuje obradu događaja u stvarnom vremenu i koji je neobavezna komponenta).

Preuzmite Java Embedded Suite za ARM ili x86.

Zaključak

Oracle je Java ME i srodne tehnologije smjestio u susret izazovima razvoja ugrađenih uređaja, a IoT je krajnji cilj. Ovaj je članak predstavio kratki priručnik o Java ME, a zatim vas upoznao s Oracleovim proizvodima Java ME 8, Java ME Embedded, Java SE Embedded i Java Embedded Suite.

Za vodiče za programiranje i najbolje prakse koji će vam pomoći da započnete s osnovama IoT-a posjetite Java ME, MIDP i Embedded Java programske stranice na JavaWorldu. Da biste saznali više o Oracleovoj strategiji za IoT i mjesto Jave u ovoj strategiji, pogledajte razne članke, videozapise, tehničke knjige i brošure na informativnoj stranici Oracle Internet of Things.

Ovu je priču "Java ME 8 i Internet stvari" izvorno objavio JavaWorld.