Java ME 8 dan Internet of Things

Sistem terbenam adalah sistem komputer yang disematkan ke dalam perangkat lengkap, yang fungsinya khusus berada dalam sistem mekanikal atau elektrik yang lebih besar. Biasanya digunakan dalam aplikasi industri dan pengguna, sistem embedded memasuki pusat perhatian dengan Internet of Things (IoT). Untuk pembangun yang baru memulakan dengan IoT, artikel ini adalah panduan untuk mempelajari lebih lanjut mengenai teknologi yang merangkumi platform IoT Oracle: Java ME 8, Java ME Embedded, Java SE Embedded, dan Java Embedded Suite.

Pada tahun 1991, Mark Weiser, yang kemudian menjadi ketua Pusat Penyelidikan Palo Alto (PARC) Xerox, berusaha untuk menangkap zaman pengkomputeran di mana-mana. Memperhatikan bahawa "[teknologi] yang paling mendalam adalah teknologi yang hilang," Weiser menggambarkan pelbagai eksperimen pemikiran dan teknikal yang dilakukan oleh rakan-rakannya di PARC, ketika mereka mencari cara baru untuk memikirkan komputer sebagai sistem tertanam. Visi mereka, yang mungkin tampak hebat seperti kapal terbang pada tahun 1991, menjadi semakin biasa hari ini:

Sal terbangun: dia menghidu kopi. Beberapa minit yang lalu jam locengnya, yang diberitahu oleh gelisahnya sebelum bangun, dengan tenang bertanya, "Kopi ?," dan dia bergumam, "Ya." "Ya" dan "tidak" adalah satu-satunya perkataan yang diketahui [...]

Semasa sarapan Sal membaca berita. Dia masih lebih suka bentuk kertas, seperti kebanyakan orang. Dia melihat petikan menarik dari kolumnis di bahagian perniagaan. Dia menyapu pena di atas nama, tarikh, bahagian, dan nombor halaman surat khabar dan kemudian melingkari petikan. Pena menghantar mesej ke kertas, yang mengirimkan petikan ke pejabatnya [...]

Sebaik sahaja Sal tiba di tempat kerja, pandangan depan (di dalam keretanya) membantunya mencari tempat letak kereta dengan cepat. Semasa dia memasuki bangunan mesin di pejabatnya bersiap untuk memasukkannya ...

Peranti yang dilekatkan dalam senario pagi hari kerja Weiser menggunakan sensor untuk mengesan interaksi pengguna manusia, dan sambungan tanpa wayar untuk mengatur respons: Tempat tidur Sal, jam penggera, dan pembuat kopi semuanya disambungkan untuk memastikan bahawa cangkir kopi pertamanya sedang dijalankan sebelum dia melancarkan keluar dari katil. Bagi Weiser dan rakan-rakannya, ini adalah pengkomputeran yang tenang ; hari ini kita mungkin menyebutnya Internet of Things (IoT).

Baca lebih lanjut mengenai karya Weiser di PARC dan teorinya mengenai pengkomputeran di mana-mana: "Pastikan kualiti perkhidmatan Web di zaman pengkomputeran yang tenang" (Frank Sommers, JavaWorld, April 2001).

Gambaran keseluruhan IoT

Sekiranya terdapat satu ciri penentu IoT, ia adalah interoperabilitas, atau koordinasi pelbagai peranti. Seperti yang diperhatikan dalam senario di atas, IoT menggunakan sensor untuk mengumpulkan data (dalam hal ini mengenai interaksi Sal di persekitarannya) dan sambungan tanpa wayar untuk mengatur tindak balas. IoT dibina berdasarkan pertemuan teknologi, termasuk platform perkakasan baru dan lama, data besar, pengkomputeran awan, dan pengkomputeran mesin ke mesin (M2M). API adalah gam yang diperlukan, menyatukan semua bahagian bergerak ini.

Yang paling penting untuk pemaju Java, Java adalah kunci kepada banyak teknologi baru muncul IOT sudah, dan Oracle telah komited untuk membuat Java platform terkemuka (jika tidak yang platform) untuk IOT. Java ME 8 memberikan kehidupan baru ke dalam teknologi perangkat kecil Java, memperluasnya dengan rangkaian platform Java yang dibenamkan.

Bahagian seterusnya akan memperkenalkan teknologi yang merangkumi platform IoT Oracle; ikuti pautan untuk mengetahui lebih lanjut mengenai Java ME, Java ME 8, dan tiga kerangka terbenam: Java ME Embedded, Java SE Embedded, dan Java Embedded Suite.

