Advanced .NET path | Useful Links

The idea of this post is to collect some curated posts related to .NET to the walkthrough in an Advanced topic of your career.


Architectural Styles and Patterns

Architectural Styles vs. Architectural Patterns vs. Design Patterns by @hgraca

Monolithic vs. Microservices Architecture | by Anton Kharenko | Microservices Practitioner Articles

Software Architecture: Patterns for Developers Online Class | LinkedIn Learning

Microservices Foundations Online Class | LinkedIn Learning

What is SOA (Service-Oriented Architecture)? | IBM

Serverless Architectures

What is a serverless microservice? | Serverless microservices explained | Cloudflare

Additional:

.NET Microservices. Architecture for Containerized .NET Applications | Microsoft Learn

Software Architecture: Breaking a Monolith into Microservices Online Class | LinkedIn Learning

Understand serverless - Serverless Architecture Video Tutorial | LinkedIn Learning

How to Create Application Architecture Diagram Online?

Layered Architectures

1. Layered Architecture - Software Architecture Patterns | O’Reilly Media

Clean architecture tutorial: Design for enterprise-scale apps

Clean Architecture with ASP.NET Core 3.0 • Jason Taylor • GOTO 2019 - YouTube

GitHub - jasontaylordev/CleanArchitecture: Clean Architecture Solution Template for .NET 7

Clean Architecture with ASP.NET Core 6 - YouTube

6. Domain-Driven Design - Layered Architecture - Naresh Bhatia

Clean Architecture Example & Breakdown - CodeOpinion

Comparison of Domain-Driven Design and Clean Architecture Concepts | Khalil Stemmler

Software Architecture AntiPatterns

Spaghetti Code

The Logical vs the Physical: Layered Architecture - Freek Paans

Additional:

Clean Architecture: A Craftsman’s Guide to Software Structure and Design (Robert C. Martin Series): Martin, Robert: 9780134494166: Amazon.com: Books

The Concept of Domain-Driven Design Explained | by Sara Miteva | Microtica | Medium

DDD, Hexagonal, Onion, Clean, CQRS, … How I put it all together – @hgraca

(22) N-Tier / N-Layer Architecture | LinkedIn

AnemicDomainModel

The Anaemic Domain Model is no Anti-Pattern, it’s a SOLID design – SAPM: Course Blog

