[ba09] 生産性/利便性を追求した最先端の業務アプリケーションとは!?...

96

Upload: decode-2017

Post on 22-Jan-2018

231 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~
Page 2: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~

中村憲一郎 (kenakamu)

https://github.com/kenakamu/https://blogs.msdn.microsoft.com/kenakamu

C#, DevOps, Dynamics

Page 3: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~

ビジネスアプリにおけるチャットボットの使いどころチャットボット開発のノウハウ

データの鮮度/精度を向上させるチャットボット

ノウハウ失敗談

Page 4: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~

話さないこと

Page 5: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~

世界中のすべての人々とビジネスの持つ可能性を最大限に引き出すための支援をすること

Page 6: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~
Page 7: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~

Dynamics 365 LinkedIn Partner Solutions IoT

Page 8: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~
Page 9: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~

Dynamics 365 のビジネス アプリ チームの目的に応じて設計されたアプリ

PowerApps によるカスタム アプリ

Microsoft Flow によるワークフローの構成

Bot によるカスタム アプリ

アプリとダッシュボード

生産性

Page 10: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~
Page 11: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~

会話とロジック コンテキスト複数チャネル

Page 12: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~

会話とロジック

コンテキスト複数チャネル

Page 13: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~

会話とロジック

コンテキスト

複数チャネル

Page 14: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~

会話とロジック コンテキスト

複数チャネル

Page 15: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~

O N E B O TM U L T I P L E C A N V A S E S

Page 16: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~
Page 17: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~

! 円

Page 18: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~
Page 19: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~
Page 20: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~
Page 21: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~
Page 22: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~
Page 23: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~

API

Page 24: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~

ダイアログスタック

Page 25: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~

Serialization

Page 26: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~

データ取得

• 件数上限の意識• 必要に応じたページング

Page 27: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~
Page 28: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~
Page 29: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~
Page 30: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~
Page 31: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~
Page 32: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~
Page 33: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~
Page 34: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~
Page 35: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~
Page 36: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~

Page 37: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~

Page 38: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~

Web

Page 39: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~

OpenUrl プロトコル制限

Page 40: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~
Page 41: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~

Page 42: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~

Page 43: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~

Page 44: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~

Page 45: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~

APIAPI

Page 46: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~
Page 47: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~
Page 48: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~
Page 49: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~
Page 50: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~
Page 51: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~
Page 52: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~
Page 53: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~

API

Page 54: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~

データ取得

• 文字列/リッチカード• 詳細表示方法• LINE は list 未対応の模様

Page 55: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~

!

Page 56: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~

!

Page 57: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~

!

Page 58: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~

!

Page 59: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~

Workflow

API

Page 60: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~

Workflow

API

Page 61: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~

!

Page 62: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~

• 通知のみ• Dialog の差し込み

Page 63: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~

Direct Line はプッシュ通知非対応

Page 64: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~

• Dynamics 365 側ですべて処理• 操作 (グローバル)• レコード CRUD トリガー

• ワークフロー• プラグイン• 操作

Page 65: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~
Page 66: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~
Page 67: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~
Page 68: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~
Page 69: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~
Page 70: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~
Page 71: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~
Page 72: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~
Page 73: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~

Page 74: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~

• メールなど他チャネルの活用• 自社業務への読み替え• 全てをチャットでやる必要はない

結局はデータのインプット/アウトプット

Page 75: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~
Page 76: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~
Page 77: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~

• 業務特化• クローズドクエスチョン

「りんな」は対極にあるチャットボット

Page 78: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~
Page 79: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~

• resx ファイル• アクセスを Public にして共有

Page 80: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~

認証

• AAD v1 と AAD v2• AuthBot• 多言語対応にはソースが必要

Page 81: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~

ステート管理

• 単位(ユーザー、会話、会話内の特定ユーザー)• StateService (32 KB上限)• 独自ステートDB• Emulator は独自

Page 82: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~

チャネルの差異

• 制限の認識• UI はインスペクターの利用

https://docs.botframework.com/en-us/channel-inspector/channels/Skype/

Page 83: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~

• DirectLine 経由での連携• DirectLine 固有の制限と LINE の制限を考慮• Push 通知は Developer Trial/Pro のみ

https://github.com/kenakamu/line-bot-sdk-csharp

Page 84: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~

メニュー

• 初回利用時にヘルプを表示• LINE のリッチメニュー利用

Page 85: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~

スタンプの活用

• メニュー• アクション

Page 86: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~
Page 87: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~

ダイアログ割込み

• 通知シナリオ• 既存スタックに割り込み

Page 88: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~

グローバルコマンド

• タイミング非依存のコマンド

• メニュー実行時のスタッククリア

Page 89: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~

LUIS

• 言語ごとに作成• LUIS 利用を最小化してコスト節約• スロット• 複数管理者

https://azure.microsoft.com/ja-jp/services/cognitive-services/language-understanding-intelligent-service/#pricingoptions

Page 90: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~

• タイムゾーン設定を意識したクエリ• FetchXML などで today や next-x-hours の利用

Page 91: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~

• 独自 API• ワークフロー

Page 92: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~

DevOps

• チャットアプリ独自のテスト• ユニットテスト• ファンクションテスト

• ARM タスクは v1で• 依存サービスの Mock 化

Page 93: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~
Page 94: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~

セッションアンケートにご協力ください

専用アプリからご回答いただけます。

decode 2017

スケジュールビルダーで受講セッションを登録後、アンケート画面からご回答ください。

アンケートの回答時間はたったの 15 秒です!

Page 95: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~

Ask the Speaker のご案内本セッションの詳細は『Ask the Speaker Room』各コーナーカウンタにてご説明させていただきます。是非、お立ち寄りください。

Page 96: [BA09] 生産性/利便性を追求した最先端の業務アプリケーションとは!? ~Dynamics 365/Office 365 とチャットアプリケーションとの連携 10 シナリオと開発の勘所~

© 2017 Microsoft Corporation. All rights reserved.

本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。