aki.Saitoのブログ

SAP、IT関連が中心のブログ(Twitter @AkiSai14)

SAP社のノーコードハッカソン(Internal版)に参加してみた

この記事は、chillSAP 夏の自由研究2022 の記事として投稿しています。

はじめに

今年の夏の自由研究は何について書こうか迷ったのですが、
昨年は「ノーコード・ローコードとSAP」というテーマで書いていたのを思い出し、
今回もノーコード関連でいきたいと思います。

昨年のこちらのブログを書いていた時はSAPのパートナー会社に所属していたのですが2021年10月に転職して現在はSAP社に所属しています。
たまたま今年の3月にSAPの社員向けにノーコードハッカソンがあり、これはと思い参加してみましたのでそのことについて書いていきます。

ノーコード・ローコードの概要やSAP社が提供するツールは以下のブログで紹介していますのでご覧いただければと思います。
akisai14.hatenablog.com

目次

SAP社のノーコードハッカソン(Internal版)について

2022年2~3月にSAPの社員向けイベントとしてノーコードハッカソンがありました。
イベントの詳細は社内イベントなので割愛しますが、
ノーコードソリューション「SAP AppGyver」を用いてオリジナルのアプリを開発に挑戦してみようというものでした。
参加者はSAP AppGyverの開発者ではなく、営業の方や私のようにERPなどの技術者側でノーコードツールは初見の方が多かったように思います。

参加した理由・モチベーション

ハッカソンに参加した理由は、
 - ノーコードアプリ作りは楽しそう!
 - 動くアプリを作ってみたい!
 - SAP HANA Cloud や CAP を使ってみたい!

というのが表向きで、参加賞・優秀賞のSAPグッズ欲しさに参加しました。
(SAPに入りたてなので)

また、前職の頃に社内の勉強会のような取り組みでノーコードに関して調べたこともあり、懐かしかったのもあります。

作ったアプリについて

ハッカソンのテーマはほぼ自由とのことでした。
ちょうど同じ時期に SAP Inside Track Tokyo 2022 が開催されていて、私も運営側(トラックオーナー)として参加していたので、宣伝兼ねてイベントガイドのアプリに決めました。

1つのアプリからイベントスケジュールやセッション情報、Twitterなど色々なコンテンツにアクセスできると良いなと思い、 アプリにはイベント参加者側目線であったらいいなを詰め込んでみました!

アプリ概要

アプリdemo

www.youtube.com ※音声、テロップなしですみません💦

アーキテクチャ

各機能の作り方についてはこちらのブログで紹介しています(宣伝)
SAP AppGyverで作る SIT イベントガイドアプリ
1.全体概要・準備・SAP AppGyverでのアプリ作成(画面遷移・データ参照)
2.SAP AppGyverでのアプリ作成(データ登録)
3.チャットボット機能の導入(今後公開予定)


チャットボット機能はSAP Conversational AIを使用していますが、 こちらのソリューションは SAP Inside Track 2021 で私が概要編の説明をさせていただきました。
この時点ではSAP社に入るなんて全く考えてもいなかったのでなんだか不思議な感覚です。

その時の資料(Slideshare) :
sitTokyo 2021 SAPのチャットボット SAP Conversational AI を使ってみよう!

参加者ブログ:
SIT Tokyo 2021 Day 3 INT Track – from the back yard view | SAP Blogs

ハッカソンの結果は!?

ハッカソンの選考は2部門あり、「アイディア部門」と「技術部門」に分かれていました。
私は色々な機能を詰め込んでみたので技術部門でエントリー。
一次審査(予選)は書類選考、本選はプレゼンして投票で結果が決まるとのことでした。

一次審査の書類選考ではアプリのプレゼン資料を作成して提出しました。
⇒無事パスしました!
 この時点では実は1/3くらいハリボテだったので、本選に向けて夜な夜な作っていました。

本選ではアプリの説明とライブデモをやりました。
私がトリでプレゼンだったのですが、1人目のプレゼンが始まる前にチャットボット機能がうまく動かいない問題が発生してかなり焦っていました・・・
スマホアプリの再インストール等でなんとか動くようになり、なんとかプレゼンでデモすることができました!

その結果、技術部門でWinnerを獲得できました!

参加者みなさんの出来が良かったので予想していませんでしたが、本当に嬉しかったです。
SAPロゴ入りテディベアももらい、家に飾っています。

パートナー向けノーコードハッカソンの開催

社員向けのハッカソン後、パートナーさん向けのノーコードハッカソンも開催されました。 参加者に知っているお名前もちらほらいらっしゃり、始まる前はワクワク、終わってからはスゲー!と思っていました。

パートナーさん向けのノーコードハッカソンについてはこちらにも記事がありますのでご覧ください。

news.sap.com

さいごに

私はWebアプリやスマホアプリの作成経験がありませんが、簡単にアプリ作成ができますのでオススメです。
SAPソリューションとの連携強化がなされてきていますのでまた色々お試ししてみたいです。

親子で Snap! やってみた!

この記事は SAP Advent Calendar 2021 の12月12日分の記事として執筆しています。

adventar.org

みなさん、 Snap! ってご存知でしょうか?
SM〇Pではないですよ!

