SAP Leonardo IoTの概要を紹介する

スポンサーリンク

2018年からドイツのビーレフェルトでIoTに関連した仕事をしております。

出向先ではSAPを生業にしているということもあり、現地のボスがLeonardoの研修を受けてこいということで、 SAP Leonardo Foundationの研修を3日間受けてきました。

今回の記事はSAPド素人の自身の理解を整理しつつ、SAPを使ったことがない方でもSAP Leonardo IoTとはなんぞやということを理解できるよう記事にしたいと思います。

そもそもSAPとは

まずそもそもSAPって聞いたことあるけどなんでしょうという方も多いのではないでしょうか。

SAPはドイツのWalldorf(ヴォルドルフ)に本社があり、SAP ERPなどのソフトウェアを提供している会社です。
どこかでHanaというワードは聞いたことがあるでしょう。フォーチューン500(アメリカ上位500社)のうち80%がなにかしらSAPの製品を入れているというくらいメジャーなソフトウェア会社です。

今まで業務で携わってなかったからか、日本ではSAPが強いというのをそれほど意識していなかったのですが、ドイツに来てからは、特に欧州でSAPの強さを感じます。

SAPがとてもメジャーなのでSAPコンサルティングも色んな企業が力を入れています。

さて、それではSAP Leonardoにはいります。

SAP Leonardo

今まで私はLeonardo = IoTソリューション というイメージを持っていたのですがそれは違います。

https://blogs.sap.com/wp-content/uploads/2017/05/Screen-Shot-2017-05-17-at-5.21.28-PM.png

LeonardoはSAPのデジタル関連ソリューション郡であり、IoTはSAP Leonardoの一つのソリューションになります。

次に、SAP Leonardo IoTはどのようなサービスから構成されているのかを説明します。

https://blogs.sap.com/wp-content/uploads/2017/07/Architecture-1.png

SAP Leonardo Edge Computingはエッジと名前が付いている通り、On-premise等に用意するエッジ側のソリューションです。製造現場などのデバイスからのセンサーデータは、エッジ(ゲートウェイ)を経由してSAP Cloud Platfromに送ります。ゲートウェイにはWindowsやLinuxなどを用意し、ここにインストールできるのがSAP Leonardo Edge Computing郡です。

IoTの世界では大量のデバイスがインターネットに接続され、大量のデータがクラウドに送られます。しかし、エッジからデータをクラウドに送って、クラウド側で何か処理してエッジに戻す時間を許容出来ない場合はエッジ側で処理します。そのためのソフトウェアです。
ちなみにSAP Leonardo Edge Computing郡のソフトウェアをインストールしなくてもセンサデータをクラウドに送ることはできます。

IoT Gatewayから送るセンサーデータはクラウド側のIoT Serviceで処理します。
IoT Serviceはセンサーの型のようなものを定義します。また、センサーが持っているCapabilityと言われる温度とか、気圧とか、湿度とかのセンサ情報が何かを定義します。
また、センサーデータを送るデバイスもIoT Serviceで管理します。
IoT Serviceで受信したデータはApplication Enablementに送られます。

Application EnablementはInternet of ThingsのThing(Capabilityを多数持つセンサのまとまり)をモデリングする場所になります。
ここでどれだけ正規化して定義ができるかがキモとなりそうです。
IoT Serviceから転送されたデータはApplication Enablementを通じて、Databaseにデータが保存されます。
Databaseについては自身で設定する箇所はありません。SPA Cloud Foundryの中で自動で設定されます。
内部の構造としてHot、Warm、Coldの三種類あり、データの古さなどによって保存されるデータベースが異なります。

Database
Hot SAP Hana
Warm Apache Cassandra, VORA(将来)
Cold AWS S3, SWIFT(将来的)

また、S/4 Hanaなどのビジネススイートなどと連携する場合もApplication Enablementと連携します。

SAP Leonardo BridgeはSAPがPredefineしたアプリケーションセット郡です。
用途に応じて様々なアプリケーションセット郡があります。

SAP Leonardo Bridgeを使わず自身でアプリケーションを作成することも可能です。 これを手助けしてくれるのがSAP UI5です。

SAP UI 5はユーザーが使用するUI画面を作成するアプリケーションです。
コーディングせず、すでに用意されているテンプレートから選択してアプリケーションを作成することもできますし、 フルスクラッチで自分でコーディングすることもできます。その場合はローカルの環境で構築して、SAP Cloud Foundryにアップロードするような形になります。

さて、ここまでがSAP Leonardo IoTの説明です。
次は実際は実際の画面を紹介してイメージを掴んでいただこうと思います。
ただ残念ながら、SAP Leonardo IoTはCloud Foundryの方ではトライアル版がありません。今回は研修に参加した環境の画面を紹介します。

SAP Leonardo IoTのConfig画面

Edge Service

Edge ServiceではIoT Serviceで定義したCapability毎にセンサープロファイルを定義します。

f:id:hayato320:20180303154125p:plain

IoT Service

ここではどのようなセンサータイプがあり、そのセンサーがどんなCapability(温度とか、気圧とか、湿度とかのセンサ情報)を持つかを定義します。
f:id:hayato320:20180407152729p:plain

Application Enablement

ここでは"Thing"をモデリングします。
このモデリングは個人的には理解が難しいです。

IoT Serviceとは同じものを指していても名前が異なっているので、マッピングが分かりづらいです。
f:id:hayato320:20180407152249p:plain

SAP UI5

SAP UI5はSAP Leonardo IoTだけでなく他のSAPのサービスにも使われているものです。
XHTMLとnode.jsで構成されています。
SAPから提供されているライブラリをたくさん使いますが、IoTに関連する部分は用意されているドキュメントが少ないです。
ここはSAPに本当に頑張って欲しいです。

f:id:hayato320:20180407153411p:plain

まとめ

さて、今回はSAP Leonardo IoTを簡単に紹介しました。
SAP Leonardo IoTはSAP Leonardoで提供されるソリューションの一部であり、Edge, IoT Service, Application Enablement, SAP Leonardo Bridgeで構成されていることを紹介しました。
次回はもう少しDeep Diveしていき、SAP Leonardo IoTを理解していきたいと思います。