ブログBLOG

カテゴリー:PowerApps

InfoshareとPowerApps -その2

2018年07月10日(火)

前回の記事では、PowerAppsで作成できるアプリケーションが2種類あることをご紹介いたしました。キャンバスアプリは、誰でもプログラミングの知識が必要なく、マウス操作でアプリケーションを作成することができます。一方で、複雑なロジックで堅牢なビジネスアプリケーション、またはビジネスプロセス、CDSならではのXRM構造を生かしたアプリを作成したい場合は、PowerApps Plan2で提供されるモデル駆動型アプリケーションを選択することができます。 

キャンバスアプリを考察する

なぜ、キャンバスアプリを作成するのでしょうか? どのような場面でキャンバスアプリは利用されるのでしょうか? インフォシェアでもPowerAppsで作成したアプリを業務で実稼働させていますので、その例を交えながら解説をいたします。
キャンバスアプリの特徴や活用ポイントは2つあると考えています。
1.とにかく迅速なアプリケーション開発
2.様々な情報ソースと接続した「ハブ」となるアプリケーションの開発

インフォシェアは自社開発製品として「InfoCall」という電話帳製品を開発・販売しています。Office 365Dynamics 365のコンサルティングも行っておりますが、ソフトウェア開発を自社内で行っています。つまり、アプリケーション開発力があります。しかし、社内業務アプリケーションはPowerAppsで作成しました。なぜでしょうか?
2つの理由がありました。 

理由1:アプリケーション動作条件の一つに「モバイルでの運用」があった。

インフォシェアでは、モバイル端末としてiPadを利用しています。iPadは製品検証や、社内業務を行う端末として利用されています。この端末で動作させることを想定したアプリケーションを作成したいという要求がありました。一般的に、モバイル向けのアプリケーションを計画する場合、2つの方法が考えられます。
 ①iOS用、Android専用アプリを作成する。
 ②Webブラウザで動作するアプリケーションとして作成する。 

①の専用アプリは、作成すること自体はそれほど難しくないものの、どんどん更新されていくOSに併せて都度動作「テスト」し、必要に応じて「アップデート」を継続的に続けなければなりません。アプリケーションそのものの機能をアップさせたり、追加のビジネスニーズに合わせるための変更を継続するのは望ましいとしても、“OSが変更されていくから、そもそもの「動作」を保証させる”ためにアップデートを続けるのは負担が大きく、今回の選択肢からは外れました。

Webブラウザで動作するアプリケーションを作成するのは、OSに依存しない分、メンテナンスは楽になりますが、Web開発人員を新たに割り当てることが難しく、今回は実現に至りませんでした。 

理由2:すぐに必要だった。

ソフトウェア開発をしているインフォシェアですから、プログラマーの隙間時間を見繕いながら社内アプリを開発することも可能でした。しかしこのアプリは「すぐに」必要でした。
時間をかければ、アプリ開発にかかわらずどんなことでも成し遂げることが出来ます。しかし、時間をかけると言うことは、それだけ「コスト」がかかっているのと同義です。「すぐに目的が達成できる」というのは、ビジネスのスピードを高めるだけではなく、経費削減に多大に寄与します。

今回インフォシェアで必要となったアプリケーションは、オフィスへの「入退館記録アプリ」です。インフォシェアは「プライバシーマーク」を取得しており、プライバシーマーク取得事業者には、最初入室記録と最終退出記録および退出時点検(JISQ15001要求事項「3.7.1運用の確認」)の記録が求められています。必ずしも電子的に行う必要はなく、例えば「紙台帳」などでも運用は出来るようですが、アプリで電子的に運用できるならそれにこしたことはありません。紙だと、別途「正確性」を担保する方法を考慮する必要も出てきます。
こういった要件に見合っているのがPowerAppsでした。
「今、これが必要。だから作ろう!」とすぐに作成し、テストし、運用に入ることが出来ます。

PowerAppsでなければダメなの?」といわれそうですが、そんな野暮な質問をする必要もないくらい、「今欲しいから、サッと作る」という要求を実現できます。

作成したアプリケーションはこちらです。(入退館記録アプリ起動画面)2018-07-09_19-01-48※画面はiPad mini用に最適化したので、すこし縦長で横幅が狭くなっています。

このアプリの目的は「最初の入館者」「最後の退館者」を正確に記録し、必要なときにすぐに「提出」できることだけです。そのため、必要な機能は「①ユーザーが選択できること」「②操作したユーザーが偽装されていないよう写真を撮影できること」「③記録を簡単に管理できること」のみとしています。
ユーザーがシンプルに使うことが出来るよう、実装は必要最低限の機能にとどめています。実は、PowerAppsのアプリケーションを作成するポイントは、「最初からてんこ盛りで実装しない」だと考えています。

