Programovanie

Java ME 8 a internet vecí

Vložené systémy sú počítačové systémy zabudované do kompletných zariadení, ktorých vyhradené funkcie sú obsiahnuté vo väčšom mechanickom alebo elektrickom systéme. Vstavané systémy, ktoré sa zvyčajne používajú v priemyselných aj spotrebiteľských aplikáciách, vstupujú na výslnie s internetom vecí (IoT). Pre vývojárov, ktorí ešte len začínajú s IoT, je tento článok návodom, ako sa dozvedieť viac o technológiách, ktoré tvoria platformu IoT spoločnosti Oracle: Java ME 8, Java ME Embedded, Java SE Embedded a Java Embedded Suite.

V roku 1991 sa Mark Weiser, vtedajší vedúci výskumného centra Palo Alto Research Center (PARC) v spoločnosti Xerox, pokúsil zachytiť nadchádzajúcu dobu všadeprítomného výpočtovej techniky. Berúc na vedomie, že „[tie] najhlbšie technológie sú tie, ktoré miznú,“ Weiser opísal rôzne myšlienkové a technické experimenty uskutočnené jeho kolegami v PARC, keď hľadali nový spôsob uvažovania o počítačoch ako o zabudovaných systémoch. Ich vízia, ktorá sa mohla javiť rovnako fantastická ako vznášadlo v roku 1991, sa dnes rýchlo stáva čoraz bežnejšou:

Sal sa prebudí: cíti kávu. Pred pár minútami sa jej budík, upozornený jej nepokojným váľaním pred prebudením, potichu spýtal: „Káva?“ A zamrmlala: „Áno.“ „Áno“ a „nie“ sú jediné slová, ktoré pozná [...]

Na raňajky Sal číta správy. Stále preferuje papierovú formu, rovnako ako väčšina ľudí. Zbadá zaujímavý citát od publicistu v obchodnej sekcii. Otrie perom meno, dátum, sekciu a číslo stránky v novinách a potom zakrúžkuje ponuku. Pero odošle správu na papier, ktorý zašle cenovú ponuku do jej kancelárie [...]

Po príchode Sal do práce jej predná časť (v aute) pomôže rýchlo nájsť parkovacie miesto. Keď vojde do budovy, stroje v jej kancelárii sa pripravia na jej prihlásenie ...

Zabudované zariadenia v scenári Weiserovho pracovného dňa ráno používajú senzory na sledovanie interakcií ľudského používateľa a bezdrôtové pripojenie na zabezpečenie odpovede: Salina posteľ, budík a kávovar sú pripojené, aby zabezpečili, že jej prvá šálka kávy bude hotová skôr, ako sa začne rolovať von z postele. Pre Weisera a jeho kolegov to bolo pokojne výpočtová technika; dnes by sme to mohli nazvať Internet vecí (IoT).

Prečítajte si viac o Weiserovej práci v PARC a jeho teórii všadeprítomného počítania: „Zaistite kvalitu webových služieb v dobe pokojného počítania“ (Frank Sommers, JavaWorld, apríl 2001).

Prehľad IoT

Ak existuje jedna definujúca charakteristika IoT, je to interoperabilita alebo koordinácia viacerých zariadení. Ako bolo pozorované vo vyššie uvedenom scenári, IoT používa senzory na zhromažďovanie údajov (v takom prípade o interakciách Sal v jej prostredí) a bezdrôtového pripojenia na zabezpečenie reakcie. IoT je postavený na súhre technológií, vrátane nových a starých hardvérových platforiem, veľkých dát, cloudových výpočtov a výpočtov typu machine-to-machine (M2M). API sú nevyhnutným lepidlom, ktoré spája všetky tieto pohyblivé časti.

Pre vývojárov Java je najdôležitejšie, že Java je kľúčom k mnohým rozvíjajúcim sa technológiám IoT a spoločnosť Oracle sa zaviazala, že z Javy urobí vedúcu platformu (ak nie) the platforma) pre IoT. Java ME 8 vdýchne nový život technológii malých zariadení Java a rozšíri ju o diferencovanú radu zabudovaných platforiem Java.

Nasledujúce časti predstavia technológie, ktoré tvoria platformu IoT spoločnosti Oracle; podľa nasledujúcich odkazov sa dozviete viac o jazykoch Java ME, Java ME 8 a troch zabudovaných rámcoch: Java ME Embedded, Java SE Embedded a Java Embedded Suite.

