Javaが拓く“Internet of Things”の可能性 - (page 2)

加山 恵美

2014-02-10 08:03

IoTを活用するためのリアルタイムかつスケーラブルなインメモリ・プロセッシング処理基盤


Fusion Middleware事業統轄本部 二條 智文氏

 IoTの世界では機器同士がネットを通じてリアルタイムかつ有機的につながる。そこで欠かせないのがリアルタイム処理とスケーラブルであることだ。二條氏はデバイスから生成されるデータがサーバを通じてリアルタイムで多様なチャンネルへとつなげるためのアーキテクチャを示し、各部分に適応するオラクル製品とその仕組みを具体的に紹介した。

 大まかにいうと、デバイスが生成するデータをサーバ側で最初に受け取るのはデータグリッドとなる「Oracle Coherence」となり、そこからミドルウェア(イベント処理)の「Oracle Event Processing」(OEP)を経由し、アプリケーションサーバの「Oracle Weblogic」へと到達し、多様なチャンネルへと渡る。

 データグリッドとなるOracle Coherenceではインメモリでデータ分散するため高いスケーラビリティが実現できるほか、デバイスから送られるデータだけではなく連携するデータベースとシームレスにデータ同期することができる。

 複合イベント処理基盤となるのがOracle Event Processingだ。SpringとOSGiをシームレスに扱うようにSpring Dynamic Moduleで統合されており、標準技術をベースとした運行効率が高いフレームワークとなっている。またイベント処理ネットワーク内にCQL(Continuous Query Language)によるクエリ処理を組み入れるという実装になっている。

Rasberry PIを使ったオラクルのIoTの実装とデモンストレーション

 最後のセッションはこれまで解説してきた仕組みをRasberry PIを用いてデモンストレーションを実施した。センサとなるデバイスから送られたデータをゲートウェイとなるRasberry PIで処理し、上位のサーバに送るというシナリオだ。

 まずはセットアップ。Oracle Java Embedded SuiteとOracle Event Processing for Oracle Java Embedded(OEP Embedded)をダウンロードし、Rasberry PIに展開すれば環境変数を設定すれば完了だ。次にRasberry PIでOEP Embeddedを起動する。

 Rasberry PIではデバイスからの加速度センサや傾き角度といったデータがCQLのイベント判定を通じてJavaのロジックに渡されるのが大まかな流れとなる。センサから送られてくるデータはJavaのPOJOで定義し、ソケット経由で受信するアダプタをJavaで作成する。集計やフィルタリングのイベント判定はCQLを用いて記述する。上位サーバでは基本的にゲートウェイ上のOEP同様に処理フローを作成すればいい。

 Javaという同一のプラットフォームを利用することでロジックの配置が柔軟になるというメリットがある。なお処理ロジックを考えるときはデバイスやゲートウェイのスペック、ネットワーク帯域、データ送受信の頻度に気をつけるのがポイントとなる。

ZDNET Japan 記事を毎朝メールでまとめ読み(登録無料)

ZDNET Japan クイックポール

自社にとって最大のセキュリティ脅威は何ですか

NEWSLETTERS

エンタープライズ・コンピューティングの最前線を配信

ZDNET Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]