InfoshareとPowerApps -その2

前回の記事では、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を扱っています。営業担当者のニーズを満たすアプリ作成などを「何が出来るのか? どのような場面で活用するのか?」を体系的に学びたい方は、是非ご参加をご検討ください。