ノンプログラミング開発環境がIoTのエッジとクラウドの相克を解消する:MONOist 2018年展望(2/3 ページ)
IoT活用を進めていく上で大きな課題になるのが、IoTデバイスなどのエッジ側とクラウド側の間に存在するソフトウェア開発環境の違いだ。この相克を解消するノンプログラミング開発環境に注目が集まっている。
注目集めるオープンソースの「Node-RED」
IoTにおけるソフトウェア開発では、エッジとクラウドの間に大きな相克が存在する。この相克の解消が可能な手段として期待されているのがIoT向けのノンプログラミング開発環境だ。
一般的に、ノンプログラミング開発環境とは、プログラミング=テキストコーディングをすることなく開発を進めるためのものだ。GUI(Graphical User Interface)ベースの開発環境であることが多く、モデルとなるブロックとブロックの間を結んでいくブロック線図によって複雑なシステムの開発を可能にする。
これまでも、UML、SysML、MATLAB/Simulinkといったモデルベース開発では広く利用されていたが、このコンセプトをIoT向けに適用した開発環境が新たに登場している。従来通りに、エッジの開発は組み込み機器の技術者が、クラウド側の開発はITシステムの技術者が担当しつつ、これらエッジとクラウドの間におけるシステム間の処理やデータ連携については、IoT向けノンプログラミング開発環境で対応すれば、エッジとクラウドでそれぞれ有しているリソースを有効に活用しながらIoTの開発を進められるというわけだ。
このIoT向けノンプログラミング開発環境で最も広く知られているのがオープンソースの「Node-RED」だろう。Node-REDを組み込んだ環境の外側から入力されるデータ、環境内や周辺で発生するデータと、その環境から外側に出力するデータの流れを扱うことができる。JavaScriptの「Node.js」が動作する環境であれば、Node-REDで開発したアプリケーションはエッジ側でもクラウド側でも利用することができる。
このNode-REDを採用しているのが、ウフルのIoTプラットフォーム「enebular」だ(関連記事:「IoTの上流から下流まで全てをつなぐ」、ウフルの「enebular」が新展開)。enebularは、Node-REDなどのオープンソース資産を活用してエッジからクラウドまで一元化されており「Unified Development」をうたう。Armのデバイス管理技術「Mbed」にも対応しており、広く利用されているArmプロセッサを用いたIoTデバイスの開発を容易に行える。エッジとクラウドの分散協調も可能で「エッジでできることはエッジで、クラウドしかできないことはクラウドに残す」(ウフル 専務執行役員 CTOの古城篤氏)というコンセプトに基づいている。
Node-REDの開発コミュニティーにはウフルの他に日立製作所なども参加している。日立製作所は同社のIoTプラットフォーム「Lumada」にNode-REDを組み込むために、さまざまな機能を追加している(関連記事:ノンプログラミング開発環境でシステム間の連携を容易にする新技術を開発)。オープンソースになる前に、Node-REDの開発元だったIBMもコミュニティーの主要メンバーだ。
Node-RED以外のIoT向けノンプログラミング開発環境としては、東京エレクトロンデバイスの「Connexon(コネクソン)」などがある(関連記事:IoTのデータフローをノンプログラミングで開発、TEDがクラウドベースで環境提供)。また、インフォテリアのIoTアプリ開発環境「Platio」もノンプログラミングをうたう(関連記事:ノンプログラミングでIoTアプリを開発できる、DIY型のIoT開発も可能に)。セゾン情報システムズは、ノンプログラミングでエッジコンピューティングが可能になる「DataSpider Edge Streaming」のプロトタイプ版を発表している(関連記事:ノンプログラミングでエッジコンピューティング、セゾン情報が開発)。
Copyright © ITmedia, Inc. All Rights Reserved.