Javaが切り開く “Internet of Things”の可能性──【前編】求められるアーキテクチャと、それを実現するJava&オラクル・テクノロジー

Oracle Java & Developers編集部
2014-01-20 11:00:00
  • このエントリーをはてなブックマークに追加

インターネットを介して各種コンピュータ・デバイスを連携させ、新たな価値を創造する"モノのインターネット(IoT:Internet of Things)"の時代が幕を開けた。そこにおいて大きな役割を果たす技術がJavaだ。

"モノのインターネット"の構築基盤として、さらなる飛躍を遂げるJava

 インターネットを通じてさまざまなコンピュータ・デバイスとサーバ・サイドを連携させ、新たなサービスの創出へとつなげていく「モノのインターネット(IoT:Internet of Things)」。世界的に関心が高まり、すでに先進的な企業における活用も始まっている。

 しかし一方で、IoTを実現するためのテクノロジーやプラットフォームに関する具体的な議論は、国内ではまだ活発化していない。そうした中、IoTサービスを構想するエンジニアやアーキテクトにとって注目すべきセミナーが開催された。日本オラクルが2013年12月19日に都内で催した「Javaが拓く"Internet of Things"の可能性」がそれだ。本企画では、同セミナーの模様を2回にわたってリポートしながら、IoTを支えるアーキテクチャとテクノロジーについて考察してみたい。

日本オラクル Fusion Middleware事業統括本部 ビジネス推進本部 製品戦略部 担当ディレクターの杉達也氏
日本オラクル Fusion Middleware事業統括本部 ビジネス推進本部 製品戦略部 担当ディレクターの杉達也氏

 IoTをテーマにした4つのセッションが実施された今回のセミナーで明らかにされたこと、それはIoTを支えるITプラットフォームのあるべき方向性と、IoTプラットフォーム構築におけるJavaおよびオラクルの各種テクノロジーの有効性である。

 もちろん、IoT(あるいはM2M[Machine to Machine])は今に始まったトレンドではない。そのコンセプトは従来からあり、ビジネスへの適用も一定の進展を見せている。例えば、ある大手機器メーカーでは、自社製品にセンサーを組み込み、そこから集めた情報を保守点検などのオペレーションの効率化や品質向上に生かすという取り組みを古くから進めている。

 「ただし、オペレーションの効率化を主目的にしたM2Mサービスのあり方は、M2M/IoTサービスの活用/展開フェーズとしては初期段階に過ぎません」──そう語るのは、最初のセッションに登壇した日本オラクルの杉達也氏(Fusion Middleware事業統括本部 ビジネス推進本部 製品戦略部 担当ディレクター)だ。氏は、こうも続ける。

 「今後は、M2M/IoTの適用領域が"効率化"から製品の企画力/開発力/サービス品質の向上、さらには顧客との関係強化や顧客との接点の拡充など、付加価値創出の領域へと広がっていくはずです。それに伴い、M2M/IoTのネットワークも、垂直統合の世界からセンサー情報やプラットフォームの公開/オープン化に基づく水平統合/相互連携の世界へと発展していくでしょう。そして最終的には、スマートシティ/業界共通プラットフォームといった広範な社会インフラが実現されるのです」

IoTサービスの方向性と、IoTプラットフォームに求められる3つの特性

 杉氏は講演の中で、M2M/IoTプラットフォームの将来的な方向性にも言及した。それによれば、過去のM2Mサービス(第1世代のM2Mサービス)では、垂直統合の枠組みの中で、「より少ない通信コストで、相応のサービス品質を確保すること」に設計の軸足が置かれていたという。

 しかし、スマートフォン/タブレットの普及やクラウドの発展、さらにはビッグデータの活用が本格する中で、M2M/IoTサービスに対する参入障壁の低下や、M2M/IoTサービスそのもの、およびデータ活用に対する利用者の意識の変化/ニーズの高まりが顕著になりつつあると杉氏は指摘する。

 「その結果、M2Mサービスの進化の方向性として、ビッグデータ・テクノロジーを用いた"アウトプットの強化(情報の拡充)"や、流入データのストリーミング処理による"タイムリーなサービス展開"といった流れが生まれています」(杉氏)。

 そうした進化の方向性やM2M/IoTを取り巻くIT環境の変化を踏まえ、これからのIoTプラットフォームが備えるべき特性として杉氏が挙げたのが、次の3点である。