Java ME

Java Micro Edition mala pôvodne slúžiť na riešenie obmedzení spojených s vytváraním aplikácií pre malé zariadenia. Na základe Java SE bola Java ME (alebo J2ME, ako sme ju poznali v roku 1999) platformou pre Java aplikácie bežiace na malých zariadeniach s obmedzenou pamäťou, displejom a kapacitou napájania. Dnes sa používa na vývoj zabudovaných systémov, od priemyselných ovládacích prvkov až po mobilné telefóny (najmä bežné telefóny), až po set-top boxy a prehrávače Blu-ray.

Vývojári pracujúci v prostredí Java ME si môžu vybrať z viacerých konfigurácií, profilov a voliteľných balíkov:

  • A konfigurácia poskytuje najzákladnejšiu sadu knižníc a funkcií virtuálneho stroja pre širokú škálu zariadení.
  • A profilu je sada rozhraní API, ktoré podporujú užšiu škálu zariadení.
  • An voliteľné balenie je sada technologicky špecifických API. Jedným z príkladov je rozhranie Wireless Messaging API. Ak chcete získať viac informácií o voliteľných balíkoch, pozrite si základný náter voliteľného balíka spoločnosti Oracle.

Konfigurácie a profily

Postupom času sa objavili dve konfigurácie: Connected Limited Device Configuration (CLDC) je konfigurácia pre malé zariadenia a Connected Device Configuration (CDC) je konfigurácia pre schopnejšie mobilné zariadenia, ako sú smartphony a set-top boxy.

Profily Java ME sedia na vrchole konfigurácií a definujú API vyššej úrovne použiteľné pre konkrétne aplikácie. Profil mobilného informačného zariadenia (MIDP), napríklad, sedí na vrchole CLDC a poskytuje užívateľské rozhranie, sieťové pripojenie a trvalé úložné API. Aplikácie, ktoré bežia v prostredí CLDC / MIDP (napríklad hry), sú známe ako MIDlety.

Programovanie zariadení pomocou CLDC / MIDP

„Programovanie zariadení pomocou MIDP“ (Michael Cymerman) obsahuje praktickú ukážku pre vývojárov, ktorí sú v oblasti CLDC / MIDP noví. Pozri tiež „Budovanie MIDletov“ (Jonathan Knudsen a Sing Li) a „Veľké vzory pre malé zariadenia“ (Ben Hui).

Pre CDC existujú tri profily, Foundation, Personal Basis a Personal:

  • Foundation Profile je sada Java API vyladená pre zariadenia s nízkou stopou, ktoré majú obmedzené zdroje a nepotrebujú grafické používateľské rozhranie (GUI).
  • Profil Personal Basis je nadmnožinou rozhraní API Foundation Profile a podporuje zariadenia s ľahkými požiadavkami grafického používateľského rozhrania. Tento profil je dodávaný s rámcom pre vytváranie ľahkých komponentov grafického používateľského rozhrania a podporuje niektoré triedy AWT (Abstract Window Toolkit).
  • Osobný profil rozširuje osobný základný profil o súpravu nástrojov GUI založenú na AWT. Poskytuje kompletné aplikačné prostredie Java ME s plnou podporou AWT a je určené pre zariadenia vyššej triedy, ako sú PDA, set-top boxy, herné konzoly atď.

Aplikácie, ktoré bežia v prostredí CDC / Foundation / Personal Basis / Personal (napríklad ponuky filmov na diskoch Blu-ray), sú známe ako Xlets.

Ľahká sada nástrojov pre používateľské rozhranie

Používanie Java AWT (Abstract Window Toolkit) na vytváranie mobilných aplikácií pre rôzne platformy so širokým využitím pre používateľov je náročné! Písmo, rozloženie a ďalšie rozdiely spôsobujú, že rovnaká aplikácia vyzerá a správa sa na rôznych zariadeniach veľmi odlišne. Ďalej chýbajú pokročilé funkcie používateľského rozhrania, ako sú animácie a efekty. Uznávajúc tieto nedostatky, vyvinula spoločnosť Sun Microsystems program Lightweight User Interface Toolkit (LWUIT) [PDF], súbor nástrojov používateľského rozhrania inšpirovaný technológiou Swing pre Java ME, ktorý podporuje CLDC 1.1 s MIDP 2.0 a CDC s osobným základným profilom. Codename One je populárna open source implementácia pôvodného LWUIT.

Java ME 8

