Gravio基本機能4 ~様々なサービスとの接続編~
IoTというワードはすでに一般化し、今や電車の釣り広告でも“IoTマンション”と記載されるレベルにまでなってきました。法人、個人を問わず、様々なシチュエーションにおいてデータを収集して広く活用したい、というニーズはIoTに対応したさまざまな機器の普及からもみてとれるように、さらに広がっていくことでしょう。
そのような機器の増加に伴い、異なるシステム同士でのデータの接続に対する要望は今後ますます増加していくと考えられます。たとえば、小売業におけるデータ活用例をみてみましょう。センサーを利用して、店舗への来客数を取得し、そのデータに対してさまざまな他のシステムが持ちうるデータ群を組み合わせていくことで、データは新たな意味を持つことになります。その日の天候や周囲でのイベントやキャンペーンの有無、店舗周辺の交通状況、駐車場の利用率、休祭日などの暦情報、実店舗内の商品の在庫数と発注数、そして売上など。多種多様なデータを接続し活用することで、それらのデータは更に輝きを増していきます。また、このようなデータ活用を促進するためのプラットフォーム、たとえば“個客”のマネジメントシステムや異なるシステム間を連携させるソフトウェア(弊社のASTERIA WarpなどEAIと呼ばれるソリューションが該当します)などはその機能や接続性を日々向上させることで、ビジネスの円滑な遂行と顧客満足度の向上を実現しています。
話がちょっと大きくなりましたが、ここで改めて重要となるのは、データの接続に関する考え方と取り回し・使い回し(利便性)です。
接続に際して、仕組みがシンプルであること、業界標準のテクノロジーを利用すること、接続を簡単に行えること、データの流れが可視化できること、このあたりを充分に検討する必要があります。言い換えれば、外部接続性を念頭に置いたシステムの設計が重要になります。
システムがシンプルで、単一のデータを単一のシステムにつなぐだけであれば、簡単なプログラムを作成することでも事は足りますが、データの種類が複数に渡り、また、接続先となるシステムも複数になる場合、データ接続の難易度が加速度的に上昇していくことも多いのです。なぜならば、それぞれのサービス、データに対して、それぞれの“お作法”が存在するからです。新しいサービスが次々に提供される現在のIT環境において、多様なシステムへの接続性の担保はキーとなります。
その、 “お作法”の問題として、わかりやすい例をいくつか取り上げてみると、データの送受信方法の定義、データの配列(順番)、接続に関する認証(トークンなど)など、標準化されていないところが多く、結果、多数の“違い”が存在します。また、それぞれのシステムやデータにおいて“お作法が違うだけではなく、お行儀がよくないものもある”ということも散見されます。その“お作法”や“お行儀”を一つ一つプログラミングで解決しようとすると、全体のデータの流れ、処理が複雑となり、結果、システムがブラックボックス化してしまうことが多く、実際、IoTの実装においても同様の問題が発生しています。これはプログラミングと実装法が一般化していないものが多いPoCを行なう場合などで良く出る問題ですが、プロジェクトの開始時には技術者がニーズに合わせてオリジナルのコードを書いて(チカラワザで)実装しても、そのデータを活用するのは現場のメンバーで、結局、運用を含め面倒を見ることになることは多いものです。そのような環境で、技術者が作成したオリジナルのプログラムで動いているIoTのサービスが問題をおこしたとき、現場の運用メンバーが都度修正を行なうのは決して簡単ではありません。
データをシンプルに、わかりやすく接続し、高い取り回し性を保つため、Gravioはその重要性を下記のような形で実装しています。
1:基本機能・HTTPおよびMQTTによる接続
基本機能として、比較的安易に利用可能、かつ一般的なHTTPリクエストと、IoTにおいて良く利用されるMQTTによる接続をノーコードで簡単に利用出来るようにしています。
2:追加機能・Amazon Polly とSlack への接続
追加機能として、センサーデータの利活用を更に簡単に体験いただくために、AmazonPollyを利用した音声出力や、Slackを利用したメッセージングを行なう際のテンプレート的なアイコンセットが用意されています。実行したい動作をアイコンで接続し、必要なパラメーター(ID、セキュリティートークンなど)を入れ、喋る内容もしくはメッセージングする内容を入れておくだけで、動作を設計できます。
3:ファイルを利用するデータの提供
Gravioは、エッジ側でセンサーデータを蓄積しています。したがって、そのデータの出力などもアイコンベースの簡単な設定によって、スピーディにファイルの作成をエッジ上で行なえます。現時点ではGravioはJSON形式のファイル出力に対応しています。別途ご紹介させていただきますが、Gravioに実装されているタイマートリガー機能などと併用することで、決められたタイミングで必要なデータを出力します。この機能を活用することで、ファイルを用いたデータ連携を簡単に行なえます。
あとがき
データの“お作法”と“お行儀”は多くのIoTソリューションで処理しきれない場合も多く存在します。オリジナルや古いシステムとデータを接続しようとするとこの問題は顕著です。こういった場合、EAIと呼ばれるシステム・データ連携ツールとの組み合わせを活用することは一つの方法です。その節は弊社ASTERIA Warpを是非ご検討下さい。