Snap!はビジュアルプログラミングのツールです。
昨年から小学校でプログラミングが必修化されたことと
今日(12/12)親子でSnap!を体験するイベントがあり、参加してきましたので記事にしてみたいと思います。


Snap!について

まずは " Snap! " について簡単に紹介します。
Snap! (スナップ)はカリフォルニア大学バークレー校から無料で提供されているビジュアルプログラミングツールです。
このツールはSAPの開発者 Jens Mönig が開発したものとなります。
SAPは色々な製品を出してますがまさかビジュアルプログラミングまで扱っているとは思いませんでした。

残念ながらタブレットはサポートされていませんが、PCとブラウザーだけあれば使えます。
言語も45種類をサポートしていて、日本語は「漢字を含むもの」と「ひらがなだけ」を選ぶことができました。
うちの子は小学1年生でまだあまり漢字が読めないので、うれしい機能です。

ちなみに openSAP には2つもコースが公開されています。
いろいろな面白機能を紹介してたり、インストラクター向けのコースもあり楽しかったです!
f:id:akisai14:20211210223047p:plain

Whats Newはマスコットキャラクターが説明してくれました。 f:id:akisai14:20211210224050p:plain


Snap!の始め方

Snap!の始め方はとても簡単でした。 Snap!のサイトにアクセスして、" Run Snap! Now "をクリックします。

Snap! Build Your Own Blocks

f:id:akisai14:20211210230122p:plain

そうするともうプログラミング画面になります。
最初は英語で表示されるので日本語(ひらがな)に変更します。

プログラミング画面で日本語にするとこんな感じに変わります。
f:id:akisai14:20211210225406p:plain

筆マークをクリックすると絵を描くキャンバスが開きます。
f:id:akisai14:20211211225159p:plain

こんな感じで絵を描けます。
また、図を回転させる際の中心点を設定することもできます。
f:id:akisai14:20211211225514p:plain

動きや見た目、制御については、左上のカテゴリから種類を選び、
ボックスをドラッグアンドドロップすることで使うことができます。
f:id:akisai14:20211211225827p:plain

今回作ったものは、旗のマークをクリックすると花が咲くものです。 f:id:akisai14:20211211231222p:plain

保存については、クラウド(Snap!)上に保存することも
自分のPCに保存することもできます。 f:id:akisai14:20211211225959p:plain


親子でやってみた

体験会では教えてくれる方1名に対して親子2組で、それぞれ絵を描いて動かしてみました。
子供にとってはマウス操作が難しそうでしたが、「15どまわす」など見た目で分かりやすいボックスを組み合わせていくので直感的にできてました。ただ、繰り返し処理のところはまだ難しかったかな・・・

うちの子が描いた花びらはこんな感じでした。
ペンタブなんかがあると子供でも書きやすかったかもしれません。
f:id:akisai14:20211212112913p:plain

こんな感じのスクリプトで右側の絵が描けました。
f:id:akisai14:20211212113213p:plain

そして最終的にはこんな感じに・・・ f:id:akisai14:20211212113321p:plain

カラフルな花を50個描くのですが、どんどんキャンバスが埋まっていくので子供は爆笑してました。笑

やってみた感想

まだ合計数時間しかいじってないですが、触ってみた感想です。

  • 最初にSnap!のサイトで最初に思ったことは、日本語対応していないのか??でした。
    サイト自体は日本語を表示できないようですがプログラミング画面では日本語を表示できました。
     ※所々、英語表記のままの箇所もありますが。

  • 小学1年生でも少し教えたらすぐに理解できる作りで、色々実験したがってました。
    子供の想像力・創造力を培うのに良いと思いました。

  • マウス操作が難しいのでタブレットでもできるようになれば良いですね。

  • 予想以上に凝ったものが作れます。Snap!のトップページには一般の方が作った作品が並んでいますが、こんなの作れるのか!?と思うようなものばかりでした。
    f:id:akisai14:20211212120145p:plain

おわりに

今回は(も?)技術系ではなく、ビジュアルプログラミングについて書いてみました。
Snap!はゲームや順番を決めるアプリのようなものも作れるようなので、またいろいろ実験してみたいです。
SAPのコミュニティメンバーでお子さんがいらっしゃる方も多いと思うので、SAPコミュニティで体験会をやってみても面白そうだなと思いました。(もちろんお子さんじゃなくても)

SAP AppGyverとES5を連携しようとして苦戦した話

この記事は SAP Advent Calendar 2021 の12月11日分の記事として執筆しています。

adventar.org

今回のSAPアドベントカレンダーや最近のSNSの投稿を見ていると
SAPが今年買収した " AppGyver " 含め、ノーコードツールネタが多いですね。

私も12月2日にmonstconciergeさんが投稿した
AppSheetで爆速SAPアプリ開発」をやってみました。
AppSheetでのアプリ開発は本当に簡単で10分弱で出来上がりました!

すごいなーと思いつつ、そこで気になったのが
「AppGyverだとどのくらいかかるのか?? 」
画面作成をしないといけないことは分かるけど、
リストを使えばそんなにかからない?
いろいろ分からないことが多かったので試してみました。

そしてうまくいきませんでした・・・
同じように迷う人がいるかもと思ったのと自身の備忘のために記事にしてみました。

