Fusion Team! Power Platform × フルコード

2.1K Views

July 20, 24

スライド概要

Japan Power Platform Dev User Group #1にて登壇した際の資料です。
https://jppdevug.connpass.com/event/323665/

===AIによる要約===
このスライドでは、Power Platformとコードファーストな開発を組み合わせたフュージョン開発の可能性について紹介されています。プロ開発者と市民開発者が協力してビジネスニーズを解決するアプリを開発する「フュージョン開発」について、具体的には、ローコード+フルコードの組み合わせが「崖なし」と呼ばれるエクスペリエンスを生み出すためのポイントとなり、Power Platformソリューションを拡張するための方法が紹介されています。具体的には、UIコンポーネント、カスタムコネクタ、Power BIのカスタムビジュアル、カスタムビジネスロジック、CI/CDの追加の5つの方法が挙げられています。

profile-image

都内でITエンジニア頑張ってる人

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

(ダウンロード不可)

関連スライド

各ページのテキスト
1.

Fusion Team! Power Platform × フルコード • コルネ • Microsoft MVP for Business Applications

2.

自己紹介 ◼ Name コルネ ◼ Microsoft MVP Business Applications ◼ Who am I ? Power Appsでゲーム作成している人 今年はフュージョン開発の布教を目指したいと思っています ◼ X(Twitter) @koruneko32767 ◼ Blog コルネの進捗や備忘録が記されたなにか ◼ YouTube Korune Ch. コルネ ◼ connpass Japan Power Platform Game Builders 業務改善検討会 Japan Power Platform Dev User Group 2

3.

コミュニティ概要

4.

コミュニティ概要 Japan Power Platform Dev User Groupでは Power Platform × フルコード 開発をテーマにしたイベントをメイ ンに開催します。 ローコードツールであるPower Platformとコード ファーストな開発を組み合わせることによってどのような可能性があるのか を一緒に学びましょう。 ハッシュタグは #JPPDevUG です! 登壇に興味のある方は @koruneko32767 までご連絡お願いします。 皆様のご協力お待ちしております! 4

5.

Power Platform × フルコード? ◆ローコード × フルコード = 崖なし ローコードツールの使用は、既存および差し迫った課題を解決するための鍵となりますが、ローコードだけですべてのビジネス 課題を解決できるわけではありません。 Power Platformのようなローコードツールは、ローコード機能とコードファースト開発を組み合わせることで、その潜在能力 をフルに発揮します。 ローコード + フルコードの組み合わせは、「崖なし」と呼ばれるエクスペリエンスを生み出し、ビジネス技術者がローコードで簡 単にソリューションを構築できるようにする一方、プロの開発者はフルコードを活用してプラットフォーム機能を補強・拡張する ことができます。ローコード開発者、ITプロフェッショナル、フルコード開発者がこのように協力し合うプロセスは、「フュージョン開 発」と呼びます。 プロ開発者 + 市民開発者 ビジネスニーズを解決するアプリを一緒に開発 5

6.

Power Platform × フルコード? ◆Power Platformのソリューションを拡張するには? Power Platformでコードファーストのスキルをどのように活用できるのか、不思議に思うかもしれません。 コードを使ってPower Platformソリューションを拡張する方法をいくつか見てみましょう! • UI コンポーネント ➢ Power Apps Component Framework を活用し、カスタムコードでアプリケーションの UI を拡張します。 • カスタムコネクタ ➢ REST APIのラッパーであるカスタムコネクタを作成し、外部のデータソースやサービスと通信します。 • Power BIのカスタムビジュアル ➢ オープンソースのSDKを使用して、レポートやダッシュボードのカスタムビジュアルを作成します。 • カスタムビジネスロジック ➢ ビジネスロジックを実装する独自のカスタムAPIで Dataverse API を拡張します。 • CI/CDの追加 ➢ Power Platformソリューションで継続的インテグレーションと継続的デプロイメント( CI/CD )をセットアップします。 6

7.

Fusion Team!

8.

Power Platformの一覧 Microsoft Power Platform Power Apps Power Automate Power BI Power Pages アプリケーション開発 ワークフローの自動化 ビジネス分析 ウェブサイト開発 Dataverse Power Fx AI Builder マネージド環境 データコネクト Copilot Studio Copilotの作成 8

9.

