Corso Microservices Asp net Rabbitmq
Lo sviluppo in microservizi (Microservices) consiste in un approccio di sviluppo software moderno che entra in scena con l’avvento del cloud computing.
Lo sviluppo in microservices si sposa molto bene con le metodologie Agili. Con i microservices si migliorano i tempi di rilascio, il software è meglio scalabile, componibile, sostituibile ed il deploy viene facilitato.
Con i microservices si intente un’architettura scompattata in piccoli servizi indipendenti che interagiscono fra loro in un sistema distribuito. Il vantaggio di scomporre un’applicazione in molti servizi più piccoli consiste nel migliorare la modularità, migliorare la comprensione, lo sviluppo e il test. Nell’organizzazione del lavoro, lo sviluppo in microservices permette di dividere il team in sotto-gruppi autonomi e paralleli. I microservices permettono la resilienza: quando un componente ha un problema l’applicazione è in grado di continuare a funzionare.
Lo sviluppo in microservices si contrappone al vecchio approccio “monolitico” con architettura multistrato. Oggi sono tante le realtà aziendali che fanno uso dei microservices in produzione. Cosi come si può sviluppare microservizi in Java (vedi Spring Boot e Docker) è anche possibile utilizzare tecnologie Microsoft. In ambiente .Net per lo sviluppo Microservices si utilizza Asp.net Core, message.brokers come RabbitMQ e ProtoBuf.
RabbitMQ è un broker-messenger. E’ un server open-source che implementa il protocollo AMQP (Advanced Message Queuing Protocol). Scritto in Erlang si basa sul framework Open Telecom Platform. L’AMQP è un protocollo di rete applicativo per lo scambio messaggi. RabbitMQ facilita la comunicazione tra i microservizi che compongono un’ applicazione. Asp.net Core è un framework web di Microsoft utile per la creazione di applicazioni nell’architettura a microservizi.
Microsoft Asp.net Core ha numerosi vantaggi: è multipiattaforma (può essere eseguito su Mac, Linux e Windows); facile conteneirizzazione con Docker; buona velocità di prestazioni; è stabile con molte librerie supportate; utilizzabile con IDE diversi; è orientato alla riga di comando; è semplice da avviare (es. usando “dotnet new webap”); è compatibile con Kubernetes. Infine Asp.net Core è gratuito ed open-source.
Obiettivi del Corso-Microservices-Asp-net-Rabbitmq: apprendere le basi per lo sviluppo di applicazioni a microservizi in ambiente Microsoft .Net
Requisiti per i discenti: C#, ASP.NET Core, Entity Framework Core
Requisiti hardware/software: Computer Windows 10/11 con Visual Studio 2022 community o migliore con installato il carico WEB. Installazione RabbitMQ
Corso Microservices Asp net Rabbitmq erogato solo su richiesta e per le aziende. Modalità virtual classroom online o frontale.
Programma didattico Corso-Microservices-Asp-net-Rabbitmq (40 ore):
- Fondamenti di Domain Driven Design
- Architetture a Layer e a Cipolla
- Domain Layer e Aggregati
- Tipi valore
- Command Query Responsibility Segregation (CQRS)
- Repository e Unit of Work
- Application Layer con Query, Command handlers e Event handlers
- DTO e ViewModels
- Usare la riflessione per scoprire Query, Command handlers, Event handlers, e Repositories.
- Comunicazione tra microservizi
- Fondamenti teorici
- Transazioni e saga
- Message brokers: RabbitMq e Azure Service Bus
- Introduzione a RabbitMq
- Resilienza: Polly
- Implementare un Worker Microservice con .NET 6 e RabbitMq
- Host, Dependency Injection e Hosted Services
- Serializzazione binaria e ProtoBuf
- Utilizzare il Client .NET per RabbitMq
- Esempio completo: calcolo del fatturato giornaliero
- Implementare un Frontend Microservice con ASP.NET Core MVC 6
- Frontends e micro-frontends
- Architettura generale
- Implementare il layer dati
- Implementare l’interfaccia domain layer
- Implementare lo application layer