また、前提として、私はODataやAPIについては初心者であまり分かっていないです。
ですので、解決方法などあればぜひアドバイスいただければと思います。


やりたいこと

  • AppGyverで製品一覧のリスト表示するアプリを作成する
  • 製品一覧はSAP Gateway Demo System(ES5) からODataで取得する
    f:id:akisai14:20211211220600p:plain

※SAP Gateway Demo System(ES5)についてはこちらを参照ください。

developers.sap.com

やってみたこと

  1. AppGyverでNewAppを作成します f:id:akisai14:20211211181703p:plain

  2. OData連携するためにDATAをクリック f:id:akisai14:20211211181831p:plain

  3. [ ADD DATA RESOURCE ] > [ OData Integration ] をクリック f:id:akisai14:20211211182115p:plain

  4. [ Base API URL ] に以下を入力して [ VERIFY URL ] をクリック

https://sapes5.sapdevcenter.com/sap/opu/odata/IWBEP/GWSAMPLE_BASIC

f:id:akisai14:20211211182550p:plain

その結果、以下のメッセージが出て先に進めませんでした・・・

The entered URL is not recognized as a valid OData service metadata.

調べたこと

エラーの原因調査として以下のことを調べました。

  • ODataのURLの確認 https://sapes5.sapdevcenter.com/sap/opu/odata/IWBEP/GWSAMPLE_BASIC
    が正しいか確認するためブラウザで直接開いてURLが正しいことを確認しました。
    ※URLに「$metadata」を付けることで中身のデータを確認できることを知りました。
    f:id:akisai14:20211211211705p:plain

  • SAP以外(ES5以外)のODataのURLを試してみる
     TripPin ServiceというサンプルサービスのURLを試したところ、成功しました!
     " OData version:4.0 "と表示されており、バージョンの問題?と思いました。
    f:id:akisai14:20211211212316p:plain

  • ES5のOData versionを確認する
     OData versionの確認方法をググり、
     ES5にログインしてこちらのトランザクションコードを実行しました。
      - /IWFND/V4_ADMIN (V4向け)
      - /IWFND/MAINT_SERVICE (V2向け)
     こちらのトランザクションコードでは、権限がなくてアクセスできず・・・
    f:id:akisai14:20211211213445p:plain

  - /n/iwfnd/gw_client
 こちらのトランザクションコードを開き、
 [ Request URI ] にURLと[ $metadata ]を加えて実行することで
 バージョンを確認することができました。 f:id:akisai14:20211211214342p:plain

  • AppGyverがサポートしているOData versionを確認する
     公式サイトではサポートしているOData versionを確認できなかったのでコミュニティを確認しました。
     AppGyverは買収したばかりだからかSAP Communityには情報が少なく、AppGyverのコミュニティを確認しました。
     f:id:akisai14:20211211214640p:plain

 コミュニティ内のQAのやりとりで発見したコメントがこちら。

For oData v2 by default service returns atompub XML which AppGyver cannot decode.
The real issue is that AppGyver couldn’t recognize $format=json parameter as well.
For oData v4 though it’s working fine as it returns JSON by default.

AppGyverはOData V2 は対応しておらず、 [ OData Integration ] の機能はES5で使えなそうだということが分かりました。

※一旦、調べたものはここまでです

おわりに

問題解決していないですが、自身の備忘と情報共有を兼ねてやったことと調べた内容を記事にしました。
別のやり方が何かしらあるのではと思いますので、いろいろ調べてみたいと思います。

また、AppGyverをはじめとするノーコード・ローコードツールは簡単にアプリケーションを作れますが、S/4HANAや他のAPIサービスと連携させたいと思ったらODataやAPIなどの知識が必要となってくることを改めて実感しました。
2022年の目標に「OData・APIを理解して使えるようにする」を入れたいと思います。

ノーコード・ローコードとSAP

※この記事は、chillSAP 夏の自由研究2021 の記事として投稿しています。

note.com


はじめに

2021年2月にSAPがAppGyver社というノーコード開発プラットフォームのパイオニアである会社を買収したとアナウンスがありました。
ノーコード・ローコードには興味があったのでまとめたいと思います。

SAPのAppGyver社買収に関するアナウンスについてはこちら news.sap.com


目次


そもそもノーコード・ローコードとは?

ノーコード・ローコードは、プログラミングの経験が少ない人、または全くない人でもドラッグアンドドロップなどの簡単な操作でWebアプリケーションを作成する開発方法です。

ノーコード開発、ノーコード開発プラットフォーム、
ローコード開発、ローコード開発プラットフォームとも言います。

ノーコード、ローコード、プロコード(従来のコーディング)の特徴をまとめると以下のようになります。

f:id:akisai14:20210822233323j:plain

以下は簡単ですがそれぞれの説明です。

ノーコード開発

ノーコード(No Code)はその名の通り、コーディング0でアプリ開発ができます。
あらかじめ用意されたパーツや仕組みを組み合わせるだけで構築できますのでIT屋さんではなくとも簡単にアプリケーションを作ることができます。

ローコード開発

ローコード(Low Code)は基本的にはコーディング0でアプリ開発ができますが追加でコーディングすることもできます。
ノーコードに比べて拡張性があることが多いです。

プロコード開発