なぜPower Platformが利用されているのか? 75% のアプリケーション開発は2026年までに ローコードでつくられるようになる デジタル需要の急増 エンジニアの不足 市民開発の現状 5年間で5億以上の新しいアプリが 経済産業省の調査では2030年ま 作成する可能性が高いとMicrosoft IndiaのCOOからも発表されている でに80万人のエンジニアが不足する といわれている 2021年に行われたガートナーによる 日本企業の実態調査によると60% を超えるユーザー部門がエンドユーザー で開発したアプリケーションが利用され ていると発表されている 9

10.

Power Platformの課題 外部データや自社で開発したリソースに接続したい Power Platformを活用することでビジネス課題を解決することが できます。 しかし、ノーコード/ローコードだけですべてのビジネス課題を解決で きるわけではありません。 コネクタが提供 されていない 例えば、自社で開発したリソースや外部サービスに接続したい場合 は”コネクタ”を利用する必要があります。 しかし、提供されているコネクタの中にこれらのサービスへと接続す るためのコネクタが提供されていない場合があります。 このような場合、外部サービスにセキュアに接続するための設計や カスタム コネクタの開発が必要になってきます。 このような場合、市民開発者として求められるスキルだけでは限界 があります。 ここでプロ開発者が活躍します。 Power Platformでは ローコード開発 + フルコード開発 によっ て潜在能力をフルに発揮することができます。 このようにローコード開発者とプロ開発者が協力して開発する手法 を「フュージョン開発」といいます。 10

11.

あなたにとってシュージョン開発とは? データ活用 OpenAI ALM RAG フュージョン開発 GitHub API ノーコード 市民開発者 Power Platform ドメイン知識 Azure ソリューションアーキテクト C# ビジネスニーズ プロ開発者 Visual Studio IT プロフェッショナル DevOpsエンジニア 11

12.

フュージョン開発のアプローチ プロ開発者 プロ開発ツールを用いてのコード開発や、クラウドサービス を用いてインフラ構築を行うプロ開発者 開発規模を拡大する フュージョン開発 市民開発者 ビジネスプロセスを改善する方法を探しているビジネス知 識を持っているが、技術的背景はないビジネスユーザー IT プロフェッショナル 市民開発者は、自身のビジネス ニーズを 満たすアプリをローコードで素早く構築して、 プロ開発者はコーディングスキルにより不足 している機能などのギャップを協力して埋 めましょう。 IT プロフェッショナル(IT担当者)はその過 程で必要なガバナンスやセキュリティ構築を 行い、組織の情報の保護を行います。 ALMの構築や、ガバナンス、セキュリティを担当するIT の プロフェッショナルユーザー 12

13.

フュージョン開発でかつてないスピードで開発を プロ開発者 + Power Platform = ∞ Maker Tools Every Developer (Low Code) Power Platform Power Apps Power Automate Copilot Studio Power BI Power Pages Developer Tools Azure Services GitHub Analysis Services API Management Azure Functions Kubernetes Services Logic Apps Cognitive Services Bot Services Azure AI Studio DevOps Pro Developer (Code First) Visual Studio Data Services Dataverse Microsoft Graph SQL Database SQL Data Warehouse Azure Synapse Analytics Cosmos DB Microsoft Fabric VS Code 13

14.

プロ開発のスキルはPower Platformに対してどのように活用できる? ◼ UI コンポーネント ➢ Power Apps Component Framework(PCF)を活用することにより、Node.jsを用いて独自のモデル駆動型アプリやキャ ンバスアプリ用のコントロールを作成することができます。 ◼ カスタム コネクタ ➢ 外部のデータソースやサービスに接続するためのコネクタを作成することができます。 ◼ Power BI用カスタムビジュアル ➢ オープンソースのSDKを用いて、Power BIのレポートやダッシュボード用のカスタムビジュアルを開発することができます。 ◼ カスタムビジネスロジック ➢ ビジネスロジックを実装する独自のカスタムAPIによりDataverse APIを拡張することができます。 ◼ Application Lifecycle Management(ALM)の構築 ➢ Power PlatformでAzure DevOpsやGitHub Actionsを用いて、CI/CDを構築することができます。 14

15.

Fusion Teamで登場するスキル Power Platform CLI PCF Visual Studio Code GitHub Actions Prompt flow API OneLake ALM コーディング カスタム コネクタ カスタムビジュアル Graph API Azure Azure Virtual Network インフラ API Management Azure ExpressRoute Azure Key Vault 15

16.

