SlideShare a Scribd company logo
Power Apps x .NET ~
フュージョン開発によるビジネスアプリケーションの変⾰
鈴⽊ 章太郎
Elastic テクニカルプロダクトマーケティングマネージャー/エバンジェリスト
デジタル庁 省庁業務グループ ソリューションアーキテクト
Elastic
Technical Product Marketing
Manager/Evangelist
デジタル庁
省庁業務グループ
ソリューションアーキテクト
元 Microsoft Technical Evangelist
Twitter : @shosuz
Shotaro Suzuki
• フュージョン開発チームでビジネス ソフトウェア作成を変⾰する
• OpenAPI 対応 Web API を 作成する
• Azure API Management と統合する
• Web API を Power Apps で使⽤する
• まとめ
アジェンダ
フュージョン開発チームでビジネス ソフトウェア作成
を変⾰する
https://docs.microsoft.com/ja-jp/learn/modules/transform-business-software-authoring-with-fusion-dev/
企業における Tech Intensity
• フュージョン開発の上位の考え⽅
• 3つの側⾯
• テクノロジーの積極的な採⽤
• テクノロジーを利活⽤する個⼈の能⼒向上
• テクノロジー利活⽤に対しての組織の信頼
• ⽬的
• 組織のサイロを解体し、チームの⽣産性を向上
させる
• 実践するには、業務上の問題を解決するために、組
織全体から集まった⼈達の⼒が必要
• そのチームが “フュージョンチーム”
フュージョンチーム開発とは
① 市⺠開発者
業務知識を活⽤し、Power
Platform を使⽤してアプリ
ケーションを開発するユーザー
部⾨の⼈達
② プロ開発者
最新かつ⾼度なプログラミング
技術を駆使し、アプリケーション
を開発する⼈達
③ IT管理者
IT 部⾨において運⽤・保守・
セキュリティやガバナンスに⽬を
配る⼈達
企業における Power Platform によるローコード開発には ① 市⺠開発者 ② プロ開発者 ③ IT管理者の役割分担が存在
Power Platform とフュージョン開発
企業、政府・⾃治体等において、Power Platform だけでは満たされない、より複雑な課題がある場合、
• Power Platform 側にプレミアムコネクターも存在しない、既存のシステムとの連携が必要な場合
• データの⼀貫性を維持するために追加のビジネスロジックを構築する必要がある場合
• 他の外部システムも含め常に外部のサービスと連携しなければならない場合
そのような問題に対処するために、フュージョン開発チームとして三者が協業し解決策を⽣み出す
フィールド
在庫管理システム
フュージョンチームにおけるアプリ開発ライフサイクル
• 市⺠開発者
Power Platform でアプリケーションの
プロトタイプを作成
• プロ開発者
外部システムと連携するカスタムコネクタ
(Web API等)を開発
• IT 管理者
プロ開発者に協⼒して出来上がったコネクタ
(Web API等)を市⺠開発者に提供
• 市⺠開発者
1. プロ開発者提供カスタムコネクタを
利⽤し、Power Apps から外部
システムのデータへの参照・更新
などの処理を追加
2. 開発したアプリは、直ちに業務の
利⽤者に試してもらい、フィード
バックを受け、改良を加える
カスタムコネクタ(Web API 等)の作成
• カスタムコネクタ作成と利⽤の流れ
• ① 外部システムと接続する Web
API を作成
(プロ開発者)
• ② 作成した Web API を Azure
API Management に登録し、
カスタムコネクタとして当該組織の
Power Apps環境に公開
(IT管理者)
• ③ 公開されたカスタム API を
Power Platform アプリケーション
に組み込む
(市⺠開発者)
Power Apps を使⽤してアプリを構築するためのフュージョン開発アプローチ
Power Platform のアプリケーションが、外部システムにアクセスするためのカスタムメイドのコネクタ
Visual Studio を使⽤して、OpenAPI 対応
Web API を Azure API Management と
統合する
https://docs.microsoft.com/ja-jp/learn/modules/integrate-openapi-enabled-web-api-with-apim-and-visual-studio/
Swashbackle を使⽤して OpenAPI ドキュメントを⽣成
• Visual Studio を使⽤して Web API
を Azure API Management に
発⾏するには、その前に OpenAPI
ドキュメントを⽤意する必要あり
• OpenAPI ドキュメントは、Web API
のエンドポイントを検出するために API
Management によって使⽤される
• Swashbuckle ツールを使⽤すれば
開発者は OpenAPI ドキュメントを
これまでよりも簡単に作成できる
ASP.NET Core Web API アプリケーションから OpenAPI ドキュメントを⽣成する
Swashbuckle ですべての API エンドポイントの詳細、ペイロード構造、セキュリティ要件
などを含む OpenAPI ドキュメントを即座に⽣成
OpenAPI 対応 Web API を Azure App Services に発⾏
• 開発ツール(Visual Studio)
ですべてが 1 か所で実⾏でき
時間を節約し⽣産性を向上
• フュージョン開発では時間が最重要
• コードを記述しアプリをビルドしてから、
あるツールを使⽤してアプリをデプロイ
• コードに戻り、それを更新して、デプロイ
⽤の他のツールに切り替え
• ツール間の切り替えにかかるコストは
膨⼤で最終的には⽣産性が低下
コードからデプロイまでの Visual Studio でのシームレスな開発エクスペリエンス
Azure App Service にアプリを
発⾏する機能
アプリの発⾏中に
Web API を Azure API
Management と統合する
機能
OpenAPI 対応 Web API を Azure API Management と統合
• Azure API Management
で Web API の統合を確認
• Azure portal にログインし、
キーワード api management
を、Azure portal の上部の
検索バーに⼊⼒
• [API Management サービス]
が表⽰されたらクリック
• [API] ブレードにアクセスし、API
を選択
• /api/ - GET 操作を選択し、
ページの中央にある [テスト]
タブをクリック
Azure App Service で実⾏されている Web API アプリケーションを Azure API Management と統合
Web API を Power Apps で使⽤する
https://docs.microsoft.com/ja-jp/learn/modules/discover-web-apis-power-apps/
カスタムコネクタとは︖またその使⽤例について
• Power Apps を Microsoft および
Microsoft 以外のサービスに接続する
数百の予め構築されたコネクタ
• しかし、特定のシステムの在庫管理
Web API など、あらかじめ構築されて
いるコネクタとして⽤意されていない
サービスと通信する場合がある
• カスタムコネクタ は、Power Apps
アプリケーションから Azure API
Management にホストされた Web
API 呼び出しにより、独⾃のアクション
を使⽤したコネクタの作成を可能にする
Power Platform のアプリケーションが外部システムにアクセスするためのカスタムメイドのコネクタ
コネクタと接続の⽐較
カスタム コネクタは、Web API のラッパーであり、Power Apps と Web API の通信を可能にする
ただし、カスタム コネクタ⾃体は、接続を作成しない限り何もしない
• コネクタ は、Web API のホストと操作の詳細を認識
• 接続 は資格情報を認識し、Web API との通信を容易にする コネクタ への参照を含む
カスタム コネクタが⽣成されると、Power Apps ページに表⽰される
カスタム コネクタは、Azure API Management
からエクスポートすることで作成できる
これにより、Power Apps アプリ開発者は、
カスタム コネクタを使⽤して、
Web API のアドレスや機能を知ることなく、
Web API を使⽤できる
Azure API Management を使ってカスタムコネクタを作成
• カスタムコネクタ作成と利⽤の流れ
• ① 外部システムと接続する Web
API を作成
(プロ開発者)
• ② 作成した Web API を Azure
API Management に登録し、カ
スタムコネクタとして 当該組織の
Power Apps環境に公開
(IT管理者)
• ③ 公開されたカスタム API を
Power Platform アプリケーション
に組み込む
(市⺠開発者)
API Management からカスタム コネクタへの Web API のエクスポート
OpenAPI ドキュメントを使ってカスタムコネクタを作成
市⺠開発者にとって最も重要な利点
• 依存関係の解消:
• OpenAPI ドキュメントの使⽤により、誰かが
API Management からカスタムコネクタを
作成するのを待つ必要なく、⾃⾝でカスタム
コネクタを作成できる
• 専⾨的な開発チームでは、Web API ⾃体
に OpenAPI ドキュメント⽣成機能を含める
のが⼀般的
• URL にアクセスして OpenAPI ドキュメント
をダウンロードし、このドキュメントを使⽤する
カスタム コネクタを作成できる
• アジリティの向上:
• Web API 開発チームにより OpenAPI の
ドキュメントが提供できるため、Power Apps
の開発ペースが上がる
• カスタムコネクタの作成と使⽤について、今後
開発者に依存する必要がなくなる
カスタム コネクタに対して OpenAPI ドキュメントを使⽤する理由
契約が同じである限り、OpenAPI は Web API の実際の実装の知識は必要あり
Power Apps アプリから Web API を呼び出すカスタムコネクタを使⽤
作成されテストされた Web API をキャンバス アプリで使⽤する
公開されたカスタム API をPower Platform アプリケーションに組み込む
Power Apps x .NET ~ Transforming Business Applications with Fusion Development
まとめ
リソース
• フュージョン開発チームでビジネス ソフトウェア作成を変⾰する
http://docs.microsoft.com/ja-jp/learn/modules/transform-business-software-authoring-with-fusion-dev/
• Power Apps を使⽤してアプリを構築するためのフュージョン開発アプローチ
https://aka.ms/fusiondevbook
• Web API を Power Apps で使⽤する
http://docs.microsoft.com/ja-jp/learn/modules/discover-web-apis-power-apps/
• Visual Studio を使⽤して、OpenAPI 対応 Web API を Azure API Management と統合する
http://docs.microsoft.com/ja-jp/learn/modules/integrate-openapi-enabled-web-api-with-apim-and-visual-studio/
• Fusion Developers - Exercise files for the fusion devs learning path modules
https://github.com/MicrosoftDocs/mslearn-developer-tools-power-platform/tree/master/fusion-developers
Thank you for your attention!

