目次
はじめに
当社はかねてより、超高速開発のソリューションとしてローコード開発基盤「OutSystems」の導入支援およびアプリケーション開発に力を入れてきました。
前回の記事では、OutSystems以外のローコード開発基盤として「Mendix」を取り上げ、OutSystems( OutSystems 11)とMendixの開発基盤としての機能や操作感を比較しました。
今回は第2弾として、Microsoft社がリリースしている「Power Platform」を取り上げます。前半ではPower Platformの概要をご紹介し、後半ではOutSystemsとPower Platformの開発基盤としての機能や操作感を比較します。
Power Platformとは
Power Platformは、2016年11月にMicrosoft社からリリースされたローコード開発基盤です。
4つのツールからなり、データの収集からプロセス構築、分析・予測までローコーディングで実現します。
ツール | 概要 |
---|---|
Power Apps | Webアプリを作成する |
Power Automate | ワークフローを作成する |
Power BI | データを分析し、視覚的に表示する |
Power Virtual Agents | コーディングなしで、チャットボットを作成する |
それぞれのツールはプログラミングの知識がなくても、直観的に利用できるため、「アプリを開発する」ためのツールではなく、「アプリを作成する」ためのツールと言われています。
今回は、4つのツールのうち、 Power AppsとPower Automate の2つに焦点を当ててご紹介します。
Power Apps
Power Appsは開発の知識がないユーザーでもWebアプリを簡単に作成できるツールで、3種類のコンポーネントが存在します。用途やニーズに合わせて使い分けることにより、短時間で最適なアプリが作成できます。
コンポーネント | 概要 |
---|---|
キャンバスアプリ | 様々な形式(DB、Excel、SharePoint)のデータから、自由で柔軟性のあるアプリを一から構築します。Power Pointのような視覚的な設計画面と、関数を組み合わせて画面の作成をおこないます。 |
モデル駆動型アプリ | Common Data Service(※)の機能を最大限に利用することで、デバイス間の応答性が高いUIを自動的に構築します。自由度は少ない分、決まった形式なので短時間でアプリが作成できます。 |
ポータルアプリ | 外部向けWebサイトを構築します。組織外のユーザーが様々なIDを利用しサインインが可能であり、Common Data Serviceのデータを作成したり閲覧したりできます。 |
※Common Data Service:Dynamics 365やOffice 365のデータへアクセスするための統合された業務データストアとしてMicrosoft社が用意しているデータベースです。データベース内にデータを格納する一般的な方法と同様に、「Entity」と呼ばれるテーブルを作成し、クラウド上で管理します。今後、名称が「Dataflex Pro」 に変更される予定です。
Power Automate
Power Automateは、メールの送信や認証フローの実行など毎日行う決まった処理を自動化するために、アプリとサービス間のワークフローを作成するツールです。Power Appsと同様に直観的な操作で作成可能です。
Microsoft製品(Excel、One Drive等)を含む様々なアプリと連携することで、多種多様な場面で利用できるワークフローを作成できます。
OutSystemsとPower Platformを比較
ローコード開発基盤における一般的なWebアプリケーションの作成工程には、「データモデリング」「ユーザーインターフェイスの設計」「ロジックの設計」「デプロイ」が挙げられます。本記事ではこの工程に沿ってOutSystemsとPower Platformの機能や操作感を比較します。
なお、OutSystemsとPower Platformの比較に主眼を置き、各工程の詳しい作業手順の説明は省略します。Power Platformでのアプリケーションの作成方法を詳細に知りたい場合は公式のオンラインラーニングコースを活用してください。
1.データモデリング
Power Platformでは様々なデータベース(Oracle、SQL Server等)を利用し、アプリを作成します。今回はその中で「Common Data Service」を利用して作成していきます。
下の図は、Common Data ServiceでEntityを作成しているときのものです。
OutSystems との比較
後述もしますが、Power Platformは、きれいに正規化されたテーブル構造を扱うことは苦手としています。そのためOutSystemsと比較して、複雑なアプリの作成には向きません。
2.ユーザーインターフェースの設計
ユーザーインターフェースの設計にはPower Appsを利用します。3種類のコンポーネントがどのような操作感になるか各々みていきましょう。
キャンバスアプリ
キャンパスアプリでの画面(スクリーン)の設計は、Power Pointのスライドを作成するように構築していきます。Office製品と同様にリボンからギャラリーやフォーム、ボタンなどを選択し、スクリーンに追加することでカスタマイズしていきます。
下の図はキャンバスアプリで画面の設計をしているときの図です。画面内(図中赤枠部分)にリボン(図中⻘枠)のアイテムを配置してUIを設計していきます。
モデル駆動型アプリ
モデル駆動型アプリでは、Common Data Serviceにテーブルを作成した時点で、画面(フォーム)とビューが自動的に作成されています。そのフォームとビューを最大限に利用してアプリの作成を行います。
キャンバスアプリのように自由なカスタムはできませんが、Entityから表示/非表示項目を選別するだけで、アプリの作成が可能です。
※Common Data Service以外のデータベースを利用する場合は、一度、Common Data Serviceにデータを入れる処理が必要です。
下の図はモデル駆動型アプリでフォームとビューの設計をしているときのものです。Entityのフィールド一覧(図中赤枠部分)から表示したい項目を選択したり、不要な項目を削除したりします。
ポータルアプリ
ポータルアプリによる画面(ページ)の設計は、キャンバスアプリと同じく視覚的にコンポーネントを配置して行います。キャンバスアプリより自由度が低く、コンポーネントの種類も少ないですが、簡単に外部サイトの構築ができます。
※モデル駆動型アプリと同様、Common Data Service以外のDBを利用する場合は、一度、Common Data Serviceにデータを入れる処理が必要です。
下の図はポータルアプリで画面の設計をしているときの図です。画面(ページ)にコンポーネント(図中赤枠部分)を配置してUIを設計していきます。
OutSystemsとの比較
Widgetを組み合わせてUIを視覚的に設計する点や、予め基礎的なWidgetが配置されたテンプレートを用いて画面の作成を行える点は、Power Platformのキャンバスアプリやポータルアプリにおけるスクリーンの設計と、OutSystemsにおけるWeb Screenの設計で共通します。
異なる点としては、以下が挙げられます。
- Power Platformには3種類のコンポーネントが存在し、用途により使い分ける必要がある
- モデル駆動型アプリとポータルアプリは自由度が少なく、決まった形式や少ないパーツで作成する必要がある
3.ロジックの設計
Power Platformでのロジックの設計方法は2パターン存在します。
1つ目は、関数を利用した、関数開発と呼ばれる設計方法です。あらかじめ用意されている関数を使ってロジックを組んでいくため、開発経験がなくても簡単に作成ができます。下の図では関数を利用してロジックを追加しています。Search関数を使って検索ボックスに入力した値で、データを絞り込む検索処理を実装しています。
2つ目は、Power Automateを使ってフロー処理を作成し、アプリに埋め込む方法です。画面の設計と同じく視覚的に構築していくため、容易に作成ができます。下の図ではPower Automateを利用して、フロー処理を作成しています。Power Automateはトリガーとアクションをそれぞれ設定することで、自動的にフロー処理が動く仕組みです。今回作成しているのはテーブル(Device Order)にデータが作成されると、メールを自動で送信する仕組みです。
OutSystemsとの比較
プログラムの処理を視覚的に設計できるという点では、Power PlatformのPower Automateにおける設計とOutSystemsのLogicの設計は似ています。しかし、Power Platformでは関数開発で作成するなどロジックを組み立てる方法が根本的に大きく異なります。
Power Platformは、従来の開発やOutSystemsで作成するような複雑なロジックの作成は不得意です。その反面、開発知識がない人でも容易に作成できるため、単純なロジックの業務アプリを作成するのには適しています。
4.デプロイ
Power Platformでのデプロイ方法は2アクションで可能です。例えば、キャンバスアプリの場合は、次の2アクションでデプロイが完了します。
- リボンから「ファイル」を選択し、「保存」タブから保存を行う。
- 保存後、「発行」ボタンが表示されたら、「発行」ボタンを押下。
OutSystemsとの比較
開発ツール上から簡単にアプリのデプロイを行える点は、OutSystemsとPower Platformで共通しています。
しかし、Power Platformには、キャンバスアプリ以外のコンポーネントを利用するとバージョン管理機能が標準で搭載されていないので、注意が必要です。
OutSystemsとPower Platformの比較まとめ
OutSystemsとPower Platformをざっくり比較してきましたが、最後に改めてOutSystemsとPower Platformの比較結果を表にまとめます。
工程 | 共通点 | Power Platformに特有な機能、またはOutSystemsとの相違点 |
---|---|---|
データモデリング |
・文字列型、数値型、論理型、バイ |
・様々なデータベース(Oracle、SQLServer等)を利用できる ・きれいに正規化されたテーブルや親子関係を持つテーブルの扱いは難しい |
UI設計 | ・Widgetを組み合わせてUIを視覚的に設計する ・予め基礎的なWidgetが配置されたテンプレートを用いて画面の作成を行うことができる |
・3種類のコンポーネントが存在し、用途により使い分ける必要がある ・モデル駆動型アプリとポータルアプリは自由度が少なく、決まった形式や少ないパーツで作成する必要がある |
ロジック設計 | ・プログラムの処理をフローチャートとして視覚的に設計できる | ・複雑な処理を作成するのはあまり得意ではないが、簡単な処理の作成は容易にできる |
デプロイ |
・開発ツール上から簡単にアプリのデプロイを行える |
・バージョン管理機能が搭載されていないコンポーネントが存在する |
今回の比較を通じて、OutSystemsとPower Platformでは利用方法が異なると感じました。
同じローコード開発基盤ではありますが、従来のスクラッチ開発のようにデータモデリングやロジックが複雑化していくと、Power Platformでは容易に対処できません。
しかしその一方で、Power Platformには非エンジニアでも作成できる手軽さや、Microsoft製品との親和性があり、簡単な業務アプリを導入する手段としては非常に優れていると感じました。
規模やコスト面などで作成が保留となっている開発案件や、面倒な日常業務を減らすためのアプリの作成など、様々な場面で活用できるのではないでしょうか。
現在も機能が増え、今後もますます発展していくと考えられるPower Platformの動向を見守りつつ、活用していきたいと思います。
皆様もOfficeのアカウントがあれば手軽に試せるので、一度利用してみてはいかがでしょうか。
執筆者プロフィール
-
様々なローコード開発ツールを幅広く挑戦中です。
直近のテーマは英語の説明をスラスラ読むために語学力を向上すること。
この執筆者の最新記事
- ローコード開発2023.04.26OutSystemsでテスト自動化ツール(BDD Framework)を利用してみた
- ローコード開発2022.07.11OutSystemsにおけるバージョン管理に関して
- ローコード開発2020.09.14ローコード開発基盤OutSystemsとPower Platformを比べてみた