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

[技術解説]

日立がLumadaのプログラミングツールに採用した「Node-RED」とは

2017年11月13日(月)杉田 悟(IT Leaders編集部)

日立製作所の「Lumada(ルマーダ)」は、製造業としてのノウハウをIT技術とシンクロさせた、欧米の製造業向けIoTである「Predix(米GE)」「MindSphere(独シーメンス)」らに対抗する国産IoTプラットフォームだ。日立がLumadaを国内外で戦えるようにするために取った戦略のひとつが、オープンソースのプログラミングツール「Node-RED」の採用だ。Node-REDの採用は、ユーザーオリエンテッドなIoT開発の起爆剤となりそうだ。

 日立では、IoTを始めとする様々なユーザー企業向けソリューションをLumadaというプラットフォーム上で開発している。日立が蓄積してきた様々なノウハウが、Lumadaを介して横展開できるようになるのが理想だ。では、あるユーザー向けに開発したソリューションを部品のように横展開するには、どうしたらよいのか。そのソリューションの処理手順をソフトウェアの形で蓄積していくため、処理手順のフローを記述できるものが必要となる。

 従来の日立であれば、自社サービスの中核となるIoTプラットフォームのプログラミングツールともなれば、自社開発があたりまえだった。しかし、Lumadaが活躍するのは、巨大な社会インフラシステムや工場システムなど。現状、ゼロクリアで一から作り上げるようなシステムはほとんど存在しない。多くの場合巨大なシステムの一部を開発して、他社が開発した既存のシステムとの連携が求められることになる。その場合、日立オリジナルの技術で開発しても効率が悪くなるだけだ。

 世の中のディファクトになっているものを使った方が良いとの判断から、オープンソースとして公開されているもののなかから適したものを探すことにした。そこで目を付けたのがJavaScriptベースのNode-REDだった。

オープンソース化したNode-RED

 Node-REDは、英国IBMのHursley研究所で開発されたUI(ユーザーインターフェース)、操作性に優れたプログラミングツールだ。オープンソースとして公開されており、IBMのPaaSであるBluemixだけでなく、サーバーサイドのJavaScriptであるNode.jsが動く環境であれば、AWSであろうがAzureであろうが、どのベンダーのPaaSでも利用できる。

 なぜJavaScriptなのかというと、ずばり「技術者が集めやすいから」だ。日本では未だJava技術者が全盛だが、グローバルでは似て非なるものであるJavaScriptのポピュラリティが高く、海外の大規模開発ではこちらの方が集めやすいという事情がある。

 Raspberry Pi標準のプログラミングツールとして採用されていることからもわかるように、Node-REDはクラウドだけでなくローカルのPCや組込みボードでもブラウザーさえあれば使える。さらに、各種のセンサープロトコルに対応したプラグインも豊富に用意されている。そもそも、IBMのHursley研究所はIoTアプリケーションに適しているといわれるMQTTプロトコルを開発したところでもあり、IoTとの親和性は非常に高いといえる。

 唯一、Node-REDがIBMという1社お抱えのオープンソースプロジェクトであったことがネックとなり全面採用に至っていなかったが、2016年10月にJavaScriptの非営利団体がLinux Foundation内に設立された。設立メンバーとして名を連ねたIBMがその団体にNode-REDを寄贈したことで、晴れてオープンソースコミュニティとなった。

 日立の研究開発チームとしてはすでにNode-REDの評価や足りない機能の作り付け等は行っていたが、正式にコミュニティにLumadaへの採用を打診したところ快く迎え入れてくれた。そこで日立からも、これまで開発してきたNode-RED用の追加機能を公開することになった。

 これまで日立の開発現場では作業手順書しか残っておらず、ソフトウェアの蓄積はできていなかった。極力Node-REDで記述することにし、ソフトウェア化できるところをNode-REDのソフトにしていくことで、ソリューションが蓄積される。それを部品化することで横展開しやすくなるというメリットも見えている。

 Node-REDで記述された業務フロー図は、JSONフォーマットで出力できる。JSONで記述されたものをテキストでメール送信すると、受け手側がNode-REDの環境でそのテキストを展開すれば業務フロー図がそのまま再現できるので、業務フロー図の共有が楽に行えるようになる。

拡張機能としてデータ連携技術を開発

 そんなNode-RED用の機能拡張として日立が2017年8月に発表したのが「Flow Connection Gateway」だ。これは、Node-REDで開発されたシステムと、JavaScript以外で書かれたプログラム間でのデータ連携を簡素化する技術だ。具体的には、他のシステムとの連携をAPI化して、そのAPIを統合管理する技術。接続先システムのAPIを指示すれば、細かいメッセージパッシングの設計を大幅に端折ることができる。

この記事の続きをお読みいただくには、
会員登録(無料)が必要です
【次ページ】実際にプログラムを作ってみた
  • 1
  • 2
関連記事

日立がLumadaのプログラミングツールに採用した「Node-RED」とは日立製作所の「Lumada(ルマーダ)」は、製造業としてのノウハウをIT技術とシンクロさせた、欧米の製造業向けIoTである「Predix(米GE)」「MindSphere(独シーメンス)」らに対抗する国産IoTプラットフォームだ。日立がLumadaを国内外で戦えるようにするために取った戦略のひとつが、オープンソースのプログラミングツール「Node-RED」の採用だ。Node-REDの採用は、ユーザーオリエンテッドなIoT開発の起爆剤となりそうだ。

PAGE TOP