More Related Content

PDF
This is how our first offline technical event in three years was able to succ...
PDF
Introducing the new features of the Elastic 8.6 release.pdf
PDF
NET MAUI for .NET 7 for iOS, Android app development
PDF
What's New in the Elastic 8.5 Release
PDF
Centralized Observability for the Azure Ecosystem
PDF
What's New in the Elastic 8.4 Release
PDF
devreljapan2022evaadvoc-final.pdf
PDF
elastic-mabl-co-webinar-20220729
This is how our first offline technical event in three years was able to succ...
Introducing the new features of the Elastic 8.6 release.pdf
NET MAUI for .NET 7 for iOS, Android app development
What's New in the Elastic 8.5 Release
Centralized Observability for the Azure Ecosystem
What's New in the Elastic 8.4 Release
devreljapan2022evaadvoc-final.pdf
elastic-mabl-co-webinar-20220729

More from Shotaro Suzuki (20)

PDF
Application development with c#, .net 6, blazor web assembly, asp.net web api...
PDF
Discover what's new in the Elastic 8.3 release - Find, monitor, and protect e...
PDF
Building a search experience with Elastic – Introducing Elastic's latest samp...
PDF
Developing .NET 6 Blazor WebAssemby apps with Radzen Blazor component library...
PDF
Elastic x Microsoft Azure Integration Evolution - Integrated Monitoring for S...
PDF
Building 3D mobile apps using Power Apps Mixed Reality controls, Azure SQL Da...
PDF
What's New in the Elastic 8.2 Release - Seamless User Experience with Search -
PDF
Application development with c#, .net 6, blazor web assembly, asp.net web api...
PDF
Building Software Reliability through Distributed Tracing.pdf
PDF
Building a Flutter Development Environment with VSCode and Useful Extensions
PDF
Application development with c#, .net 6, blazor web assembly, asp.net web api...
PDF
Introducing Elastic 8.1 Release - More Integration, Faster Indexing Speed, Lo...
PDF
Application development with c#, .net 6, blazor web assembly, asp.net web api...
PDF
Introducing the elastic 8.0 release a new era of speed, scale, relevance, and...
PDF
Developers-Summit-2022_Improving-Digital-Customer-Experience-with-Enterprise_...
PDF
Firebase, Firestore Extension for Elastic App Search Integration-20220216
PDF
Let's build a simple app with .net 6 asp.net core web api, react, and elasti...
PDF
Firebase, Firestore Extension for Elastic App Search Integration
PDF
Building React, Flutter and Blazor development and debugging environment with...
PDF
Building simple-app-using-.net 6 asp.net core web api-blazor web assembly-ela...
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Discover what's new in the Elastic 8.3 release - Find, monitor, and protect e...
Building a search experience with Elastic – Introducing Elastic's latest samp...
Developing .NET 6 Blazor WebAssemby apps with Radzen Blazor component library...
Elastic x Microsoft Azure Integration Evolution - Integrated Monitoring for S...
Building 3D mobile apps using Power Apps Mixed Reality controls, Azure SQL Da...
What's New in the Elastic 8.2 Release - Seamless User Experience with Search -
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Building Software Reliability through Distributed Tracing.pdf
Building a Flutter Development Environment with VSCode and Useful Extensions
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Introducing Elastic 8.1 Release - More Integration, Faster Indexing Speed, Lo...
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Introducing the elastic 8.0 release a new era of speed, scale, relevance, and...
Developers-Summit-2022_Improving-Digital-Customer-Experience-with-Enterprise_...
Firebase, Firestore Extension for Elastic App Search Integration-20220216
Let's build a simple app with .net 6 asp.net core web api, react, and elasti...
Firebase, Firestore Extension for Elastic App Search Integration
Building React, Flutter and Blazor development and debugging environment with...
Building simple-app-using-.net 6 asp.net core web api-blazor web assembly-ela...

