InfoshareとPowerApps -その4

前回の記事では、キャンバスアプリのもう一つの活用法である、SharePointとの統合を取り上げました。
最後に取り上げるのは、PowerApps Plan2、つまりCDS2.0で作成する「モデル駆動型アプリ」についてです。

初めの記事ですでに言及した通り、「誤解を恐れずに端的」に表現すると、CDS2.0はDynamics 365プラットフォームを使ったアプリケーションの構築基板です。とはいえ、CDS2.0のライセンスは「月¥4,350円/1ユーザー」なので、誰もが気軽に契約できる料金ではありません。
PowerAppsはPlan1 (含むプレミアムコネクタ)、Plan2(CDS2.0)ともに「無料試用版」があるので、まずは試用版にサインアップし、検証されることをお勧めします。https://web.powerapps.com/signup

なお、Plan2 のサインアップには「組織アカウント」が必要になります。outlook.com、Hotmail.com といった個人用アカウントでは登録できないので、ご注意ください。

※参考情報:PowerApps Plan2相当の機能は「コミュニティ プラン」を申し込むことで入手することも出来ます。しかし、2018年7月10日現在、コミュニティ プランではCDS2.0データベースの作成が行えません。
2018-07-06_19-43-46
(つまり、このプランでは現状検証が出来ません。後日可能になるようです。)
※コミュニティプランの詳細:https://powerapps.microsoft.com/ja-jp/communityplan/

組織のアカウントが必要とはいえ、自分の勤務先アカウントを利用してサインアップできない事情があるかもしれません。このような場合、次の方法でも検証環境の準備が可能です。(※クレジットカードの登録が出来る方のみ)

①Office 365 E3の試用環境を作成する。
(PowerAppsでアプリを作成すると、どうしても電子メール連携が必要になる場面がでてきますし、Office 365と組み合わせるとPowerApps、Flowの検証の幅が広がるからです。)
但し、課金はないものの、本人確認の一環として登録にはクレジットカードが必要になります。
②作成したUserId@xxxx.onmicrosoft.com アドレスでPowerAppsの試用版を申し込む

無事にサインアップが完了すると、PowerAppsのホーム画面が表示されます。この画面は既に見慣れているしれませんが、左下に注目されたことはありますか?

図11211

どうして、これほど「目立たない」位置に切り替えメニューを配置しているのかはわかりませんが、PowerAppsホームの既定は「キャンバスアプリ」となっています。ここをクリックすると、「キャンバスアプリ」と「モデル駆動型アプリ」を切り替えることが出来ます。
※Plan2相当のライセンスが適用されていない環境では、この「切り替え」メニューは表示されない場合があります。

2018-07-06_19-44-21

モデル駆動型に切り替えると、ホームUIの表示内容が変化します。
2018-07-11_18-37-11

