Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Web API 開発を加速しよう - Avanade Beef のご紹介 / Accelerate your web API - development introducing Avanade Beef

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

More Decks by Takashi Shinohara

Other Decks in Programming

Transcript

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  11. Beef の概念アーキテクチャ

    View Slide

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

    View Slide

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

    View Slide

  14. 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)

    View Slide

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

    View Slide

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

    View Slide

  17. まとめ

    View Slide

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

    View Slide

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

    View Slide