CodeZine(コードジン)

特集ページ一覧

開発者と非開発者が「ともにつくる」プラットフォーム、Power Platformの威力とは?【デブサミ2020】

【13-A-2】ノーコードPower?だけど開発者だからこそ知っておきたい、Power Platformの使いこなしかた~~W王子より愛を込めて

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加
2020/03/24 12:00

 ローコードやノーコード開発。いずれもプログラミング言語を記述することなく、マウス操作でシステム開発する手法だ。それらローコード開発ができるプラットフォームとして、今、注目を集めているのが「Microsoft Power Platform(以下、Power Platform)」である。Power Platformはコードを記述し、Azureと連携することで、さまざまなことができるようになる。Power Platformの概要とともに、Azureとの連携の方法、および連携によりどんな拡張ができるのか。セカンドファクトリーの清水優吾氏と、日本マイクロソフトの廣瀬一海氏が解説した。

目次
株式会社セカンドファクトリー テクニカルアーキテクト 清水優吾氏
株式会社セカンドファクトリー テクニカルアーキテクト 清水優吾氏
日本マイクロソフト株式会社 Azureビジネス本部 クラウドネイティブ&デベロッパーマーケティング部 プロダクトマネージャー 廣瀬一海氏
日本マイクロソフト株式会社 Azureビジネス本部 クラウドネイティブ&デベロッパーマーケティング部
プロダクトマネージャー 廣瀬一海氏

Power Platformでできること

 「このセッションは開発者のみなさんだけではなく、非開発者の方にも向けて話をしたい」

 こう切り出し、まずは清水氏によるPower Platformの解説から始まった。Power Platformはローコード開発のためのプラットフォームである。米国で昨年11月に開催されたMicrosoft Ignite 2019でも、RPAの機能が追加されるなど、機能強化が行われている。

 Power Platformは現在、ノーコードでアプリが作れる「Power Apps」、ノーコードでビジネスロジックが作れる「Power Automate」、ノーコードでBIが実現できる「Power BI」、ノーコードでボットが作れる「Power Virtual Agents」という4サービスを提供している。「Power Automate」は以前、「Microsoft Flow」と呼ばれていたサービスがリブランディングされたもの。「元々のサービスにプラスアルファの機能が入った」と清水氏。またPower Virtual AgentsはIgnite 2019で発表された新しいサービスである。つまり、「これらを合わせるとシステムが作れる」と清水氏は語る。

 Power Platformの最新バージョンの構成を表すと、図1のようになる。「AI Builder」は機能の一つで、人工知能や機械学習を誰もが容易に組み込めるようになる。Power BI dataflowsはETLツール。これを使えば、クラウドやSaaS、PaaSなどAPIを提供しているもの、オンプレミスなどさまざまなデータソースからデータを取得し、データストアであるCommon Data Service(CDS)や、ビッグデータ分析のためのストレージAzure Data Lake Storage Gen2(ADLS)にデータを取り込むことができる。「本当の意味でマルチデータソースになっている」(清水氏)

図1 Power Platformの構成
図1 Power Platformの構成

 ここで清水氏はデモを実施。まず見せたのは、今回のデブサミ2020のセッションリストをスクレイピングし、デブサミのセッションリストをPower BIのレポートで表示できるようにしたもの(デブサミセッションリストのデモ)。

 例えばセッション名の検索窓に「アプリ」と入れれば、その用語が入っているセッションが表示される。「ひらがなで文字列を入れても、ちゃんとセッションがひっかかってくる」と清水氏。面白いのは、iCALの列をクリックすると、そのセッションの予定ファイル(icsファイル)がダウンロードでき、カレンダーに予定を表示できるようになる。クリックによってicsファイルを作成するPower Automateのフローを呼び出しているのだという。

 このような仕組みも「Power BI Desktop」を使えば簡単に作成できる。「ガツガツコードを書く必要はなく、ボタンを押していくとデータを取得するPower Queryは自動生成される」と清水氏。開発者の場合は、自動生成されたものをブラッシュアップさせていくだけだ。デモではデブサミ2020のセッションスケジュールを取得してデータ化するためのPower Queryなどが紹介された。

 またもう一つ、清水氏がデモで紹介したのが、某テーマパークのアトラクションの待ち時間を、BIのレポートとして可視化するというもの。このための前提条件は、Power BI Pro以上、CDSが使えること、Azureサブスクリプションのライセンスを保有していること。仕組みとしては図2のようになる。このような構成で作成したのが、「アトラクションの待ち時間を教えるよ!」というボットと、アトラクション別平均待ち時間のレポートである。

図2 アトラクション別平均待ち時間のレポートの構成図
図2 アトラクション別平均待ち時間のレポートの構成図

 前者のボットは、「待ち時間を知りたい」と入力すると、「どのアトラクション」と聞かれ、アトラクション名(一部でもよい)を入れると、CDSにアクセスし、その情報を取得し、回答する。またアトラクション別平均待ち時間は、Power BI dataflowsを使い、当日のデータを取得し、レポートにしている。「こういったサービスが、Power Platformのアーキテクチャを使えば簡単につくることができる」と清水氏は説明する。

 この仕組みを作るのにかかった時間は、「構想3か月、実装は2日。だが同じモノを作ってくれと言われれば、1日でできる。このスピード感をぜひ、覚えておいてほしい」と語り、廣瀬氏にバトンタッチした。


  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • CodeZine編集部(コードジンヘンシュウブ)

    CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

バックナンバー

連載:【デブサミ2020】セッションレポート

もっと読む

All contents copyright © 2005-2020 Shoeisha Co., Ltd. All rights reserved. ver.1.5