CDSのアプリケーションを作成するためには、デザインモードで「モデル駆動型」に切り替えてから、「環境」を作成するが必要があります。(ライセンスの種別によっては既定環境で作成も可能)
PowerAppsは一つの契約テナントに複数の「環境」を作成することができます。
これらの操作はPowerAppsの「管理センター」で行います。環境作成時、リージョンの指定もでき、指定されたリージョンにDynamics 365のインスタンスが作成されます。
2018-07-11_18-47-52
豆知識ですが、Dynamics 365(CDS2.0)の展開リージョンはURLからも判別可能です。
(日本の場合は、 https://組織名.crm7.dynamics.com、南米はhttps://組織名.crm2.dynamics.com といった用に URL内の”crmX番号“で展開リージョン定義されます)

※参照:https://docs.microsoft.com/ja-jp/dynamics365/customer-engagement/admin/sign-in-office-365-apps

なお、通貨と言語を選択しなければならない理由は以前の記事の中でも言及しましたが、試しにCDSの「サンプルのアプリケーション」(現状:チャリティー、資産のチェックアウト、Innovation Challenge)を確認したい方は、データベース作成時に「サンプルアプリとデータを含める」に必ずチェックを入れて作成してください。
CRMのサンプルデータは後からインストールすることも可能ですが(作成時にインストールされるのとは異なるサンプルデータとなりますが)、サンプル”アプリ”はデータベース作成時に選択が必要です。
2018-07-12_14-52-37

環境とデータベースが作成されると、右上のドロップダウンから環境の切り替えが出来るようになります。
2018-07-12_10-37-16

このスクリーンショットでは、既定の環境のほかに、“Contoso”という「環境」が作成されています。そしてContoso表示の左に「(org9ac24fd0)」と表示されていることに気がつかれましたでしょうか。これがCDS2.0用に作成されたデータベース、つまりDynamics 365インスタンスIDになります。
そしてこのCDSで作成したアプリを実行すると、下記のようにそのままDynamics 365がCDSプラットフォームとして起動します。
2018-07-12_15-10-00※このスクリーンショットは、CDS2.0のサンプルアプリである「Innovation Challenge」を開いたところです。

くどいかもしれませんが、CDS2.0を開くと(再生すると)、内容はDynamics 365そのものです。実際、ロゴ表記もDynamics 365のままです。
(※Dynamics 365の一部分はPowerApps表記になりつつあるので、ロゴ表記は将来変更されるかもしれません)
必須ではありませんが、Dynamics 365のカスタマイズの知識を持っている方が、エンティティ、フィールドの作成と構成、業務プロセスフロー設計やワークフローは容易に理解できることでしょう。

さて、前置きが長くなってしまいましたが、ここからがCDSの本題です。
「どのような場面でCDSで作成されたアプリを利用するのでしょうか?」
「キャンバスアプリとの違いはあるのでしょうか?」

CDSの利用価値に関する考え方や視点は様々です。ここから記載する記事の内容は、あくまで私たち(インフォシェア)の「現時点」で考えていることの共有となります。一つの意見として参考にしていただけましたら幸いです。

どんな場面でCDSは最適なのか?

・モデル駆動の実現が必要アプリ
モデル化つまり「構造化」が必要なアプリケーションの作成に適しているのがCDS2.0です。
例えば、前の記事でご紹介した「インフォシェア 入退館記録アプリ」。
これは「入室・退出」を記録した単一データから成りたちます。あるデータと、別のデータがつながり合って・・といった類いの「構造(階層)」ではありません。もし、この入退館記録アプリに「従業員のタイムカード」「有給管理」など複数の要素と異なる種類のデータを扱わなければならなくなった際は、私たちはCDSのモデル駆動型アプリへの設計変更を検討します。

・フロントライン(現場)でアプリを使うユーザーと、バックエンドのデスクワークでアプリを使用するユーザーが混在している場合
ちょっと使う人の立場になって考えてみましょう。キャンバスアプリは美しいデザインでシンプルな動作のアプリを誰もが簡単に作ることが出来ます。しかし、「PC」で、かつ「デスクトップ上」で使うユーザーは、キャンバスアプリが最適解といえるでしょうか?
デスクトップPCは一般的に画面が広く、マウスやキーボードと言った入力装置があるため、もっと多くの情報を扱うことが出来ます。そうであれば逆にキャンバスアプリはデスクワーカーにとっては「シンプルすぎ」であり、業務生産性を高めていることにならないかもしれません。現場のお客様先で、タブレットやスマートフォンから操作するときに最適化した情報量のキャンバスアプリは、全てのディバイス環境やユーザーの使われ方ニーズに応えるわけではありません。
CDSであれば、キャンバスアプリを作成して現場のタブレットユーザーへ、Dynamics 365の統合インターフェースでより複雑な作業や大量の情報を提供といった「どのニーズにも当てはまる」シナリオで展開することが可能になります。
図111
※まったく同一の内容をCDS(Dynamics 365)の統一インターフェースとキャンバスアプリで表示した例
※Dynamics 365の統合インターフェースはモバイル表示にも最適化されているレスポンシブ対応の新しいUIです。CDSアプリ作成者は新しい統合インターフェースと旧Dynamicsインターフェースの選択が出来ます。

 

・データを「将来にわたる財産」にしたい場合
キャンバスアプリでアプリケーションを作成した場合を考えてみましょう。
ユーザーがキャンバスアプリで入力したデータはExcelやSharePointリストに書き込まれ記録されることでしょう。必要に応じてコネクタで接続された他のデータベースへ書き込むことも可能です。
しかし、どこに書き込んだとしても、「データ一つ一つは “単体では意味を持つ” ものの、集合体・集積値として活用や分析したい場合には再び加工が必要になる」可能性があります。Excelは一つのファイルであり、ただのシート。このような「ただのファイル」を将来にわたって増やしていってもよいでしょうか? 考えどころです。
例えばインフォシェアの入退館アプリ。
社員の情報はExcelから拾ってきて表示。データの書き込みはSharePointの“リスト”へ。このExcelとSharePointの間には何の関係性もありません。
結局、データは、それぞれが「単一」であり、まとまりや繋がりはありません。
AI(人工知能)が組織分析の鍵となるこれからの時代、Dynamics上のCDSであれば「データにまとまり」を出すことができ、「このときのユーザーのアクションには、どのような意味があり、どう改善すればよいのか」など”塊データ”として記録するキャパシティーと機能があります。
前述の「インフォシェアの入退館アプリ」はキャンバスアプリで作成しましたが、拡張して、「勤怠管理」も追加すれば「誰」が、いつも「どのくらいの時間」まで働いていて(勤怠)、記録用に撮影された「写真」をAzure CognitiveサービスのFace APIで分析して「どういう感情」を持っているのか、などを総合的にCDSへ記録していくことも、シナリオとしては考えられるでしょう。さらに人事情報を追加して、CDS(Dynamics)アプリケーションで管理することによって、その従業員のパフォーマンスと勤怠の相関関係を知ることも出来ます。
時代も、技術も、日進月歩で進歩していきますが、社内にあるデータはいつまでたっても「分断化」されていたら、分析に適した”ビックデータ”として使うことが出来ません。

CDS2.0は、構造化を目的としたアプリケーションを作成する基盤として、よい選択肢の一つです。
「そこまでするんなら、スクラッチでアプリケーションを開発するよ」と考えられますか?
もちろんスクラッチ開発も選択肢としては常にあります。
しかし、また「データが分断」してしまいませんか? データを正しくまとめていくのにふさわしい基盤やアプリををスクラッチで「開発」する時間はあるのでしょうか?
また、それは本当にコストパフォーマンスに見合っているのでしょうか?

インフォシェアでも、“お客様の困った”に誠実にお答えできるよう、PowerAppsに限らず、シナリオや条件に合わせた最適な回答を出すことが出来るよう、日々技術を学んでいます。

コンサルティングも行っていますが、「トレーニング」という形でも、お客様にお伝えさせていただいています。常に新しい情報を「俯瞰して」見ることが出来るよう配慮されたトレーニングへのご参加も、是非ご検討ください。
特にCDS2.0に関しては、Dynamics 365のカスタマイズと構成の知識があるのとないのでは、設計に大きな差がでます。セキュリティー周りの設計もしかりです!CDS2.0の中身はDynamics 365だからです!

4記事で構成した、PowerAppsに関する記事は以上になります。

PowerAppsに関しては、これからも継続的に情報を発信させていただく予定ですので、おたのしみに!

※お薦めの参考資料:https://docs.microsoft.com/ja-jp/powerapps/maker/model-driven-apps/model-driven-app-overview#defining-business-processes