フュージョン開発の例-1 ◆ ケース-1 自社で管理・開発している倉庫の在庫管理システムについて、システムの老朽化によりシステムの刷新を行うことになりました。 チーム間での協議の結果、UI部分や簡単なワークフローをPower Platformで作成し、複雑な処理やデータの管理はAzure側で 実装することになりました。 上記のようなケースの場合、以下のような開発が想定されます。 市民開発者 プロ開発者 IT プロフェッショナル Power Appsを用いてアプリの開発、 およびPower Automateを用いての フロー開発を行います。 APIの開発やデータ設計を行います。 また、カスタム コネクタの作成、もしくは カスタム コネクタの作成に必要な情報 を市民開発者に提供します。 Power PlatformからAzureのサービ スをセキュアに呼び出すための方法の 策定を行います。 また、継続的な開発を行えるように ALMの構築を検討します。 16

17.

フュージョン開発の例-2 ◆ ケース-2 Webサイトにチャットボットを導入してユーザーがAIによる回答を得られるようにすることになりました。 上記のようなケースの場合、以下のような開発が想定されます。 市民開発者 - プロ開発者 IT プロフェッショナル Prompt FlowやAzure AI Studio を用いて独自のAIをカスタマイズした後、 Copilot Studioを用いてローコードで 生成AIの構築、およびWebサイトへの デプロイを行います。 AIが悪用されたり、差別的な発言を 行わないように設定します。 17

18.

Power Platform × Azureの構成例 AI連携 API連携 18

19.

※個人の見解です フュージョン開発を見据えたキャリア形成 ~市民開発者~ 市民開発者 ローコードでビジネスの改善を行うビジネスユーザー 市民開発者には自身のビジネスを理解し、 そのビジネス内のタスクを理解、整理し改 善を行うスキルが求められます。 従って、まずは自身の業務を理解すること を優先し、その後改善案を形にできるため にPower Platformのスキルを伸ばしてみ ましょう。 フュージョン開発にてプロ開発者やIT プロ フェッショナルのメンバーと会話を行うとなると、 相手の発言をある程度理解できるようにな ることが求められます。 市民開発者からワンステップ踏み込んだ キャリアを形成したい場合は、プロ開発者や IT プロフェッショナルのメンバーの発言を理 解できるようになるようになってみましょう。 19

20.

※個人の見解です フュージョン開発を見据えたキャリア形成 ~プロ開発者~ プロ開発者 コーディングやクラウド構築により開発を行う開発者 プロ開発者にはコーディングスキルやクラウド 構築スキルが求められます。 従って開発スキルを向上させることの他、新 しい技術動向に興味を持ち成長を続ける ことがフュージョン開発に関わらないとしても 必要になってきます。 また市民開発者からの相談を元に、それは コードファーストで行うべきなのかローコード で行ったほうが良いのか。そもそも課題解決 にそのソリューションは妥当なのかを提案す ることも場合によっては求められてきます。 これらを行うためにはPower Platformを 理解し、またユーザーのビジネスの理解も必 要になってきます。 プロ開発者には市民開発者からみると高い スキルを求められる場合があります。 しかし、すべてを一人で把握するのは限度 があるので、自身が得意といえる分野を見 つけて、その分野の上位を目指すのがいい と思います。 ※クラウドスキルとコーディングスキルAndではなくOrです 20

21.

※個人の見解です フュージョン開発を見据えたキャリア形成 ~IT プロフェッショナル~ IT プロフェッショナル ALMの構築やセキュリティ、ガバナンスの構築を行うIT担当者 IT プロフェッショナルには組織のITガバナン スの構築やセキュリティ設定により、組織内 のITを適切に管理するためのスキルが求め られます。 Power Platformを組織で利用することに なった場合は、フュージョン開発を行わない 場合でも必然的にPower Platformにつ いての理解を深める必要があるかと思いま す。 組織内のIT戦略を適切に行うために、また 情報漏洩を防ぐためにも、Power Platformのメリットやデメリット、権限設定 について把握しておきましょう。 ※ガバナンスとセキュリティ、ALMスキルAndではなくOrです 21

22.

まとめ フュージョン開発のやり方には厳密な答えはなく、迅速なソフトウェア開発を促進するアプローチおよび理念です。 フュージョン開発では、異なる技術スキルを持ったメンバーやビジネススキルを持ったメンバーが 協力してアプリケーションの設計と構築を行い ます。 フュージョン開発を行うチームのリーダーになった場合は、ビジネス要件やソリューションの実装に必要な技術課題について、メンバーの得意 なスキルを評価して課題解決に活用する必要があります。 市民開発者、プロ開発者、IT プロフェッショナル、それぞれが積極的にコミュニケーションを取り、迅速なシステム開発を目指しましょう。 22