あまり知られていないが、組み込み機器向けJavaベースのプラットフォームであるJava ME(J2ME)は日本ではいわゆる「ガラケー」のアプリケーション、世界的にはBlu-ray機器やKindle Paperwhiteなど、すでに多くのデバイスで利用されている。このセッションは組み込み向けJavaとオラクルの組み込み環境向け統合スイート「Java Embedded Suite」に軸を置いていた。
日本オラクル Java Embedded Global Business Unit シニアセールスコンサルタント 笹沼満氏が最初に説明したのはJava SE Embedded。旧来組み込み機器向け用として提供されていたJava MEはいわばJava SEに制限を掛けたコンパクトバージョンでJava技術者がすぐに取り組める利点はあるが、Java SEのコードそのままでは動かない場合があった。
そこで今後組み込み機器向けJavaはJava SE Embeddedとして再ブランドし、Java SEとAPIに100%互換性を持たせたまま利用場面に応じてフットプリントの小さいランタイムを選択できる仕組みを用意してポータビリティが高くなるという。
また、Javaが多く適用されているサーバサイドではx86系のアーキテクチャが主流だが、Java SE EmbeddedはPowerPCやARMベースの機器でも動作するため低消費電力、小型デバイスへの適用も容易だ。
コンパクトなランタイムは一番小さいバージョンでは10MBしかない。キオスク端末などでGUI、つまりJavaFXが必要であれば16Mbytesほどのバージョンで利用できる。
また従来Fusion Middlewareファミリの一環として提供してきたOEP(Oracle Event Processing)の組み込み向けバージョン、OEP Embeddedを紹介した。
OEPはCEP(Complex Event Processing)エンジンの一種。CEPは連続して届くイベント/データとあらかじめ宣言していた条件をトリガーするミドルウェアのことを指す。JavaベースのCEPは他のもあり、例えばルールエンジンであるJBoss DroolsのDrools Fusionなどが有名だ。
OEP Embeddedが登場した背景には市場でさまざまなセンサが非常に安価で手に入るようになってきていることや、ネットワークに接続したデバイスが連続してデータをサーバに送り続けるような事例が急増していることなどがあるという。
そしてデバイス、センサが増えれば当然問題となってくるがネットワークの帯域幅やサーバサイドのスケーラビリティだ。増え続けるデータを全てサーバに送りつけるのは非現実的になりつつあるため、OEP Embeddedを使えばデバイスサイドで、ある程度の処理をしたり、実際には不必要なデータ(ノイズ)を取り除いたりということが実現できる。
笹沼氏はJava SE Embeddedが動作する血中酸素濃度を測定する機器からのデータをOracle Embedded Suiteを搭載したRaspberry Piで受け取って処理をする様子をターミナルで確認する簡単なデモを披露した。
Embedded SuiteやOEP Embeddedはまだ具体的な事例こそないもののマルチデバイス、リアルタイムといった現在のコンピューティグにおいてJavaが担っていく役割はより広がっていく可能性を垣間見られるセッションであった。
Copyright © ITmedia, Inc. All Rights Reserved.