開発ツール/プラットフォーム 開発ツール/プラットフォーム記事一覧へ

[技術解説]

IoTに不可欠なアジャイル開発ツール「Node-RED」の特徴[前編]

英IBMの研究所が開発してOSSに─IoTアプリ開発の敷居を大幅に下げる

2017年11月27日(月)處雅尋、中西数樹、西山博泰

IoTに取り組む際の問題の1つがアプリケーション開発、具体的には簡単に試行錯誤ができるアジャイル型の開発ツールだろう。その最有力候補としてオープンソースソフトウェアの「Node-RED(ノードレッド)」が関係者の間で注目を集め始めている。ではNode-REDとは、どんな特徴を持つツールなのか。どうすれば利用できるのか? 2回にわたり、その実像を解説する。

 さまざまな機器をネットワークに接続し、情報を収集して活用するIoT (Internet of Things)。今まで困難だったサービスやビジネスを創出できるポテンシャルがあります。例えば製造業では、顧客に納入した自社製品の稼働状態を把握することで故障の予兆を検知し、予防保全する試みが浸透しつつあります。故障を減らせれば顧客満足度を高められますし、その企業にとっても保守の効率化、製品の品質改善など多くのメリットがあります。

 1社だけでなく異業種も含めた複数社がIoTを活用すれば、サービスやビジネスを変革できる可能性が、さらに広がります。自動車本体や車載のドライブレコーダーをネットワークに接続し、そこから得た運転実績情報を基に自動車保険の提案を行うテレマティクス保険のような例がこれに当たります。従来は不可能だったことを可能にするわけですから、IoTに注目が集まり、取り組みを始める企業が増えるのは自然でしょう。

 しかし実際に取り組み始めると、何らかの問題に直面するケースが少なくありません。中でも大きいのがIoTのアプリケーション開発でしょう。実現したいことの仮説はあっても、本当に実現するには試行錯誤が欠かせません。加えて多くの場合、IoTを活用したサービスや製品のリリース後も、新たなデータの組み合わせによる更なる改善・革新を追求しますから、IoTのアプリケーション開発は必然的に、いわゆるアジャイル方式で進めることが多くなります。

 ところがアジャイル方式による開発は、一般に高度なプログラミング能力が求められ、その分、難度が高くなってしまうのです。しかもIoTアプリケーションの開発では、機器の設計者や事業責任者などが主導的な役割を果たします。彼/彼女らがプログラマやITエンジニアに要望を伝え、アプリケーションを開発・変更するといった非効率的なやり方では、時間がかかるなどうまくいかない確率が高まります。

 この問題を解決するため「Node-RED」と呼ばれるツールが注目を集めつつあります。プログラミング言語を習得する必要がなく、データを活用するプログラムを短期間に開発・改変できる開発環境であり、オープンソース・ソフトウェアとして提供されています。IoTアプリケーションの開発には最適と言えます。そこで2回にわたって「Node-RED」を紹介します。

アジャイル開発を加速するNode-RED

 Node-REDでは、データの流れ(フロー)を定義することによりプログラムロジックを表現します。専門的に言えば、フローベースドプログラミング(Flow-based Programming)と呼ばれるものの一種です。

 JavaやJavaScriptといったプログラミング言語を用いた従来型の開発では、プログラミングに精通した専門のプログラマーがプログラムを作成する必要がありました。これに対し、フローベースドプログラミングは図形を用いたプログラム表現を採用しており、プログラム作成のハードルを大きく下げ、プログラミングの裾野を広げることができます。

写真1:英国IBM Hursley Labの外観

 ここで、Node-REDの誕生の経緯について少しお話ししたいと思います。Node-REDは、イギリスにあるIBM Hursley研究所で誕生しました(写真1)。同研究所は当初、IoTシステムを簡単に開発したいと考えてフローベースドプログラミングのシステムを探しました。しかしネットワークとデバイスの通信で標準的に用いられる「MQTTプロトコル」に対応したものがない、設定が難しく敷居が高いなど良いものが見つかりませんでした。

 そこで簡単で誰もが使える、IoTに関して学びながらスマートデバイスを活用できるといった思いを込めて、Node-REDの開発に着手しました。 そして2016年10月、同研究所はNode-REDをJavaScript財団に寄贈し、オープンソースソフトウェアとして公開しました。このためベンダーロックインされないシステム構築が可能です。

 こうした開発者の思いや設計の新しさなどから、Node-REDにはユニークな特徴があります。具体的にはどんなことでしょうか?世の中には、様々なソフトウェアやサービスが存在しています。現在では、それらをAPI経由で呼び出し、組み合わせ(マッシュアップ)て新しいサービスを生み出すやり方がトレンドになっています。いわゆる「APIエコノミー」です。しかしサービスをマッシュアップするには、ソフトウェアを拡張するか、あるいは連携するためのプログラムを作成するしかありません。

●Next:簡単・迅速な開発を可能にする仕組み

この記事の続きをお読みいただくには、
会員登録(無料)が必要です
  • 1
  • 2
関連キーワード

Node-RED / 日立製作所 / アジャイル

関連記事

トピックス

[Sponsored]

IoTに不可欠なアジャイル開発ツール「Node-RED」の特徴[前編]IoTに取り組む際の問題の1つがアプリケーション開発、具体的には簡単に試行錯誤ができるアジャイル型の開発ツールだろう。その最有力候補としてオープンソースソフトウェアの「Node-RED(ノードレッド)」が関係者の間で注目を集め始めている。ではNode-REDとは、どんな特徴を持つツールなのか。どうすれば利用できるのか? 2回にわたり、その実像を解説する。

PAGE TOP