ユーザーは入館時、退館時、ユーザー一覧から自分を選択し、目的のボタンをタップするだけの2アクションで始めます。Blog1ユーザー一覧は、管理・メンテナンスが行いやすいように、SharePoint Onlineに社員マスターを作成しており、そのリストを参照しています。種別を選択したら、操作したユーザーを記録するための「写真」撮影です。

Blog2このアプリケーションは操作するユーザーをユーザーIDで認証することはしていません。つまり別人としてなりすましで操作することが可能です。そのため、操作したユーザーを写真で確定するように設計しています。これについては、ユーザーのIDとパスワードを入力させる方法もあることでしょう。とはいえ、帰りがけのユーザーの気持ち、そしてタブレット端末でのIDやパスワードの入力しにくさを考慮して、今回は写真での対応としました。Blog4操作者は記録として自身の写真を撮影しなければ、次へ操作を進めることが出来ません。入館と退館では、登録時の要求事項が異なるので、画面がすこし異なっていますが、ここまで来たらあとは1クリックで登録完了です。
2018-07-10 11.19.51

入退館の記録はSharePoint Onlineで管理しています。SharePointリストに記録があれば、必要なときにExcelにエクスポートしてまとめることも可能だからです。 

さて、このようなアプリケーションを全くの初心者でも作成できるのでしょうか?

出来ます! 最初にボタンやギャラリーをまずは配置します。そうすると、次にボタンをクリックしたときの動作はどのように設定するのか? 少し調べます。
一つのボタン、ギャラリーの設定がわかったら、あとはそれの繰り返しです。「このときの値を次の画面でも使えたらいいのに・・・」という場面が出てきたら「変数」や「コレクション」を少し追加で調べていきます。
本職プログラマーであっても、コードこそ書けるものの、PowerAppsの関数をしっているわけではありませんから、作成にかかる時間は同じ程度です。

手元に置いておくと非常に便利なのが書籍です。
ひと目でわかるPowerAppsノンコーディングでのビジネスアプリ作成入門」(株式会社イルミネートジャパン 奥田 理恵 著)はTipsが豊富に掲載されており、お薦めの書籍です。
P53690_common_pc 

「今、これが業務で必要」「今、これが欲しい」 このニーズを満たすことが出来るPowerAppsのキャンバスアプリを是非一度利用されてみてください。
そして、インフォシェアのDynamics 365応用トレーニングでもPowerAppsを扱っています。営業担当者のニーズを満たすアプリ作成などを「何が出来るのか? どのような場面で活用するのか?」を体系的に学びたい方は、是非ご参加をご検討ください。

 

 

 

InfoshareとPowerApps -その1

2018年07月09日(月)

最近、PowerAppsに関するお問い合わせをよく受けますので、インフォシェアのPowerAppsに関する取り組みをご紹介させていただきます。
Office 365Dynamics 365のスペシャリストとして、インフォシェアはPowerAppsに関しても日々検証を重ね、業務でもPowerAppsで作成したアプリケーションを利用しています。(アプリケーションについては次の記事で取り上げます)
PowerApps20186月のアップデートで大きくそのメッセージングを変えてきました。これまでは「InfoPathの後継となるフォームのソリューション」とか、「Office 365で使う新しいアプリ」、「まるでPowerPointでプレゼンテーションを作るかのように簡単にアプリが作れる」など、様々なマーケティング的表現がなされてきましたが、これまでの”ふわふわ”した立ち位置から比べると、今回の6月のアップデートで、マイクロソフトのPowerAppsメッセージングはかなり明確になったと感じます。 

2つのモデル

6月のアップデートは、下記のスライドで説明されました。

2018-07-05_17-59-47
※Microsoft Buildで提供されているスライドから引用。スライドタイトルのみの訳

 

PowerAppsで作成するアプリは、Buildのセッションでも紹介されたとおり、キャンバス アプリ」と「モデル駆動型 アプリ(Model-driven」の大きく2種類となりました。

1.キャンバス アプリ

いわゆる従来のPowerAppsでいわれてきたのと同じで、Webブラウザで提供される、「PowerApps Studio」上で部品コンポーネントを配置し、デザインを行いながら、まるでPowerPointで見栄えのよいプレゼンテーションを作成するかのように、ユーザーフレンドリーでかつグラフィカルな日々の業務に役立つ「モバイル(スマートフォン・タブレット)用」または「Web用」のアプリケーションを作成します。
既出のとおり、この「見栄えのよい」アプリケーションはSharePoint OnlineモダンUIにおいて、カスタムリストの”入力フォーム”として埋め込むことも可能です。
同様に、作成したアプリケーションは、Microsoft Teamsのタブにも配置することができます。例えば次のような感じになります。2018-07-06_13-07-22
※インフォシェア社内で利用している「同僚に感謝を送る」アプリ。マイクロソフト社がサンプルで提供しているアプリをカスタマイズしたもの。

 

2.モデル駆動型 アプリ

ここが、6月から新しくなったところです。別の呼ばれ方は「PowerApps Plan2」、または「CDS 2.0Common Data Service 2.0)」と呼ばれているアプリケーションプラットフォームです。CDSとは何か、以前からあるCDSとは違うのか、など、書き出したら到底ブログの記事で収まらないほどの情報がありますが、誤解を恐れずに「端的」な言い方をすると、CDS 2.0 Dynamics 365 プラットフォームとなります。最初のPowerAppsとリリースされたCDSは、いわゆるクラウドにあるデータベース ストレージでした。 新しいCDS 2.0は、データベース作成時、Dynamics 365のインスタンスが作成され、データ プラットフォームとしてDynamics 365を利用するようになります。

