6/6 SNS連携:S/4HANA, Vora & Spark on AWSから生まれる価値

 2016.07.29  リアルテックジャパン

SNSの普及

電車に乗ってふと周りを眺めるとLINEやTwitterなどをしている人を多く見かけます。人が情報をキャッチするツールとして、SNSは普及していると言っていいでしょう。筆者も最近、チーム内で試験的に使っていますが非常に便利です。

今回は、AWS Lambda(「ラムダ」と読みます)を使ったSNS連携について解説をします。

なお本記事は、下記シリーズ記事の一部で、他記事も参照されることをお勧めします。

 
「theGuard! SmartChange Transport Management」 導入
SAPシステムパフォーマンス分析パック

フィードバックが重要

今まで「S/4HANA, Vora & Spark on AWSから生まれる価値」のシリーズの中で、現実世界の情報を収集・蓄積・分析してきました。そして最後に現実世界にフィードバックすることで、(自動化を含めて)素早く精度の高いアクションへと繋げることができます。

現実世界から情報を収集して、最後にフィードバックするサイクルをCPS(Cyber Physical System)と呼びます。詳しくは、「情報経済小委員会 中間取りまとめ報告書について」を参照ください。今回のシナリオにおける当記事の内容は、「フィードバック」の処理です(下図赤枠部分)。

Process5 Feedback.jpg

AWS Lambdaを使ったフィードバック

下図の流れでSNSに対してフィードバックを行います。

Feedback via SNS.jpg

上記のAWS Lambdaとはサーバレスなコード(プログラム)です。実際に使用したコンピューティング時間に対してのみ料金が発生します(詳細はリンク先動画を参照ください)。

今回はAWS Lambdaが重要な役割を果たしています。今回の検証シナリオのように小さなサービス(マイクロサービス)を連携すると、それぞれのつなぎの部分が大きな留意点となります。AWSの標準サービスでシームレスにつながっている部分もありますが、それだけでは賄えない点も出てしまいます。賄えなかった時に柔軟な対応をするのがAWS Lambdaです。「AWS IoTで異常閾値を超える値をデバイスから受け取った場合に実行する」のように、AWSサービスと連携した内容であればコードレスに起動することができます。Java等の新たな基盤を構築することなしに、少ない手間で柔軟な機能を実装できるのが、AWS Lambdaの魅力的な点です。

設定手順

今回はAmazon S3からSNS(Slcak)までの連携手順を紹介します(Spark部分は省略します)。

SNS(Slack)設定

SlackでLambdaから連携可能なように設定します。Slackはチームコミュニケーションアプリで、リンク先記事にわかりやすい解説があります。基本的には公式ドキュメントに従ってIncoming Webhookの設定をして、新しいチャネルを作るだけです。今回はSlackを使用しましたが、他のツールでも似たような設定になるはずです。

AWS Lambda開発

SNS(Slack)設定の後は、AWS Lambdaの開発です。まず、AWS LambdaのFunctionを登録をします。

Lambda 01 Create.jpg

次にblueprint(テンプレートとなる青写真)を選択します。試しに「S3」で検索すると、以下のようにS3に関連したblueprintが選択できます。blueprintを選択すると、ベースとなるコード(例えばS3の書き込まれたファイル名取得)が最初から記述された状態で生成されます。

Lambda 02 Select blueprint.jpg

そして、起動のトリガーを設定します。今回はAmazon S3への書込をトリガとしています。

Lambda 03 Configure triggers.jpg

あとは、言語(ランタイム)がコードの記述です。Node.js 4.3を選びました。コード上でJSON形式のPayloadをHTTP Bodyに付加してSlackに投げます。

Lambda 04 Configure function.jpg

試しにAmazon S3にファイルを置くとSlackにメッセージが来ることを確認できました。コーディングを追加することでメッセージ内容などを細かく設定できます

Lambda 05 Test.jpg

今回の検証評価

当記事の冒頭で記載した3つの評価項目について書いていきます。
1. 現実世界の情報を収集・蓄積・分析・フィードバックという管理サイクルがシームレスに実施できること。

シリーズ全体を通じて、収集・蓄積した情報を分析し、現実世界にフィードバックできることを実証しました。現実世界とシステムがシームレスに連携することにより好循環のサイクルを実現しています。
 

2. ERPおよびビッグデータを併せてリアルタイムに分析・機械学習が可能なこと。

S/4 HANAとビッグデータの情報を素早く「抽出・統合できることを示しました。一般に遅いといわれるビッグデータの抽出は、HANA Voraを使うことで10億件に対して5秒以下で抽出できています。そして、抽出・統合した情報をSAP BusinessObjectsを使って 「機械学習」・「見える化」も実施しています。

3. 基盤およびサービス構築の早さおよび、その柔軟性・拡張性が担保されていること。

AWSならではのサービス特性を活用することで、短期間で高品質な環境構築を実施しました。アプリケーションレベルの疎通確認までを約1週間で完了しています。特にSparkとSAP HANA Voraに関しては、検証段階に応じてノード数や各種リソースを迅速かつ柔軟に変更できたことで、検証作業の効率化に寄与しました。また、それぞれのサービスが独立性を維持しつつ、連携性が高いことも魅力的です。

生まれる価値

「S/4HANA, Vora & Spark on AWSから生まれる価値」というシリーズも今回で最終回です。AWSやSparkなどSAP ERPに特化した技術者の方には、新鮮に感じたかもしれません。
ERPは企業システムの基盤として重要です。業務標準化や効率化といった目的に一定の寄与をしますが、ERP単体で差別化やイノベーションの源泉になり得ません。激しい社会変化や競争の中で勝ち残るために、差別化であったり意思決定といった点で新しい価値を生み出す仕組が必要です。今回は、その仕組としてS/4HANA, HANA Voraを中心に据えて、AWSの各種サービスを活用する形で例示しました。現実世界の心臓ペースメーカーの情報をデジタル化し、ERPと統合して新しい需要予測をしてみました。そして、システム上で完結させずに現実世界へのフィードバックを実現しています。新しい価値に挑戦するために、当内容をスモールスタート・連携性・柔軟性・拡張性等の評価で参考にして頂ければ幸いです。

長いシリーズを最後までお読み頂きありがとうございました。
最後にこのような貴重な機会を賜りましたこと、アマゾンウェブサービスジャパン株式会社様にはこの場を借りて改めてお礼申し上げます。

SAPユーザのための 『S/4HANA』データ移行

RECENT POST「S/4HANA」の最新記事


この記事が気に入ったらいいねしよう!
Archive Migration Service (アーカイブ移行リモートサービス)
オフィシャル採用ブログ『RTFrontier』はこちらから!

RANKING人気資料ランキング

RECENT POST 最新記事

RANKING人気記事ランキング

ブログ購読のお申込み