Java ME

Java Micro Edition pada awalnya bertujuan untuk mengatasi kekangan yang berkaitan dengan aplikasi bangunan untuk peranti kecil. Berdasarkan Java SE, Java ME (atau J2ME, seperti yang kita ketahui pada tahun 1999) adalah platform untuk aplikasi Java yang berjalan pada perangkat kecil dengan memori, layar, dan kapasitas daya yang terbatas. Hari ini digunakan untuk mengembangkan sistem embedded, mulai dari kontrol industri hingga telefon bimbit (terutama telepon fitur), hingga set-top box dan pemain Blu-ray.

Pembangun yang bekerja di Java ME dapat memilih dari pelbagai konfigurasi, profil, dan pakej pilihan:

  • A konfigurasi menyediakan set yang paling asas perpustakaan dan keupayaan mesin maya untuk pelbagai peranti.
  • A profil adalah satu set API yang menyokong pelbagai sempit peranti.
  • Satu pakej pilihan adalah satu set API teknologi tertentu. API Pemesejan Tanpa Wayar adalah salah satu contohnya. Lihat buku asas pilihan Oracle untuk mengetahui lebih lanjut mengenai pakej pilihan.

Konfigurasi dan profil

Pada waktunya dua konfigurasi telah muncul: Konfigurasi Peranti Terhad Terhubung (CLDC) adalah konfigurasi untuk peranti kecil, dan Konfigurasi Peranti Tersambung (CDC) adalah konfigurasi untuk peranti mudah alih yang lebih berkemampuan seperti telefon pintar dan set-top box.

Profil Java ME berada di atas konfigurasi, menentukan API penggunaan yang lebih tinggi untuk aplikasi tertentu. Profil Peranti Maklumat Mudah Alih (MIDP) , misalnya, berada di atas CLDC dan menyediakan antara muka pengguna, rangkaian, dan API penyimpanan berterusan. Aplikasi yang dijalankan dalam persekitaran CLDC / MIDP (seperti permainan) dikenali sebagai MIDlets .

Pengaturcaraan peranti dengan CLDC / MIDP

"Pengaturcaraan peranti dengan MIDP" (Michael Cymerman) merangkumi demonstrasi langsung untuk pembangun yang baru menggunakan CLDC / MIDP. Lihat juga "Building MIDlets" (Jonathan Knudsen dan Sing Li) dan "Reka bentuk besar untuk peranti kecil" (Ben Hui).

Untuk CDC, terdapat tiga profil, Yayasan, Asas Peribadi, dan Peribadi:

  • Profil Yayasan adalah sekumpulan API Java yang diselaraskan untuk perangkat jejak rendah yang memiliki sumber daya yang terbatas dan tidak memerlukan antara muka pengguna grafik (GUI).
  • Profil Asas Peribadi adalah superset dari API Profil Asas dan menyokong peranti dengan keperluan GUI ringan. Profil ini dilengkapi dengan kerangka untuk membangun komponen GUI ringan dan menyokong beberapa kelas Abstract Window Toolkit (AWT).
  • Profil Peribadi memperluas Profil Asas Peribadi dengan kit alat GUI berdasarkan AWT. Ini menyediakan persekitaran aplikasi Java ME lengkap dengan sokongan AWT penuh dan ditujukan untuk peranti kelas atas seperti PDA, set-top box, konsol permainan, dan sebagainya.

Aplikasi yang dijalankan dalam persekitaran CDC / Foundation / Personal Basis / Personal (seperti menu filem Blu-ray) dikenali sebagai Xlets .

Kit Alat Antara Muka Ringan

Menggunakan AWT Java (Abstract Window Toolkit) untuk membuat aplikasi mudah alih merentas platform dengan daya tarikan pengguna yang luas memang mencabar! Font, susun atur, dan perbezaan lain menyebabkan aplikasi yang sama kelihatan dan berkelakuan sangat berbeza pada peranti yang berbeza. Tambahan pula, keupayaan antara muka pengguna yang maju seperti animasi dan kesan tidak ada. Menyedari kekurangan ini, Sun Microsystems mengembangkan Lightweight User Interface Toolkit (LWUIT) [PDF], sebuah toolkit UI yang diinspirasikan oleh Swing untuk Java ME yang menyokong CLDC 1.1 dengan MIDP 2.0 dan CDC dengan Personal Basis Profile. Codename One adalah pelaksanaan sumber terbuka popular dari LWUIT yang asal.