(1)スケーラビリティ/伸縮性:

データ流入量の変化に速やかに対応できるスケーラビリティと伸縮性(Elasticity)

(2)モジュール化/動的変更への対応:

デバイスの新規追加/変更などにダイナミックに対応できるモジュール構造のサポート(デバイスとサーバをつなぐゲートウェイの実装など)

(3)ポータビリティ/資産共有:

各種デバイスからサーバに至るまで、エンド・ツー・エンドでのソフトウェアのポータビリティと再利用性(これにより、データ処理の実装に関する自由度も担保される)

IoTのビジネス活用を可能にするリアルタイム処理アーキテクチャとは?

日本オラクル Fusion Middleware事業統括本部ソリューション本部Cloud Application Foundationソリューション部 プリンシパルセールスコンサルタントの二條智文氏
日本オラクル Fusion Middleware事業統括本部ソリューション本部Cloud Application Foundationソリューション部 プリンシパルセールスコンサルタントの二條智文氏

 それでは、この3つの特性を備えたIoTプラットフォームとは、具体的にどのようなアーキテクチャを備えたものになるのだろうか。今回のセミナーで、その点を掘り下げて説明したのが、日本オラクルの二條智文氏(Fusion Middleware事業統括本部ソリューション本部Cloud Application Foundationソリューション部 プリンシパルセールスコンサルタント)だ。

 同氏は講演の中で、「流入データのストリーミング処理」に焦点を絞り、この処理を実現するアーキテクチャのあるべき方向性を具体的に示した。

 ここで言う「流入データのストリーミング処理」とは、センサーを起点とするデータ・ストリームをリアルタイムに活用するための処理である。その処理を支えるアーキテクチャの説明にあたり、二條氏が初めに触れたのが、IoT環境におけるデータの特性とデータ活用のあり方だ。

 「IoT環境で扱われるデータとは、センサーが機械的に出力するストリーム型のデータです。このタイプのデータの特徴は、人が特定の意思や目的を持って生成したデータとは異なり、始まりも終わりもないストリームであるということです。この種のデータを扱う場合はトランザクション量が膨大になるため、データの受け口となる部分(ゲートウェイ)には、高いスケーラビリティと可用性が求められることになります」(二條氏)

 また、二條氏によれば、センサーが出力するデータは、その1つ1つにビジネス上の意味はなく、データの変化を時系列で捉えたり、複数の変化をマージして全体の傾向を捉えたりすることが重要なのだという。

 しかも、センサーが出力するストリーム・データは低レベルの情報であり、そこからは必要最低限の事象(イベント)の変化しか捉えることはできない。「そのため、企業内のRDBMSに格納されたデータなど、さまざまなデータとセンサーのストリーム・データとのマッチングを行い、ビジネス的に意味のある情報へと変換/可視化することも必要になります」と二條氏は説明する。

 こうしたIoT環境のデータ特性とデータ活用のあり方を前提にしたうえで、「IoTのリアルタイム活用を実現するアーキテクチャ」として二條氏が示したのが次の図である。

 図にあるとおり、センサー・データのリアルタイム処理を実現するサーバ・サイド・アーキテクチャは、大きく次の4つの機能要素で構成される。

(1)イベント・ゲートウェイ(イベントGW):

デバイスから出力されるストリーム・データ(イベント・ストリーム)を受け付け、イベント処理側に渡す機構。接続デバイスやデータ流入の増大に対応できる高い拡張性と、データ流入の確実性/可用性を担保する仕組みが求められる

(2)複合イベント処理:

多種多様なデバイスのイベント・データをビジネス的に価値のある情報へと変換する一連の処理。その処理基盤には、変換ルールを容易に変更できる高いメンテナンス性のほか、スループット性能とリアルタイム性が求められる

(3)高速マッチング処理:

センサーから得たイベント・データと、企業がRDBMSなどに保持する情報とのマッチングを高速に行う処理

(4)プッシュ型データ配信処理:

軽量なプロトコルを使い、IoTサービスの利用者に対して価値ある情報をリアルタイムにプッシュ配信する処理