Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Web API 開発を加速しよう - Avanade Beef のご紹介 / Accelerate your web API - development introducing Avanade Beef
Takashi Shinohara
April 23, 2022
Programming
0
1.1k
Web API 開発を加速しよう - Avanade Beef のご紹介 / Accelerate your web API - development introducing Avanade Beef
.NET ラボ 勉強会 2022 年 5 月 (
https://dotnetlab.connpass.com/event/246279
) に登壇したときのスライドです。
Takashi Shinohara
April 23, 2022
Tweet
Share
More Decks by Takashi Shinohara
See All by Takashi Shinohara
Fluent UI を理解する / Understanding Fluent UI
karamem0
0
110
Microsoft Teams の 会議アプリ開発のはじめかた / How to start Microsoft Teams app development
karamem0
0
2.6k
Japan Microsot 365 Developer Community Day 2021: Microsoft Teams ハンズオン / Japan Microsot 365 Developer Community Day 2021: Microsoft Teams Hands-on
karamem0
0
10
Microsoft 365 開発をはじめる人のための React 超入門 / Super introduction to react for those starting Microsoft 365 development
karamem0
0
720
Microsoft Build 2021 最新版! Microsoft Teams アプリ開発のいま / Microsoft Teams app development now (Microsoft Build 2021 latest version)
karamem0
0
1.2k
スクラムで Power Apps 開発をやってみた / Tried to develop Power Apps with Scrum
karamem0
1
1.9k
Power Apps/Power Automate for Office 365 でできる SharePoint リストを使ったアプリの構築 / Building apps with SharePoint lists via Power Apps and Power Automate for Office 365
karamem0
1
4.1k
Global Microsoft 365 Developer Bootcamp 2020 Tokyo: Teams 開発ハンズオン / Hands-on training for Global Microsoft 365 Developer Bootcamp 2020 Tokyo: Teams Development
karamem0
0
320
Azure AD でセキュリティ保護された Web アプリケーションで Microsoft Graph を使用する / Using Microsoft Graph in Azure AD secured web applications
karamem0
0
470
Other Decks in Programming
See All in Programming
はてなリモートインターンシップ2022 フロントエンドブートキャンプ 講義資料
hatena
0
120
僕が考えた超最強のKMMアプリの作り方
spbaya0141
0
180
Swift Concurrency in GoodNotes
inamiy
4
1.3k
23年のJavaトレンドは?Quarkusで理解するコンテナネイティブJava
tatsuya1bm
1
120
TypeScript 4.9のas const satisfiesが便利
tonkotsuboy_com
9
2.3k
Qiita Night PHP 2023
fuwasegu
0
10k
なぜRubyコミュニティにコミットするのか?
luccafort
0
300
Form実装基本を学び直してみた
hyugatsukui
0
240
Quarto Tips for Academic Presentation
nicetak
0
910
Workshop on Jetpack compose
aldefy
0
140
社会人 20 年目エンジニア、発信で技術学びなおしてる話
e99h2121
1
140
低レイヤーから始める GUI
fadis
18
9.3k
Featured
See All Featured
Visualization
eitanlees
128
12k
Fireside Chat
paigeccino
16
1.8k
Navigating Team Friction
lara
176
12k
The Art of Programming - Codeland 2020
erikaheidi
35
11k
A designer walks into a library…
pauljervisheath
199
16k
The Web Native Designer (August 2011)
paulrobertlloyd
76
2.2k
A Philosophy of Restraint
colly
193
15k
For a Future-Friendly Web
brad_frost
166
7.8k
Three Pipe Problems
jasonvnalue
89
8.9k
Building Better People: How to give real-time feedback that sticks.
wjessup
346
17k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
152
13k
Adopting Sorbet at Scale
ufuk
65
7.8k
Transcript
Web API 開発を加速しよう - Avanade Beef のご紹介 .NET ラボ 勉強会
2022 年 4 月 2022/4/23 篠原 敬志 (@karamem0)
自己紹介 篠原敬志 (Takashi Shinohara) アバナード株式会社 マネージャー Microsoft MVP for Office
Development (2018-) Japan M365 Dev User Group 運営 SharePoint をベースとしたアプリケーション開発に従事していました。近 年は Power Platform、Microsoft 365、Microsoft Azure を使った DX の支援を実施しています。アジャイル コーチ/スクラム マスターとしても 活動しています。
アバナードについて アクセンチュア × マイクロソフト = アバナード
本日のアジェンダ What is our problem? What is Beef? How to
use Beef?
アプリ開発の課題 マイクロサービス マルチデバイス アジリティ
アプリ開発に求められるもの 簡単な構成で 素早く構築でき 変化に強く 生産性が高い
本日のアジェンダ What is your problem? What is Beef? How to
use Beef?
Beef とは ビジネス エンティティ実行フレームワーク データ ドリブンでコードを自動生成することで Web API 開発のローコード化を実現 MIT
ライセンスで公開 https://github.com/Avanade/Beef
Beef が目指すもの 価値: ビジネス価値に集中 速度: コストと市場投入までの時間を短縮 シンプル: 学習を最小限に低減 標準化: 知識豊富な人材の増加
一貫性: 全体的な品質と保守性の向上 柔軟性: イノベーションと進化の実現 信頼性: 納期とリスクの軽減
Beef の機能 リッチなエンティティ (DTO) とリレーション データの整合性と一貫性を保証するバリデーション 標準化されたデータベースの CRUD の作成 データベースのセットアップ、構成、デプロイを自動化するためのツール
ページング (skip および top) のサポート ETag での同時実行制御のサポート JSON レスポンスのフィルタリング HTTP PATCH のサポート gRPC サーバーとの統合 イベント駆動型アーキテクチャ
Beef の概念アーキテクチャ
Beef のアプリケーション レイヤー
Beef のイベント駆動型アーキテクチャ
Beef のテンプレート .NET Core のカスタム テンプレートによりプロジェクトを簡単に作成可能 プロジェクト 説明 Company.AppName.Api サービス
インターフェイス Company.AppName.Business ビジネス ロジック コンポーネント Company.AppName.CodeGen エンティティおよび参照データコード生成コンソールツール Company.AppName.Common エンティティおよびサービス エージェントの共通コンポーネント Company.AppName.Database データベースおよびデータ管理コンソールツール Company.AppName.Test テストプロジェクト (NUnit) データソースの種類を選択可能 (Database, EntityFramework, Cosmos)
本日のアジェンダ What is your problem? What is Beef? How to
use Beef?
DEMO https://github.com/Avanade/Beef/blob/master/docs/Sample-EntityFramework- GettingStarted.md
まとめ
まとめ 価値を最大化するためにはできるだけ無駄をなくさなければならない 自動化できるところは楽をして価値を生み出す作業に集中するべき DX 推進にはシステムを API として提供する必要がある 👇 Beef はいいぞ
ご清聴ありがとうございました