SAP Cloud Platform Leonardo IoTとSAP Cloud Platform Internet of Things for the Cloud Foundry Environment


*この記事はSAP Leonardo IoTとSAP Cloud Platform Internet of Things for the Cloud Foundry Environmentについての解説です。Neoのサービスを解説したものでは無いことにご注意ください。

 

 こんにちは、SAPジャパンの境です。
 今回はSAP Cloud Platform Cloud FoundryのSAP Leonardo IoT(以下Leonardo IoT)とSAP Cloud Platform Internet of Things for the Cloud Foundry Environment(以下IoT Service)について取り上げたいと思います。

 

違い

 さて、名称が似通っているこの2つのサービスですが、何が違うのでしょうか?
こちらの図を御覧ください。これはLeonardo IoTのアーキテクチャを示したものになります。
Leonardo IoT Archtecture

Leonardo IoT Archtecture

 赤線囲み部分がLeonardo IoTを示し、青線囲み部分が IoT Serviceを示します。コンポーネントを繋ぐ線に注目してください。デバイス(及び他クラウド)から出ている線はIoT ServiceとEdge Serviceを介してLeonardo IoTに接続するようになっています。つまりLeonardo IoTがデバイス(センサー)あるいは他クラウドからデータを受け取る上ではIoT Serviceは必須のサービスになります。IoT Serviceはデータの受ける”口”として単体で使用することが可能ですが、Leonardo IoTはIoT ServiceあるいはEdge Serviceとの併用が必要となります。

 

SAP Internet of Things for the Cloud Foundry Environment

 IoT ServiceはIoTデータから見た場合、デバイスから受信したデータを指定したエンドポイントに転送、あるいはデータベースに保存という役割を担います。指定したエンドポイントの一つがLeonardo IoTという位置づけです。

 

SAP Leonardo IoT

 Leonardo IoTはIoT Service(及び他のクラウドサービス)から転送されてきたIoTデータの処理を行います。転送されてくるデータに対して
・データ保管
・ストリームデータ分析
・事前設定したルールに照らし、合致したらイベント発生(ストリーム及び蓄積したデータが対象)
・アクション
という動作を行います。アクションとして他アプリとの連携を行わせることが可能です。

 

役割の例

 例えばタンクに入った燃料の量の常時監視を行い、減ってきたら自動的に発注、補充されたら受領処理を自動で行うというシステムに当てはめた場合、下記のような役割分担となります。
leo_arch2
ビジネスロジック的な部分はLeonardo IoTが担います。もちろんこの部分はSAP Cloud Platformの機能と連携させることができます。Integration ServiceのiFlowと連携させることでSAP S/4HANAとの連携も容易になりますし、機械学習系の機能と連携させれば即発注せず最適なタイミングで発注を行う等が可能です。

 

他クラウドのIoTサービスとの接続

 IoT Serviceはデバイスからのデータを受け付けるエンドポイントを用意するサービスですが、他のクラウドサービスが提供しているIoTサービスのデータを受け付けることができます。こちらは現在Amazon Web ServiceのAWS IoT Core、Microsoft AzureのAzure IoT Hubに対応しています。当然受け付けたデータをLeonardo IoTに転送することもできますので現在他のクラウドサービスで動作させているIoTサービスをSAP Leonardoの力でビジネスに繋げることができます。

 

データモデルの取り扱いの違い

 双方ともに取り扱うデータをモデル化して扱いますが、デバイスからのデータを扱うIoT Serviceとそれだけではない他のクラウドサービスからのデータも取り扱うLeonardo IoTではそのモデリングの概念が異なります。これはDevice ModelとThing Modelと呼ばれ、IoT Serviceではデバイス単位でモデリングするDevice Model、Leonardo IoTではモノとしてモデリングするThing Modelを採用しています。
 対象を車として車に取りつけたセンサーで考えてみます。Device Modelでは”車種毎”のモデリングであるのに対し、Thing Modelでは”車”というモノとしてモデリングし、その中で共通となる項目のグループと車種などによって異なる項目のグループを作成し、車種ごとに割り当てるという考え方です。簡単に図にすると以下になります。
leo_arch3
 分析対象となるデータの中には車種が違ったとしても共通のデータとして串刺しで分析したい項目というのが存在します。例えば車の稼働時間や移動距離などが該当するでしょうか?同型のエンジンを搭載している多数の車種があるのであればそのエンジンのデータも串刺しで見たいというニーズもあるかもしれません。IoTに限らずビッグデータではビジネス上のニーズは機種・デバイス等小さい単位ではなくもっと大きな単位で見たいという要件のほうが多いのではないでしょうか?
 Device Modelの考え方ではこのニーズに対し、データベース上の作業で各車種のデータの連結を行いデータを作成・抽出することになるのですが、Thing Modelの考え方では項目グループ内の1つの項目として取り出すことができます。
 IoT ServiceからLeonardo IoTの連携時はIoT Serviceで定義したDevice ModelとLeonardo IoTで定義したThing Modelで項目のマッピングを行います。
 この2つの考え方はどちらが良いというものではありません。双方とも一長一短の部分があります。SAPではビジネス上でより使いやすくするために異なったモデルを採用しています。

 

まとめ

 IoT Serviceでは”デバイスデータ”としてデバイス毎に管理しやすい形で扱うのに対し、Leonardo IoTでは”ビジネスデータ”としてビジネスに使える形、分析しやすい形でデータを扱うというのが特徴です。貯まったデータを分析するだけではIoTはもったいないです。SAP Leonardoでビジネスプロセスの中にIoTを組みこむことを考えてみてください。