Java ME 8

Pada akhir tahun 2012, Oracle memulakan projek yang bercita-cita tinggi untuk menyampaikan kemas kini utama standard platform Java ME. Dua Permintaan Spesifikasi Java (JSR) dirancang untuk memenuhi keperluan pasaran semasa untuk peranti tertanam dan mempersiapkan Java ME untuk spesifikasi platform Java yang akan datang: JSR 360 (CLDC 8), kemas kini evolusi ke CLDC 1.1.1, akan membawa mesin maya, Java bahasa, dan perpustakaan yang terkini dengan Java SE 8. JSR 361 (Java ME Embedded Profile / MEEP 8) akan mengemas kini Maklumat Modul Profile - Next Generation (IMP-NG).

CLDC 8 dan MEEP 8

CLDC 8 didasarkan pada JSR 139 (CLDC 1.1) dan menyelaraskan mesin maya Java ME teras, sokongan bahasa, perpustakaan, dan ciri lain dengan Java SE 8:

  • Mesin maya telah dikemas kini untuk mematuhi versi 2 spesifikasi JVM.
  • Ciri bahasa Java SE yang lebih baru seperti generik, penegasan, anotasi, dan sumber daya percubaan kini disokong.
  • Perpustakaan baru seperti Koleksi, subset NIO, dan subset API Pembalakan kini disokong.
  • Rangka Kerja Sambungan Generik gabungan dan dipertingkatkan untuk I / O berbilang protokol disokong.

MEEP 8 mengemas kini spesifikasi IMP-NG yang asli untuk menyediakan persekitaran aplikasi yang kuat dan fleksibel untuk platform Java tertanam kecil. Spesifikasi dibuat berdasarkan CLDC 8 dengan ciri-ciri berikut:

  • Model komponen dan perkhidmatan baru yang ringan
  • Perpustakaan yang dikongsi
  • Serentak pelbagai aplikasi, komunikasi antara aplikasi, dan sistem acara
  • Pengurusan aplikasi
  • Pilihan API untuk menangani kes penggunaan jejak rendah

MEEP 8 memberikan persekitaran aplikasi moden kepada pembangun aplikasi tertanam yang memfasilitasi pengembangan dan penggunaan penyelesaian tertanam yang merupakan penyelesaian modular, kuat dan canggih yang telah dioptimumkan untuk pelbagai kes penggunaan dan peranti.

Lebih lanjut mengenai Java ME 8

Pengenalan Terrence Barr ke 10 ciri Java ME 8 teratasnya mengenal pasti komponen yang termasuk dalam siaran April 2014. Lihat juga halaman muat turun Java ME SDK 8 untuk dokumentasi lebih lanjut.

Java Dibenamkan

Java Embedded adalah pertumbuhan Java ME dan Java SE, rangkaian tiga platform yang secara khusus menargetkan perangkat tertanam. Setiap produk ini menyediakan mesin maya Java yang sangat khusus dan dioptimumkan dan menyediakan kaedah untuk mengemas kini perisian dan perkhidmatan yang dipasang (misalnya dengan menggunakan OSGi). Di bawah ini saya menerangkan Java ME Embedded, Java SE Embedded, dan Java Embedded Suite.

Java untuk sistem terbenam?

Walaupun tidak dibahas dalam artikel ini, tantangan dan teknik khusus dikaitkan dengan pengaturcaraan tertanam. Tidak semua pemaju bersetuju bahawa Java adalah yang paling sesuai untuk menyelesaikannya.

Java ME Tersemat

Java ME Embedded sebenarnya terdiri daripada dua versi: Java ME Embedded dan Java ME Embedded Client.

Java ME Embedded adalah implementasi Java ME CLDC yang menyediakan platform aplikasi yang kuat dan fleksibel dengan fungsi tertanam khusus untuk selalu aktif, tanpa kepala (tidak bermaksud antara muka grafik / pengguna), dan peranti yang disambungkan. Pereka sistem dan pembangun dapat menggunakan Java ME Embedded untuk membuat penyelesaian tertanam kecil yang canggih yang memanfaatkan kelebihan bahasa Java, waktu operasi, dan ekosistem sambil memenuhi sasaran sumber daya sistem yang ketat. Oracle Java ME Embedded dapat digunakan oleh peranti dengan memori kurang dari satu megabait.