Koncom roka 2012 sa spoločnosť Oracle pustila do ambiciózneho projektu zameraného na dodanie významnej aktualizácie štandardu platformy Java ME. Dve požiadavky na špecifikáciu Java (JSR) boli navrhnuté tak, aby vyhovovali súčasným požiadavkám trhu na zabudované zariadenia a pripravovali Java ME na budúce špecifikácie platformy Java: JSR 360 (CLDC 8), evolučná aktualizácia CLDC 1.1.1, prinesie virtuálny stroj, Java jazyk a knižnice aktualizované v prostredí Java SE 8. JSR 361 (Java ME Embedded Profile / MEEP 8) by aktualizoval profil informačného modulu - nová generácia (IMP-NG).

CLDC 8 a MEEP 8

CLDC 8 je založené na JSR 139 (CLDC 1.1) a zosúlaďuje hlavný virtuálny stroj Java ME, jazykovú podporu, knižnice a ďalšie funkcie s Java SE 8:

  • Virtuálny stroj bol aktualizovaný tak, aby vyhovoval verzii 2 špecifikácie JVM.
  • Novšie funkcie jazyka Java SE, ako sú generické výrazy, tvrdenia, anotácie a zdroje na vyskúšanie, sú teraz podporované.
  • Nové knižnice, ako sú zbierky, podmnožina NIO a podmnožina protokolovacieho rozhrania API, sú teraz podporované.
  • Je podporovaný konsolidovaný a vylepšený rámec všeobecného pripojenia pre viacprotokolové I / O.

MEEP 8 aktualizuje pôvodnú špecifikáciu IMP-NG tak, aby poskytovala výkonné a flexibilné aplikačné prostredie pre malé zabudované platformy Java. Špecifikácia vychádza z CLDC 8 s nasledujúcimi funkciami:

  • Nový, ľahký komponent a model služieb
  • Zdieľané knižnice
  • Súbežnosť viacerých aplikácií, komunikácia medzi aplikáciami a systém udalostí
  • Správa aplikácií
  • Voliteľnosť API na riešenie prípadov použitia s nízkou stopou

MEEP 8 poskytuje vývojárom zabudovaných aplikácií moderné aplikačné prostredie, ktoré uľahčuje vývoj a nasadenie zabudovaných riešení, ktoré sú modulárnymi, robustnými a sofistikovanými riešeniami, ktoré boli optimalizované pre širokú škálu prípadov použitia a zariadení.

Viac informácií o Java ME 8

Úvod Terrence Barra k jeho najlepším 10 funkciám Java ME 8 identifikuje komponenty obsiahnuté vo vydaní z apríla 2014. Ďalšiu dokumentáciu nájdete tiež na stránke na stiahnutie súboru Java ME SDK 8.

Integrované Java

Java Embedded je výsledkom Java ME a Java SE, sady troch platforiem, ktoré sa špecificky zameriavajú na zabudované zariadenia. Každý z týchto produktov poskytuje veľmi špecializovaný a optimalizovaný virtuálny stroj Java a poskytuje prostriedky na aktualizáciu nainštalovaného softvéru a služieb (napríklad pomocou OSGi). Ďalej popisujem Java ME Embedded, Java SE Embedded a Java Embedded Suite.

Java pre vstavané systémy?

Pokiaľ sa v tomto článku nezaoberáme konkrétnymi výzvami a technikami, sú spojené s integrovaným programovaním. Nie všetci vývojári súhlasia s tým, že Java je najvhodnejšia na ich riešenie.

Zabudované Java ME

Java ME Embedded sa v skutočnosti skladá z dvoch verzií: Java ME Embedded a Java ME Embedded Client.

Java ME Embedded je implementácia Java ME CLDC, ktorá poskytuje robustnú a flexibilnú aplikačnú platformu so špecializovanou integrovanou funkčnosťou pre vždy zapnuté, bezhlavé (bez grafického / používateľského rozhrania) a pripojené zariadenia. Návrhári a vývojári systémov môžu pomocou Java ME Embedded vytvárať sofistikované, malé integrované riešenia, ktoré využívajú výhody jazyka Java, runtime a ekosystému pri plnení prísnych cieľov systémových zdrojov. Oracle Java ME Embedded môžu používať zariadenia s menej ako jedným megabajtom pamäte.

