Slide 1

Slide 1 text

Web API 開発を加速しよう - Avanade Beef のご紹介 .NET ラボ 勉強会 2022 年 4 月 2022/4/23 篠原 敬志 (@karamem0)

Slide 2

Slide 2 text

自己紹介 篠原敬志 (Takashi Shinohara) アバナード株式会社 マネージャー Microsoft MVP for Office Development (2018-) Japan M365 Dev User Group 運営 SharePoint をベースとしたアプリケーション開発に従事していました。近 年は Power Platform、Microsoft 365、Microsoft Azure を使った DX の支援を実施しています。アジャイル コーチ/スクラム マスターとしても 活動しています。

Slide 3

Slide 3 text

アバナードについて アクセンチュア × マイクロソフト = アバナード

Slide 4

Slide 4 text

本日のアジェンダ What is our problem? What is Beef? How to use Beef?

Slide 5

Slide 5 text

アプリ開発の課題 マイクロサービス マルチデバイス アジリティ

Slide 6

Slide 6 text

アプリ開発に求められるもの 簡単な構成で 素早く構築でき 変化に強く 生産性が高い

Slide 7

Slide 7 text

本日のアジェンダ What is your problem? What is Beef? How to use Beef?

Slide 8

Slide 8 text

Beef とは ビジネス エンティティ実行フレームワーク データ ドリブンでコードを自動生成することで Web API 開発のローコード化を実現 MIT ライセンスで公開 https://github.com/Avanade/Beef

Slide 9

Slide 9 text

Beef が目指すもの 価値: ビジネス価値に集中 速度: コストと市場投入までの時間を短縮 シンプル: 学習を最小限に低減 標準化: 知識豊富な人材の増加 一貫性: 全体的な品質と保守性の向上 柔軟性: イノベーションと進化の実現 信頼性: 納期とリスクの軽減

Slide 10

Slide 10 text

Beef の機能 リッチなエンティティ (DTO) とリレーション データの整合性と一貫性を保証するバリデーション 標準化されたデータベースの CRUD の作成 データベースのセットアップ、構成、デプロイを自動化するためのツール ページング (skip および top) のサポート ETag での同時実行制御のサポート JSON レスポンスのフィルタリング HTTP PATCH のサポート gRPC サーバーとの統合 イベント駆動型アーキテクチャ

Slide 11

Slide 11 text

Beef の概念アーキテクチャ

Slide 12

Slide 12 text

Beef のアプリケーション レイヤー

Slide 13

Slide 13 text

Beef のイベント駆動型アーキテクチャ

Slide 14

Slide 14 text

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)

Slide 15

Slide 15 text

本日のアジェンダ What is your problem? What is Beef? How to use Beef?

Slide 16

Slide 16 text

DEMO https://github.com/Avanade/Beef/blob/master/docs/Sample-EntityFramework- GettingStarted.md

Slide 17

Slide 17 text

まとめ

Slide 18

Slide 18 text

まとめ 価値を最大化するためにはできるだけ無駄をなくさなければならない 自動化できるところは楽をして価値を生み出す作業に集中するべき DX 推進にはシステムを API として提供する必要がある 👇 Beef はいいぞ

Slide 19

Slide 19 text

ご清聴ありがとうございました