Java ME Embedded Client adalah implementasi Java ME CDC yang telah diperkecil agar sesuai dengan batasan perangkat yang dibatasi sumber dan dioptimumkan untuk sistem embedded rendah hingga pertengahan. Walaupun produk ini menawarkan jejak kecil, namun tetap menyediakan sebagian besar fitur bahasa Java dan runtime yang diketahui oleh pengembang Java dan terbiasa dengan Java SE. Java ME Embedded Client dapat digunakan oleh perangkat dengan memori kurang dari 10 megabait dan tanpa grafik.

Dapatkan Java ME 8 Terbenam

Anda boleh memuat turun Java ME Embedded 8 untuk pelbagai peranti ARM atau Java ME Embedded Client 1.1.1 untuk persekitaran ARM, MIPS, dan x86. Anda perlu memasang Java ME SDK 8 untuk menjalankan platform ini. Lihat juga CD ME Oracle's Java ME to Java SE Embedded 8 Migration Guide.

Java SE Terbenam

Java SE Embedded adalah implementasi fitur lengkap dari platform Java SE yang telah dioptimumkan untuk sistem embedded. Versi 8, keluaran terkini platform ini, merangkumi ciri-ciri berikut:

  • Ciri bahasa Java SE 8 baru untuk meningkatkan produktiviti pembangun
  • Profil dan alat yang padat untuk membuat mesin maya yang dioptimumkan untuk ruang dan disesuaikan
  • Prestasi 50% lebih baik daripada versi sebelumnya berkat Java SE 8
  • Aplikasi GUI yang hebat dengan JavaFX yang dipercepat GPU
  • Alat untuk pemantauan runtime terperinci dan analisis insiden selepas kejadian

Perhatikan bahawa Java SE Embedded 8 dapat digunakan oleh perangkat dengan penyimpanan minimum 11 megabait. Muat turun Java SE Embedded 8 untuk platform ARM, Power Architecture, dan x86.

Integrator Platform Java

Oracle telah memperkenalkan program Java Platform Integrator untuk memberi mitra kemampuan untuk menyesuaikan produk Java Embedded, termasuk Java ME Embedded, Java ME Embedded Client, dan Java SE Embedded untuk menjangkau berbagai jenis perangkat dan segmen pasar.

Suite Embedded Java

Java Embedded Suite adalah tawaran terakhir dalam keluarga Java Embedded. Rangkaian alat ini menambahkan ciri jenis perusahaan pada runtime Embedded Java SE, yang membolehkan aplikasi melakukan perkara berikut:

  • Simpan data dalam pangkalan data hubungan Java Java.
  • Host aplikasi Web berasaskan servlet GlassFish, misalnya, untuk memberikan akses jarak jauh yang selamat ke data dan operasi peranti.
  • Host dan akses perkhidmatan Web RESTful dengan pelaksanaan Oracle's Jersey dari spesifikasi JAX-RS.

Pada dasarnya, Java Embedded Suite menggabungkan Java SE Embedded 7 (yang menyediakan runtime untuk aplikasi Java) dengan Java DB (yang menyediakan pangkalan data untuk menyimpan kandungan tempatan dengan selamat), GlassFish untuk Embedded Suite (yang menyediakan pelayan aplikasi untuk halaman Web), Jersey Rangka Kerja Perkhidmatan Web (untuk hosting dan mengakses perkhidmatan Web), dan Pemrosesan Acara untuk Java Embedded (yang menangani pemprosesan acara masa nyata, dan yang merupakan komponen pilihan).

Muat turun Java Embedded Suite untuk ARM atau x86.

Kesimpulannya

Oracle telah menempatkan Java ME dan teknologi yang berkaitan untuk menghadapi tantangan pengembangan untuk peranti tertanam, dengan IoT sebagai tujuan utamanya. Artikel ini menyajikan buku pendek pendek di Java ME dan kemudian memperkenalkan Anda kepada produk Oracle's Java ME 8, Java ME Embedded, Java SE Embedded, dan Java Embedded Suite.

Untuk tutorial dan amalan terbaik pengaturcaraan yang akan membantu anda memulakan asas IoT, lawati halaman pengaturcaraan Java ME, MIDP, dan Embedded Java di JavaWorld. Untuk mengetahui lebih lanjut mengenai strategi Oracle untuk tempat IoT dan Java dalam strategi ini, lihat pelbagai artikel, video, kertas putih, dan brosur di halaman maklumat Oracle Internet of Things.

Kisah ini, "Java ME 8 and the Internet of Things" pada awalnya diterbitkan oleh JavaWorld.