ノーコード・ローコードに対して、従来のコーディング手法をプロコードと呼びます。
コーディングに関する知識や技術力が必要となりますが、自由度が高く、性能面でも最適化することができます。


ローコード・ノーコードの現状

近年、ローコード・ノーコードがトレンドになってきており、すでに導入されている企業も多いのではと思います。
Gartnerによるとローコード開発技術の市場は年々拡大傾向にあり、2021年も堅調な成長が続くと見られています。 以下は2021年2月にGartnerが公開した調査を行ったローコード開発技術の収益を表したグラフです。
特にローコード開発プラットフォーム(ローコードアプリケーションプラットフォーム)は約23%、金額にすると年間10億ドル以上も拡大する見込みであることが分かります。 f:id:akisai14:20210823001604j:plain

Gartner Forecasts Worldwide Low-Code Development Technologies Market to Grow 23% in 2021

また、導入目的を見てみると「ビジネス環境の変化への対応」を一番の目的としている企業が多く、コロナ禍の中、より短期間でより簡単にアプリケーションを導入できるツールの需要が高まっているようです。 f:id:akisai14:20210823002946p:plain

https://prtimes.jp/main/html/rd/p/000000160.000027677.html

ローコード市場におけるマジック・クアドラントを見てみると、数多くの有名企業とともにSAPのパートナーであるMedixもマーケットリーダのポジションにいます。 f:id:akisai14:20210823005138j:plain

SAPは2019年に出資したプロセス自動化ツールの「SAP Ruum」に続いての「AppGyver」買収となりますので今後マジック・クアドラントに入ってくるようなことはあるのでしょうか・・・?

※マジック・クアドラントについてはこちら


SAPのノーコード・ローコードツール

ここからはSAPの提供しているノーコード・ローコードツールについて紹介していこうと思います。
私が認識している範囲ですが、SAPは以下の3つのツール(ソリューション)を提供しています。

  • SAP Business Application Studio
  • SAP Ruum
  • AppGyver

SAP Business Application Studio

「SAP Business Application Studio」をノーコードツールと呼んで良いかは分かりませんが、1からコーディングしなくても良いほど開発をサポートする機能が備わっています。
「SAP Business Application Studio」はSAP Business Technology PlarformのCloud Foundry環境に用意されたCloudベースのIDE統合開発環境)です。

私自身あまり詳しくはないので紹介はここまでですが、SAPのブログなどでも紹介されていますので検索してみてください。

SAP Ruum

「SAP Ruum」は、SAP社が提供するノーコードで作成できるプロセス自動化ツールで、
元々はSAP社内のプロジェクトマネジメントとコラボレーションのために開発されました。
2020年のSAP TechEdで紹介され、ハンズオンも開催されました。
(そういえば私が初ハンズオン参加したセッションでした)

f:id:akisai14:20210823010630j:plain SAP Ruumがターゲットとしている主な領域は、特定の部門や拠点だけの処理や年1回のプロセスなどシステムのスコープ外となるようなプロセスです。

f:id:akisai14:20210823014606j:plain SAP Ruumの画面はプルダウンで選択するだけで入力フォームや結果表示の画面を作成することができます。
プロセスの実行状況を管理者が一元管理できるため、シャドーITを抑制できるとのことです。


AppGyver

SAPが買収したAppGyver社はフィンランドヘルシンキにある会社(従業員は18名)です。
AppGyverのソリューションはコーディングスキルを持たないユーザーでもWebアプリケーションやモバイルアプリケーションを構築できるノーコード開発プラットフォームです。
このソリューションは今後、SAP Business Technology Platformに含まれることになるそうです。
SAPはAppGyver社のソリューションをSAPのノーコード機能に加えることでワークフロー、フォーム、ロボティック・プロセス・オートメーション、軽量型ケース管理の開発の促進を目指しています。