Integrovaný klient Java ME je implementácia Java ME CDC, ktorá bola zmenšená tak, aby zodpovedala obmedzeniam zariadení s obmedzenými prostriedkami, a optimalizovaná pre vstavané systémy nízkeho a stredného rozsahu. Aj keď tento produkt ponúka malé rozmery, stále poskytuje väčšinu funkcií jazyka Java a runtime, ktoré vývojári Java poznajú a sú zvyknutí v prostredí Java SE. Zabudovaný klient Java ME môžu používať zariadenia s menej ako 10 MB pamäte a bez grafiky.

Získajte Java ME 8 Embedded

Môžete si stiahnuť Java ME Embedded 8 pre rôzne zariadenia ARM alebo Java ME Embedded Client 1.1.1 pre prostredia ARM, MIPS a x86. Pre spustenie tejto platformy si budete musieť nainštalovať Java ME SDK 8. Prečítajte si tiež Sprievodcu migráciou Oracle ME ME CDC to Java SE Embedded 8.

Vložený Java SE

Java SE Embedded je plnohodnotná implementácia platformy Java SE, ktorá bola optimalizovaná pre zabudované systémy. Verzia 8, aktuálne posledné vydanie tejto platformy, obsahuje nasledujúce funkcie:

  • Nové jazykové funkcie Java SE 8 na zvýšenie produktivity vývojárov
  • Kompaktné profily a nástroje na vytváranie prispôsobených, priestorovo optimalizovaných virtuálnych strojov
  • O 50% lepší výkon ako predchádzajúce verzie vďaka Java SE 8
  • Skvele vyzerajúce aplikácie grafického používateľského rozhrania s procesorom JavaFX akcelerovaným pomocou GPU
  • Nástroje na podrobné sledovanie runtime a následnú analýzu incidentov

Upozorňujeme, že Java SE Embedded 8 môžu byť použité zariadeniami s minimálne 11 MB úložiska. Stiahnite si Java SE Embedded 8 pre platformy ARM, Power Architecture a x86.

Integrátor platformy Java

Spoločnosť Oracle predstavila program Java Platform Integrator, aby poskytla partnerom možnosť prispôsobenia produktov Java Embedded vrátane Java ME Embedded, Java ME Embedded Client a Java SE Embedded tak, aby oslovili rôzne typy zariadení a segmenty trhu.

Java Embedded Suite

Java Embedded Suite je posledná ponuka v rodine Java Embedded. Táto sada nástrojov pridáva do modulu runtime Java SE Embedded funkcie podnikového typu, čo umožňuje aplikáciám vykonávať nasledujúce činnosti:

  • Ukladajte údaje do relačnej databázy Java DB.
  • Hostujte napríklad servletské webové aplikácie GlassFish, ktoré poskytujú bezpečný vzdialený prístup k údajom a operáciám zariadenia.
  • Hostujte a pristupujte k RESTful webovým službám s implementáciou špecifikácie JAX-RS spoločnosťou Oracle.

Java Embedded Suite v podstate kombinuje Java SE Embedded 7 (ktorá poskytuje runtime pre Java aplikácie) s Java DB (ktorá poskytuje databázu na bezpečné ukladanie lokálneho obsahu), GlassFish pre Embedded Suite (ktorá poskytuje aplikačný server pre webové stránky), Jersey Rámec webových služieb (na hosťovanie a prístup k webovým službám) a spracovanie udalostí pre Java Embedded (ktoré spracúvajú spracovanie udalostí v reálnom čase a sú voliteľnou súčasťou).

Stiahnite si Java Embedded Suite pre ARM alebo x86.

Záver

Spoločnosť Oracle umiestnila prostredie Java ME a súvisiace technológie tak, aby vyhovovalo výzvam vývoja pre zabudované zariadenia, pričom hlavným cieľom je internet vecí. Tento článok predstavil krátky prehľad o prostredí Java ME a potom vás oboznámil s produktmi Oracle Java ME 8, Java ME Embedded, Java SE Embedded a Java Embedded Suite.

Kurzy programovania a osvedčené postupy, ktoré vám pomôžu začať so základmi IoT, nájdete na stránkach Java ME, MIDP a Embedded Java v JavaWorld. Ak sa chcete dozvedieť viac informácií o stratégii spoločnosti Oracle pre IoT a platformu Java v tejto stratégii, pozrite si rôzne články, videá, správy a brožúry na informačnej stránke Oracle Internet of Things.

Tento príbeh, „Java ME 8 a internet vecí“, bol pôvodne publikovaný spoločnosťou JavaWorld.

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