Power Apps x .NET ~ Transforming Business Applications with Fusion Development

  • 1. Power Apps x .NET ~ フュージョン開発によるビジネスアプリケーションの変⾰ 鈴⽊ 章太郎 Elastic テクニカルプロダクトマーケティングマネージャー/エバンジェリスト デジタル庁 省庁業務グループ ソリューションアーキテクト
  • 3. • フュージョン開発チームでビジネス ソフトウェア作成を変⾰する • OpenAPI 対応 Web API を 作成する • Azure API Management と統合する • Web API を Power Apps で使⽤する • まとめ アジェンダ
  • 5. 企業における Tech Intensity • フュージョン開発の上位の考え⽅ • 3つの側⾯ • テクノロジーの積極的な採⽤ • テクノロジーを利活⽤する個⼈の能⼒向上 • テクノロジー利活⽤に対しての組織の信頼 • ⽬的 • 組織のサイロを解体し、チームの⽣産性を向上 させる • 実践するには、業務上の問題を解決するために、組 織全体から集まった⼈達の⼒が必要 • そのチームが “フュージョンチーム”
  • 6. フュージョンチーム開発とは ① 市⺠開発者 業務知識を活⽤し、Power Platform を使⽤してアプリ ケーションを開発するユーザー 部⾨の⼈達 ② プロ開発者 最新かつ⾼度なプログラミング 技術を駆使し、アプリケーション を開発する⼈達 ③ IT管理者 IT 部⾨において運⽤・保守・ セキュリティやガバナンスに⽬を 配る⼈達 企業における Power Platform によるローコード開発には ① 市⺠開発者 ② プロ開発者 ③ IT管理者の役割分担が存在
  • 7. Power Platform とフュージョン開発 企業、政府・⾃治体等において、Power Platform だけでは満たされない、より複雑な課題がある場合、 • Power Platform 側にプレミアムコネクターも存在しない、既存のシステムとの連携が必要な場合 • データの⼀貫性を維持するために追加のビジネスロジックを構築する必要がある場合 • 他の外部システムも含め常に外部のサービスと連携しなければならない場合 そのような問題に対処するために、フュージョン開発チームとして三者が協業し解決策を⽣み出す フィールド 在庫管理システム
  • 8. フュージョンチームにおけるアプリ開発ライフサイクル • 市⺠開発者 Power Platform でアプリケーションの プロトタイプを作成 • プロ開発者 外部システムと連携するカスタムコネクタ (Web API等)を開発 • IT 管理者 プロ開発者に協⼒して出来上がったコネクタ (Web API等)を市⺠開発者に提供 • 市⺠開発者 1. プロ開発者提供カスタムコネクタを 利⽤し、Power Apps から外部 システムのデータへの参照・更新 などの処理を追加 2. 開発したアプリは、直ちに業務の 利⽤者に試してもらい、フィード バックを受け、改良を加える
  • 9. カスタムコネクタ(Web API 等)の作成 • カスタムコネクタ作成と利⽤の流れ • ① 外部システムと接続する Web API を作成 (プロ開発者) • ② 作成した Web API を Azure API Management に登録し、 カスタムコネクタとして当該組織の Power Apps環境に公開 (IT管理者) • ③ 公開されたカスタム API を Power Platform アプリケーション に組み込む (市⺠開発者) Power Apps を使⽤してアプリを構築するためのフュージョン開発アプローチ Power Platform のアプリケーションが、外部システムにアクセスするためのカスタムメイドのコネクタ
  • 10. Visual Studio を使⽤して、OpenAPI 対応 Web API を Azure API Management と 統合する https://docs.microsoft.com/ja-jp/learn/modules/integrate-openapi-enabled-web-api-with-apim-and-visual-studio/
  • 11. Swashbackle を使⽤して OpenAPI ドキュメントを⽣成 • Visual Studio を使⽤して Web API を Azure API Management に 発⾏するには、その前に OpenAPI ドキュメントを⽤意する必要あり • OpenAPI ドキュメントは、Web API のエンドポイントを検出するために API Management によって使⽤される • Swashbuckle ツールを使⽤すれば 開発者は OpenAPI ドキュメントを これまでよりも簡単に作成できる ASP.NET Core Web API アプリケーションから OpenAPI ドキュメントを⽣成する Swashbuckle ですべての API エンドポイントの詳細、ペイロード構造、セキュリティ要件 などを含む OpenAPI ドキュメントを即座に⽣成
  • 12. OpenAPI 対応 Web API を Azure App Services に発⾏ • 開発ツール(Visual Studio) ですべてが 1 か所で実⾏でき 時間を節約し⽣産性を向上 • フュージョン開発では時間が最重要 • コードを記述しアプリをビルドしてから、 あるツールを使⽤してアプリをデプロイ • コードに戻り、それを更新して、デプロイ ⽤の他のツールに切り替え • ツール間の切り替えにかかるコストは 膨⼤で最終的には⽣産性が低下 コードからデプロイまでの Visual Studio でのシームレスな開発エクスペリエンス Azure App Service にアプリを 発⾏する機能 アプリの発⾏中に Web API を Azure API Management と統合する 機能
  • 13. OpenAPI 対応 Web API を Azure API Management と統合 • Azure API Management で Web API の統合を確認 • Azure portal にログインし、 キーワード api management を、Azure portal の上部の 検索バーに⼊⼒ • [API Management サービス] が表⽰されたらクリック • [API] ブレードにアクセスし、API を選択 • /api/ - GET 操作を選択し、 ページの中央にある [テスト] タブをクリック Azure App Service で実⾏されている Web API アプリケーションを Azure API Management と統合
  • 14. Web API を Power Apps で使⽤する https://docs.microsoft.com/ja-jp/learn/modules/discover-web-apis-power-apps/
  • 15. カスタムコネクタとは︖またその使⽤例について • Power Apps を Microsoft および Microsoft 以外のサービスに接続する 数百の予め構築されたコネクタ • しかし、特定のシステムの在庫管理 Web API など、あらかじめ構築されて いるコネクタとして⽤意されていない サービスと通信する場合がある • カスタムコネクタ は、Power Apps アプリケーションから Azure API Management にホストされた Web API 呼び出しにより、独⾃のアクション を使⽤したコネクタの作成を可能にする Power Platform のアプリケーションが外部システムにアクセスするためのカスタムメイドのコネクタ コネクタと接続の⽐較 カスタム コネクタは、Web API のラッパーであり、Power Apps と Web API の通信を可能にする ただし、カスタム コネクタ⾃体は、接続を作成しない限り何もしない • コネクタ は、Web API のホストと操作の詳細を認識 • 接続 は資格情報を認識し、Web API との通信を容易にする コネクタ への参照を含む カスタム コネクタが⽣成されると、Power Apps ページに表⽰される カスタム コネクタは、Azure API Management からエクスポートすることで作成できる これにより、Power Apps アプリ開発者は、 カスタム コネクタを使⽤して、 Web API のアドレスや機能を知ることなく、 Web API を使⽤できる
  • 16. Azure API Management を使ってカスタムコネクタを作成 • カスタムコネクタ作成と利⽤の流れ • ① 外部システムと接続する Web API を作成 (プロ開発者) • ② 作成した Web API を Azure API Management に登録し、カ スタムコネクタとして 当該組織の Power Apps環境に公開 (IT管理者) • ③ 公開されたカスタム API を Power Platform アプリケーション に組み込む (市⺠開発者) API Management からカスタム コネクタへの Web API のエクスポート
  • 17. OpenAPI ドキュメントを使ってカスタムコネクタを作成 市⺠開発者にとって最も重要な利点 • 依存関係の解消: • OpenAPI ドキュメントの使⽤により、誰かが API Management からカスタムコネクタを 作成するのを待つ必要なく、⾃⾝でカスタム コネクタを作成できる • 専⾨的な開発チームでは、Web API ⾃体 に OpenAPI ドキュメント⽣成機能を含める のが⼀般的 • URL にアクセスして OpenAPI ドキュメント をダウンロードし、このドキュメントを使⽤する カスタム コネクタを作成できる • アジリティの向上: • Web API 開発チームにより OpenAPI の ドキュメントが提供できるため、Power Apps の開発ペースが上がる • カスタムコネクタの作成と使⽤について、今後 開発者に依存する必要がなくなる カスタム コネクタに対して OpenAPI ドキュメントを使⽤する理由 契約が同じである限り、OpenAPI は Web API の実際の実装の知識は必要あり
  • 18. Power Apps アプリから Web API を呼び出すカスタムコネクタを使⽤ 作成されテストされた Web API をキャンバス アプリで使⽤する 公開されたカスタム API をPower Platform アプリケーションに組み込む
  • 21. リソース • フュージョン開発チームでビジネス ソフトウェア作成を変⾰する http://docs.microsoft.com/ja-jp/learn/modules/transform-business-software-authoring-with-fusion-dev/ • Power Apps を使⽤してアプリを構築するためのフュージョン開発アプローチ https://aka.ms/fusiondevbook • Web API を Power Apps で使⽤する http://docs.microsoft.com/ja-jp/learn/modules/discover-web-apis-power-apps/ • Visual Studio を使⽤して、OpenAPI 対応 Web API を Azure API Management と統合する http://docs.microsoft.com/ja-jp/learn/modules/integrate-openapi-enabled-web-api-with-apim-and-visual-studio/ • Fusion Developers - Exercise files for the fusion devs learning path modules https://github.com/MicrosoftDocs/mslearn-developer-tools-power-platform/tree/master/fusion-developers
  • 22. Thank you for your attention!