すでにモデル駆動型アプリの作成をお試しになってみましたか?
最初にデータベースを作成する際、なぜ「通貨」と「言語」を聞かれるのか不思議に思われたことはありませんか。言語はまだしも、なぜ「通貨」を選ばなければならないのか?2018-07-06_19-42-50
それは、CDS 2.0Dynamics 365プラットフォームだからです。Dynamics 365は最初のセットアップ時に、最低限組織の基軸「通貨」と「言語」を設定する必要があります。
D365セットアップ.png
本記事で詳細を言及するスペースはありませんので割愛しますが、Dynamics 365は複数通貨、多言語に対応するからこそ、内部構造的に基軸通貨とベース言語のあらかじめの設定が必須になります。

さて、ここまでの話を整理してみましょう。

PowerApps20186月時点で、組織で必要となるアプリケーションを簡単に作成できる「キャンバスアプリ」と、プラットフォームとしてダイナミクス365ベースのCDS 2.0が利用できる「モデル駆動型アプリ」の大きく2種類があります。
・ Office 365のユーザーはキャンバスアプリを作成できるライセンスが含まれています。
・ Dynamics 365のユーザーはキャンバスアプリとモデル駆動アプリの両方を作成できるライセンスが含まれています。(一部のライセンスを除く)
・ Office 365を持っていない、またはOffice 365のユーザーであっても、「プレミアム コネクタ」(例えばSafesforceとの接続など)を必要とする場合は、「PowerApps プラン1」(月額¥760/1ユーザー)
・ モデル駆動型アプリを活用したい場合は、「PowerApps プラン2」(月額¥4,350/1ユーザー)2018-07-09_12-23-25

Plan2、「4350円! そんなにするの?! 高い!!」と思われましたか?

Dynamics CRMDynamics 365を早い時期から活用されている方であれば、Dynamicsは「XRM」プラットフォームとしても利用できることをご存じだと思います。CRMは「Customer Relationship Management(顧客関係管理)」であり、顧客のデータを中心にサービスを展開していきますが、XRMとは「顧客」にかかわらず “X” 部分を好きに定義し、その「関係管理」を行う考え方です。例えば「学校」の生徒管理・教職員管理・成績管理・シラバス管理システムなども”XRM”として設計できますし、「不動産」の建物管理、引っ越し業での利用などDynamicsで構築するXRM事例は数多くあります。

例えば、不動産の場合などはXRMのイメージが沸きやすいでしょうか?
「顧客」「オーナー」「建物」「契約」「見込み客」「修繕計画」「メンテナンス記録」など様々な「点」情報を相互に関連付けて短時間で一つの統合システムとして構築できます。DynamicsXRMでこの不動産管理システムを作成し運用している例は多くあります。スクラッチで一から開発することを考えると、容易にデータどうしの”関連性”が作成できるDynamics、さらにワークフローやレポート機能などが標準で整っているDynamicsXRMのプラットフォームとして採用するのは合理的な考え方です。
これまでは、XRMであっても、Dynamics CRMDynamics 365の通常のライセンスを購入しなければなりませんでした。もっともよく用いられるCE(カスタマーエンゲージメント)プランは「月額¥12,510/1ユーザー」です。
そう考えると、PowerAppsPlan2は同じプラットフォームでありながらも、約3/1の金額で提供されていることになります。堅牢なDynamics 365をプラットフォームとして、キャンバスアプリとは異なるしっかりとした「データ関連性」を必要とするXRMアプリケーション、ビジネスロジックや各種条件を加味したシステムの実現ができます。

逆に考える方もいるかもしれません。「CRMがほしいのでDynamics 365を検討しているが、もしプラットフォームが同じならば、PowerApps Plan2で作成する方が安くなるのではないか?
確かに、PowerAppsCRMを作成できなくはないでしょうが、そこは明確な機能差が存在します。CRMとして使うことを考えているのであれば、Dynamics 365を購入した方が、時間も手間も大きく異なります。そして決定的に「機能」が異な���ています。“プラットフォームが同じ”=“機能も同じ” ではありません。

2018-07-05_17-56-46

※Microsoft Build資料より引用

 

次回の記事では、インフォシェアでのPowerAppsの取り組みをもう少し具体的に紹介させていただきます。