日本オラクルは4月22日、Javaを活用した“モノのインターネット(Internet of Things:IoT)”の取り組みを説明。3年弱の期間をはさんで3月18日に「Java SE 8」にメジャーバージョンアップされた。
日本オラクル Fusion Middleware事業統括 ビジネス推進本部 シニアマネジャーの伊藤敬氏は「Java SE 8は1つの区切りとなる」と言う。多くの機能が追加されており、中でもハードウェアのリソースにあわせてサイズの異なるプロファイルを選べる「Compactプロファイル」など、今後拡大が見込まれるIoTでのJava活用に重要となる機能の追加が1つの特長となっている。
日本オラクル Fusion Middleware事業統括 ビジネス推進本部 シニアマネジャー 伊藤敬氏
日本オラクル Java Embedded グローバル・ビジネス・ユニット シニアセールスディレクター 島田源氏
Java SE 8の提供開始にあわせて、最新の開発環境である「NetBeans 8.0 IDE」の提供も開始される。Java SE 8に完全対応しており、もちろん「Java SE Embedded 8」「Java ME Embedded 8」「Java EE 7」にも対応する。Embeddedの開発では、エミュレーションによる開発も可能となっており、最新のJavaを使いこなせる開発環境となっている。
より価値の高いIoTが求められる
2020年には500億台のデバイスが登場し、今後IoTが急速に拡大することが見込まれる。そのような時代には、単に多様なデバイスがネットワークにつながるだけでなく「より価値の高いIoTの実現が求められている」と日本オラクル Java Embedded グローバル・ビジネス・ユニット シニアセールスディレクターの島田源氏が解説した。
デバイスは多様化しており、利用されるハードウェアの性能や接続性は急速に進化している。その状況下では付加価値はソフトウェアに求められる。しかし、「組み込みソフトウェアの開発は難易度が高い」と島田氏。世の中の変化にも柔軟に対応し、迅速性も求められるからだ。その上でユーザーが安心できるよう、セキュリティの確保や品質の担保もIoTの世界では求められる。
そういった課題に応えられるのが、すでに携帯電話などで実績のあるJava ME Embeddedだという。バージョン8の登場で、たとえばモジュール構造で必要な機能やAPIを柔軟に選択でき、フットプリントの最適化が可能となった。複数のリアルタイムOSとベアメタルをサポートし、さらには今後も次々に登場するであろうCPUにも対応。Java VMの上で開発すれば、一連の進化にもソフトウェアに手間を加えることなくそのまま利用できる。
Java ME Embedded 8では、用途に応じ3つのプロファイルセットが用意された。すべての機能とAPIを搭載する「Full Profile」のRAMサイズは2Mバイト。マルチタスキング、アプリケーション管理、共有ライブラリやイベントを中心に集められたAPIを搭載する「Standard Profile」は最小で512Kバイトから。最小限のアプリケーションモデルで通信モジュールなどをターゲットとするのに必要なAPIを持つ「Minimum Profile」は最小で128KバイトのRAMサイズとなる。
JavaでIoTのクライアントとクラウドの開発を融合
IoTでJava ME Embeddedを利用すると、セキュリティ面での強化も期待できる。「IoTにおけるセキュリティの問題では、サーバ側で何とかすると考えがちです。とはいえ、本来はネットワークにつながるデバイスごとにセキュリティが必要になる」(島田氏)
そう考えた際に、たとえばIoTのデバイスに搭載されたCPUやメモリにOS経由でアクセスする構成では、OSが持っているさまざまなアクセス方法がすべて利用でき、それがセキュリティリスクになりかねない。これをJava VMを経由しアクセスするようにすれば、Java VM上でAPIレベルでのアクセス権限を設定するなどで、予測しないアクセスをブロック可能となる。
「Java VMを1枚載せることで、IoTのどこでもセキュリティを担保できるようになる」(島田氏)