AppGyverのサイト(https://www.appgyver.com/)を開くとこちらの画面が表示されます。
f:id:akisai14:20210824010234j:plain 開発できない側の人間にはかなりインパクトのあるページでした。


f:id:akisai14:20210824010602j:plain 全プラットフォームでというのはよく見かけますが、TVも含まれてるのは珍しいかなと。

AppGyverを触ってみた

無料トライアルがあったので触ってみました。
チュートリアルの数は少ないですが、動画付きで説明されているので分かりやすい印象でした。

こちらはアプリを作成する際の初期画面です。
真ん中にキャンバスがあり、編集画面=実際の画面になっているWYSIWYGエディター(見たままのものを実際に作成出力する)になっています。
左側に配置したいパーツのメニュー、右側にプロパティが表示されていて使いやすかったです。
Microsoft Power Appsに近い作りかなと思います。 f:id:akisai14:20210824011642p:plain


こちらはアプリの作成中画面です。
エディター自体は英語だけですがアプリ内は日本語もOKでした。
画面下部分にフロー図がありますが、ドラッグアンドドロップで処理のフローを作成することができます。 f:id:akisai14:20210824012415p:plain


面白いのが、PCで編集中のアプリをその場でスマホのアプリでも動かせることです。
「AppGyver Preview」というアプリで自分のID/PWを入力すると自分の作ったアプリが表示されPCで作成しながら実際にスマホで動作を確認することができました。
特にカメラやGPSと連動するアプリを作成する時には便利そうです。

こちらがスマホでの画面です。カメラとも簡単に連携できました。 f:id:akisai14:20210824025324j:plain

さいごに

今回はノーコード・ローコードの入門編をSAPと絡めてまとめました。
ノーコード・ローコードソリューションは多くのソフトウェアベンダーがリリースしており成長していく分野だと思いますので今後どう進化していくか楽しみです。

AppGyverについて、やっぱり自分が作ったものが動くのは楽しいですね。
今回、時間の都合でできませんでしたがSAP BTPやSAP HANAとの連携やGoogle Mapなど他のサービスとの連携もやってみたいです。

SAP Conversational AIとしゃべりたい

はじめに

※この記事は、SAP Advent Calendar 2020 の12/13分の記事として執筆しています。
今年、2020年の初め頃にブログを立ち上げ、5本ほど記事を書きましたが、すっかりご無沙汰となってしまいました・・・ 執筆を再開するためにもアドベントカレンダーに登録させていただきました。

さて、今回は何についての記事を書こうか悩んだ結果、SAPとしゃべりたいなーと思い
【SAP Conversational AI】 + 【音声アシスタント】
の組み合わせで色々試行錯誤してみました。

"当初"計画

しゃべらせるためには何が良いか調べてみたところ、日本語の滑らかさや料金(多少の処理量であれば無料)などの点からこちらの製品で試してみることにしました。

f:id:akisai14:20201212151945p:plain

こちらはその名のとおり、テキストを音声に変換したり、音声をテキストに変換するサービスでAPIなども充実していました。また、日本語もかなり流暢に話してくれます。

サンプルはこちら:

今回のブログ作成に向けた準備としては、SAPよりGoogle Cloudの方がドキュメントを読んだりチュートリアルをやったりで時間を費やした気がします。

構成のイメージ

f:id:akisai14:20201212162816p:plain

ここで先に謝っておきます。
この構成、完成してません。。。
Webアプリケーションに疎く、APIやWebhook、JSONは名前は知っていても使い方がさっぱりだったこともあり、 短期間での習熟が難しかったです。
そのため、この構成については今後の宿題として、今回はこれまでに調べたことを基に以下について書きたいと思います。

- GoogleがダメならAmazon (Alexa) で話してみる
- SAP Conversational AIのコネクタ機能

#GoogleがダメならAmazon (Alexa) で話してみる

Amazon(ショッピングの方)のブラックフライデーサイバーマンデーAmazon Echoシリーズが安くなってたので、「Amazon Echo Show 5」を購入しました。
購入の目的の半分はSAP Conversational AIで使いたかったためです。
ここでSAP Conversational AIとおしゃべりするまでの道のりを紹介したいと思います。 f:id:akisai14:20201213002209p:plain

1.Amazon Echoを購入・設置する

Amazon Echoシリーズはよくセールで割引になっているようなので買うタイミングを見計らった方が良いです。
我が家では音楽聴くのにも重宝しています。

2.SAP Conversational AIのチャットボットを作成する

Alexaは音声変換の機能でしか使用していないため、メインとなるチャットボットは
SAP Conversational AIで作成します。
チャットボットの作り方はチュートリアルやOpenSAP、日本語のブログなど参考にできるものがたくさんあり、基本的にノーコードで作成できるので初めてでもとっつきやすいのではと思います。
本ブログの最後で参考にしたリンクを紹介します。

3.Alexa向けコネクタの設定をする

  ※手順を載せているので少し長いです。

1.SAP Conversational AIにログインし、ConnectタブからAmazon Alexaを選びます。

f:id:akisai14:20201212015237p:plain

Amazon Alexa」をクリックすると下図のように手順が表示されるので、この手順に従って設定します。

f:id:akisai14:20201212015438p:plain

2.Amazon Developer account を作成する
Alexaと連携させるためには、Amazon Developer Consoleにログインする必要があります。以下のURLをクリックして、Amazon Developer account を作成します

Amazon Developer Sign-In

f:id:akisai14:20201212015747p:plain
create account

手順には以下の画面のように指示がありますが、私の場合、この画面が表示されず色々さまよいました。
結果から言って、何もしなくても大丈夫でした。どういうタイミングで表示されるのか分かりませんが、出たら「Allow」をクリックすればよいと思います。
f:id:akisai14:20201212015914p:plain

3.Alexaで会話を開始するためのインテントを追加する
追加のやり方は簡単で、Alexaでチャットボットと会話を始めるためにインテントを追加します。インテントの名称は決まっていて、「@CONVERSATION_START」を登録します。
また、expressionsには何も登録しなくて大丈夫です。 f:id:akisai14:20201212020638p:plain

4.「@CONVERSATION_START」をスキルを追加する
Alexaで呼び出したいスキルのトリガーに「@CONVERSATION_START」を追加します。
下図は挨拶のスキルに追加しています。
f:id:akisai14:20201212021053p:plain

5.会話の最後に完了フラグを追加する
会話の最後にAlexaでの会話を終了させるためのフラグを追加します。
Set Memory Fieldに「END_CONVERSATION」を登録します。 f:id:akisai14:20201212021514p:plain

6.SAP Conversational AIを呼び出すキーワード等を設定する
・Name
  Alexa developer console上に表示される名称(Nameの箇所)を登録します。
  デフォルトで一意の名称が表示されますが自由に変更できます。
・Invocation Name
  Alexaを起動した後にSAP Conversational AIとの会話に切り替えるキーワード
  (Invocation Name)を設定します。
  例えば、キーワードを「my chatbot」とした場合、「Alexa, my chatbot」と呼べば
  Amazon EchoでSAP Conversational AIと会話ができます。

f:id:akisai14:20201212023940p:plain

<困ったところ>
私が試したところ、Invocation Nameを日本語で入力すると「DEPLOY SKILL TO AMAZON ALEXA」ボタンをクリックしても何も返ってこない状態になりました。
Webブラウザのコンソールで見ると404のエラーが出ていました。
Localesで日本が選択できるので日本語に対応しているように見えますが、
実際は日本語には対応できていないのかもしれません・・・

これでSAP Conversational AI側の設定は完了です。
あとひと息です。

4.Amazon developer consoleでテストモードにする

Amazon developer consoleにログインし、作成したAlexaスキルを確認します。
作成したAlexaスキルをクリックして、テストタブを表示し、
「スキルテストが有効になっているステージ:」を「開発中」に変更します。
これでAlexaを経由してSAP Conversational AIと会話ができるようになります。

f:id:akisai14:20201212165116p:plain

5.しゃべってみよう!

これで準備は完了!Alexaに話しかけてみました。


あれ???本当は「こんにちは!」と言うはずなんですが、
英語で設定した文章を日本語的な感じでしゃべっているようです・・・
私がしゃべる日本語もうまく認識されてませんでした。

SAP Conversational AIのモニタを見てみると、英語モード(イギリスの国旗マーク)で認識されていました。
こちらを解決できるのかは今後の課題です。 f:id:akisai14:20201212223049p:plain

6.しゃべってみよう!(リベンジ)

このままでは終われない!と思い、今度はAlexaの設定を英語版にして、英語で話しかけてみました。

英語で認識させるにはAlexaの言語を英語にして、
SAP Conversational AI側でLocalesを「US」にします。 f:id:akisai14:20201212180247p:plain

英語で話しかけたときの様子はこちら。
(私の発音は聞かなかったことにしてください笑)

英語であれば、念願のSAPとの会話ができました!!
今回の実験はここまでです。 

SAP Conversational AIのコネクタ機能

SAP Conversational AIのコネクタについて紹介します。

SAP Conversational AIのコネクタのラインナップ

SAP Conversational AIのコネクタは2020年12月現在、以下が用意されています。
手順に従って設定するだけで様々なツールと連携することができます。
また、複数のコネクタを登録することができ、私のチャットボットはAlexaの他に、
Line、Twitterとも連携しています。
どこからでも話しかけられる=アプリを選ばないのは良い点だと思います。

f:id:akisai14:20201212002055p:plain
Connectors of SAP Conversational AI

コネクタ毎の利用できる機能

SAP Conversational AIはテキストだけではなく、画像やボタン、リストから選んでやりとりすることもできます。 コネクタ(チャネル)毎に利用可能な項目が異なり、各コネクタが利用できる機能は下表のとおりです。

f:id:akisai14:20201212011053p:plain
コネクタの機能一覧

SAP Conversational AIの使いたい機能や、すでに利用している製品に応じて使い分けると良いのではと思います。

まとめ

当初計画した構想(Google Cloud製品の利用)は断念しましたが、
SAPの標準で用意されているAlexaとの連携を検証できて良かったと思います。
今回のアドベントカレンダーに向けて色々調べたことでWebアプリケーションのことが少しずつですが理解できて、私自身の知識の幅を広げる良いきっかけとなりました。

SAP Conversational AIについては先日のSAP TechEdでもセッションやハンズオンを受け、ますます興味が出てきた製品です。チャットボットはシステムの操作、問合せ、教育やコミュニケーションなど様々なことを行うことができる単一窓口(1か所ですべてができる場所)だと考えています。
今後の機能の拡張を期待しています。

参考にしたサイト・ブログ・補足

SAP Conversational AIのSAPヘルプポータル
SAP Conversational AI公式ブログ
SAP Conversational AI を学んでみた | SAP Blogs
SAP Conversational AIで簡単なchatbotを作ってみた - Get Involved
Build Your Own Amazon Alexa Chatbot | SAP Conversational AI Blog

「SAPなんでもLT祭 ~若手編~」に参加してきました

SAPコミュニティ chillSAP 主催の『SAPなんでもLT祭 ~若手編~』に参加してきました。
初めて参加してみたブログを書いてみたいと思います。

・・・書いた後に読み直したら本当にただの感想になっちゃいました。ご容赦ください。

<<目次>>


SAPなんでもLT祭とは

SAPコミュニティであるchillSAPさんが主催したライトニングトークイベントです。
実は参加するまでライトニングトークとはなんぞや状態でした・・・

ライトニングトーク(英: Lightning Talks)とはカンファレンスやフォーラムなどで行われる短いプレゼンテーションのこと。 様々な形式があるが、持ち時間が5分という制約が広く共有されている。(Wikipediaより)

今回の登壇者は若手限定ということでしたが、みなさんフレッシュでモチベーションが高いだけでなく、よく勉強していて詳しいなという印象でした。

★イベントのサイトはこちら

techplay.jp

★Togetterはこちら

togetter.com


LTのAgendaです。 f:id:akisai14:20200216010702p:plain

LT祭の感想

ここからは各テーマに対して感想を書いていきます。

オープニング chillSAP

オープニングトークはchillSAP運営者のまぁ@SAPのすみっこさん。
このアイスブレークが後の登壇者の方の緊張をほぐしたり
参加者がツイートしやすくなるんだと感じました。
QRコードにツイート内容も含められることを初めて知りました。笑 f:id:akisai14:20200216013211p:plain

スポンサーLT ハイパースケーラー vs SAP Cloud Platform

クラウドを利用するにあたり、どのクラウドベンダを選定するかは今後のITに関わる者、特にインフラエンジニアとしては、絶対知っておく必要があると思うのでとても興味深かったです。
AWS、Azure、GCP、SAPCPにはそれぞれ強みがあるので、いかに組み上げるかが重要なんですね。

https://pbs.twimg.com/media/EQpfy8fVAAAlo-d.jpg:small

LT0 在庫管理のカギはケトン体だ

自宅の食材の在庫管理はケトン体次第という面白装置のお話です。
始まるまでどんな内容だ???と思ってましたが、内容はUIPath+OutlookExcel+SAP S/4HANAを連携させたしっかりとしたものでした。

LT1 初心者がFiori開発目指してみた

来月からS/4 HANAの実機で初めてFioriを触る予定なのでとてもタイムリーなプレゼンでした。
Fioriもチュートリアルがあるとのことだったので、私も是非やってみようと思います!
チュートリアルであってもつまるところがあるとのことだったので、色々調べたり、分かったことはブログ・Twitterで共有していければと思いました。

ちなみに私の好きなトランザクションコードは、
昔はDB02OLD(dbacockpitの前々身)、
今はSE93(トランザクションコードの検索に使ってます)です。

LT2 Fiori UXデザインにおけるアンチパターン(理論編)

これまでユーザ向けの画面開発をしたことがなかったので、画面設計・画面遷移の考え方には目から鱗でした。
高校の数学とIPA試験でしか使ったことのない logN が説明の中にでてくることに驚愕しました。

Fioriのラウンチパッド画面もボタンをただ並べるだけではなくグルーピング等も重要なのでは?
(Fioriについてあまり分かってないので今後見ていきたい)

LT3 SAP S/4HANAで購買発注が登録されるたびiPhoneに「アイーン」とPush通知が来たらぜったいどきどきしちゃう

Mona Lisacoさんの過去のQiita記事は見ていたのですが、
実際にデモを見るのは初めてだったのと、タイトルが面白すぎるので楽しみでした。
ドリフ愛がとても溢れていてプレゼンの内容もトークも楽しかったです。
音声入出力とシステムとの連携は、いつかやってみたいと思っていた内容だったので、今回のQiita記事を読ませていただきます!
今後の続編も期待してます。 f:id:akisai14:20200216023026p:plain

LT4 Past ABAP, ABAP to the Future

非常にABAP愛に溢れたプレゼンでした。
SAPはR/3時代から使ってますが、実はABAPを書いたことがない私・・・
ABAPと同級生だということも分かったので、色々使えるようになりたいです。
一からの勉強となるのでCleanABAPを覚えて綺麗にコーディングしていきたいです! https://pbs.twimg.com/media/EQpoZ65U4AY3NWZ.jpg:small

LT5 にゃんテック x SAP(電気ショックver)やってみた

2019年12月26日のSAPアドベンドカレンダーで衝撃を受けたので、今度はなんだろう?と期待してましたが、さすがのクオリティでした。
これを作ってるとき楽しんだろうな~と思いながらデモを見てました。
Twitter上では早くもRaspberry Piを購入する方もいて、自分も買ってしまおうか迷ってます。(というくらい面白かった)

LT6 SAP Fieldglass導入記

たまたま10日程前にSAP Fieldglassというものを知ったので、自分にとってはこちらもタイムリーな話題でした。 今後、IT人財がさらに不足すると予測されているので、この製品も今後伸びていくのではと感じています。

プレゼンでは日本的企業でのスモールスタートの難しさを仰ってましたが、確かにその通りだと思います。
本番運用開始後のシステムでの機能拡張を最初から計画しておく場合は、事前に顧客、その先のエンドユーザに制約やリスクについてよく理解していてもらう必要があると感じています。

LT7 最近CAPを始めた話

アプリの開発環境の話は疎いのですが、これまでの知見や開発環境を活かしてのプログラミングが可能となれば、開発の効率化、コストの削減ができるのかなと思いました。

LT8 やはりお前らのCFデプロイはダサい

攻撃的なタイトルだなという第一印象でしたが、穏やかなプレゼン、技術的な内容でした。
DevOpsを実現するならこういった仕組みがなくてはならないと感じました。

LT9 SAP Conversational AIにBASIS運用をやらせてみた

私はサーバインフラ、SAP Basisの構築、運用を長くやってきているのと、最近、SAP Conversational AIの実験もやっているのでとても気になっていたものの一つです。
運用担当のミッションの一つが定常業務の自動化/省力化だと思っていますので、とても良い取り組みですね。

実は私も定常業務をSAP Conversational AI、SAP iRPA、SAPCPのワークフロー(Process Integration)を組み合わせて自動化してみたいと思っているので、何か情報共有できれば・・・と思います。

LT10 ERPクラウド

S/4 HANA Cloud Multi-Tenant Edition はEssential Editionっていうのですね。
資料は分かりやすく、自社の若手への勉強会にも有用そうでした。 改めて、アドオンだらけのERPからEssential Editionに移行するには、トップダウンで業務を変革していく覚悟が必要だと感じました。 f:id:akisai14:20200216170751p:plain

記念撮影・懇親会・片付け

LT後のネットワーキングでは、以前からよくお見かけする人に出会えたり、Twitter上のみで知り合った人と実際にお会いできたり楽しかったです。
心残りは、もっと多くの人とお話すれば良かったということです。(次回頑張ります)

アンケート

参加後のアンケート依頼のメールを見たら、Qualtrics Surveyだったので流石でした。
Experience Dataをご査収ください。

まとめ

今回のLT祭は若手編ということでしたが、プレゼン内容はよく調べられていて濃密で、あっという間の2時間半でした。
いろいろ刺激をもらえたので私もやってみて、ブログに挙げていきたいです。

次回は会社のメンバーにも声掛けて参加したいので、今後も定期的にこのような回があると嬉しいです。(企画は大変だと思いますが・・・)


最後に、登壇者の方々、発表ありがとうございました。
大変勉強&刺激になりました。プレゼンの準備は大変だったと思います。お疲れ様でした。

イベントの企画・運営をしていただいたchillSAPのみなさんもお疲れ様でした。
とても楽しく勉強になるイベントでした。今後も是非参加させていただきたいです。

スポンサーの方々、ご協力ありがとうございました。
綺麗な会場で過ごしやすく、ご飯はとても美味しくお酒を嗜みながら参加できました。
f:id:akisai14:20200216173703p:plain

f:id:akisai14:20200216173556p:plain

「SAP朝フィット~スロトレ&ストレッチ」に参加してみて

SAPのイベントを検索していたら、
「SAP朝フィット~ソロトレ&ストレッチ」
なるものを発見して参加してきました。

今回は技術の話ではなくただの日常ブログですが、
SAP関連ということでブログの練習がてら書いてみたいと思います。

「SAP朝フィット~スロトレ&ストレッチ」について

f:id:akisai14:20200126020512p:plain

SAPさんでは2016年頃から社員向けにフィットネスイベントを定期開催していて、
SAP Experience Center Tokyo(※)が2019年8月にオープンしてから
一般向けにも開催しているそうです。
主催はSAPジャパンの川崎さんと格闘家で理学療法士アロー 阿藤さん(@l_i_t_t_l_e)。 朝フィットの内容は阿藤さん監修とのことです。

今回の開催は、今年1回目で記念すべき101回目ということでした。

「SAP朝フィット~スロトレ&ストレッチ」の紹介ページはこちら

events.sap.com

※大手町のこの会場、先日まで「SAP Leonardo Experience Center Tokyo」
 という名称だったと思いますが、 いつの間にかLeonardoが抜けて
 「SAP Experience Center Tokyo」になっていました。


SAP朝フィットへの参加

当日のスケジュールはこちらです。
  7:15~7:35 受付
  7:45~8:30 スロトレ&ストレッチ
  8:30~   ネットワーキング(コーヒータイム)

私の家からだと6時頃に家を出発しないといけないので
朝よわよわな私は起きられるか心配でしたが無事起きられました(^-^;)

この日はほぼ満員のようでみんな朝早くから活動的だなと思いました。笑
参加者は若い方から40台くらい?の方まで幅広く、若い女性の方も多かったです。
外国人の方も数名いらっしゃりさすがSAPという感じでした。

参加者が早めに大体揃ったところで、開始時間(7:45)よりすこし早めに開始。
イベントの流れはこんな感じでした。

  座学(背骨について。1-2分)
   ↓
  腹式呼吸で呼吸を整える
   ↓
  軽くアップで体を温める
   ↓
  スローペースでの筋トレ(6種目)
   ↓
  ストレッチ
   ↓
  瞑想

久々の運動でしたが、運動負荷は高すぎず(と言っても筋肉痛になりました…)、
楽しく運動ができて、終わってみたら体も頭もスッキリしました!

実は5日ほど前から背中が痛かったのですが、 ストレッチして血流が良くなったのか痛みが消えましたし、 有意義な一日を送れそうな気がしました。 ※背中などに痛みがある場合は本当は休んだ方が良いですが…σ^_^;

コーヒータイムではラテアートマシンで自分の顔写真入りカプチーノ
いただいたり、お菓子を食べながら雑談しました。


ちなみに、朝支度してて靴を入れるカバンがなくて
最終的に選んだのがこれでした。JSUGバンザイ!
f:id:akisai14:20200126012906j:plain


次回の開催について

次回の開催は2020年2月21日(金)とのこと。
都合がつけば次回も是非参加したいと思います。(リピーターOKだそうです)
まだ予約はできないようですが、満員になるかもしれませんので早めに予約がオススメです。