RESTful Web API

  1. Rest API. Constraints and Core concepts (30m, reading)

    REST Architectural Constraints
    Stateless REST APIs - Advantages of Statelessness in REST
    REST API Response Caching - When and Where?
    What is REST API Versioning and How to Create Versions?

  2. Create web APIs with ASP.NET Core | Microsoft Learn) (1h, reading, overview + tutorials review

  3. ASP.NET Core web API documentation with Swagger / OpenAPI | Microsoft Learn) (1h, reading, OpenAPI implementations for .NET

  4. Best practices for REST API design

    Best practices for REST API (30m, reading)
    REST Resource Naming Guide
    Use web API analyzers

  5. Richardson Maturity Model (30m, reading)

  6. REST vs RPC: What problems are you trying to solve with your APIs? (45m, reading, vision)

    REST vs RPC: What problems are you trying to solve with your APIs?
    Why your APIs should be entity-oriented
    gRPC vs REST: Understanding gRPC, OpenAPI and REST and when to use them in API design

Additional:

  1. Book: ASP.NET Core 2: Building Cross-Platform Back-End Systems

  2. Book: RESTful API Design Patterns and Best Practices

  3. Welcome to OData

    Welcome to OData
    OData Connected Service

  4. GitHub - drminnaar/ranker: A REST API guide with an example project written in C# using .NET 5 (sample project)

  5. Why HATEOAS is useless and what that means for REST | by Andreas Reiser | Medium
    [Opinion]

Message Brased Architecture. Message Broker

  1. Message-oriented Architectures
    Message-oriented Architectures
    Asynchronous message-based communication
    Message Driven vs Event Driven

  2. What is a Message Broker?
    Message Brokers
    5 use cases of message brokers. When you should consider adopting a message broker in your system?

  3. Message Broker Implementations
    List of message broker software
    RabbitMQ Tutorials
    APACHE KAFKA QUICKSTART
    What is Azure Service Bus?

  4. Typical Failures of the Message Based Architectures
    How to handle typical event-driven architecture failures
    Understanding Failure Modes in Message and Event-based Systems

Security, Authentication and Authorization

  1. Authentication and Authorization basics. Authorization options.

    a. https://auth0.com/docs/get-started/identity-fundamentals/authentication-and-authorization

    b. Modern Authentication - Rob Moore (video, 1h)

  2. Identity and access management (IAM)

    a. https://en.wikipedia.org/wiki/Identity_management

    b. https://curity.io/resources/learn/iam-primer

    c. Identity and A\ccess Management: Technical Overview (video, 20m)

  3. AuthN and AuthZ protocols

    a. OAuth 2.0 and OpenID Connect (video, 1h)

    b. Understanding OAuth 2.0
    https://www.youtube.com/watch?v=ikS1gdZQXrc (40m)
    https://www.youtube.com/watch?v=WQM_3Mm1Ewo (Implicit Flow, 45m)
    https://www.youtube.com/watch?v=gnUM3cB3_co (working with certificates, 28m)

    c. OAuth 2.0 & OpenID Connect (OIDC): Technical Overview (video, 20m)

    d. SAML 2.0: Technical Overview (video, 20m)

  4. Security tokens

    a. Token Types

    https://docs.microsoft.com/en-us/azure/active-directory/develop/security-tokens

    https://auth0.com/blog/id-token-access-token-what-is-the-difference/

    b. Details

    https://docs.microsoft.com/en-us/azure/active-directory/develop/access-tokens

    https://docs.microsoft.com/en-us/azure/active-directory/develop/id-tokens

    https://docs.microsoft.com/en-us/azure/active-directory/develop/refresh-tokens

  5. OpenID Connect and OAuth flows

    a. https://darutk.medium.com/diagrams-of-all-the-openid-connect-flows-6968e3990660

    b. https://dzone.com/articles/the-right-flow-for-the-job-which-oauth-20-flow-sho

  6. SSO introductions

  7. Introduction to Multi-Factor Authentication (MFA)

  8. Authentication and Authorization in ASP.NET Core

    a. https://docs.microsoft.com/en-us/aspnet/core/security/authentication

    b. https://docs.microsoft.com/en-us/aspnet/core/security/authorization/introduction

Additional:

  1. Book: Mastering Identity and Access Management with Microsoft Azure

  2. Session vs Token

    a. https://www.baeldung.com/cs/tokens-vs-sessions

    b. https://dev.to/thecodearcher/what-really-is-the-difference-between-session-and-token-based-authentication-2o39

  3. Security Attacks Prevention IN ASP.NET

    a. https://docs.microsoft.com/en-us/aspnet/core/security/anti-request-forgery

    b. https://docs.microsoft.com/en-us/aspnet/core/security/preventing-open-redirects

    c. https://docs.microsoft.com/en-us/aspnet/core/security/cross-site-scripting

  4. OpenID Connect and OAuth flows
    a. https://darutk.medium.com/diagrams-and-movies-of-all-the-oauth-2-0-flows-194f3c3ade85

    b. https://frontegg.com/blog/oauth-flows

  5. IAM Implementations

    a. Identity Server.

    https://docs.duendesoftware.com/identityserver/v6/overview
    https://identityserver4.readthedocs.io/en/latest/ (Obsolete, but still used in a lot of project)

    b. Azure Active Directory (SaaS solution – use your MSDN subscription)

    c. Others

    https://aws.amazon.com/iam
    https://www.okta.com/developers
    https://auth0.com/developers

  6. ASP.Net Core (learning series) + IdentityServer4

    a. https://www.youtube.com/playlist?list=PLOeFnOV9YBa4yaz-uIi5T4ZW3QQGHJQXi

    b. https://www.youtube.com/watch?v=Fhfvbl_KbWo&list=PLOeFnOV9YBa7dnrjpOG6lMpcyd7Wn7E8V (IdentityServer4, old implementation, not supported any more, but works)