1 2 3 4 5 6 ... Last (14) Event-driven integration #4 - Outbox publisher (feat. IHostedService & Channels) [ASPF02O|E043] In this episode, we’ll implement the outbox publisher, or better yet, two versions of it, one better suited for lower latency and another for reliability. As we continue our event-driven path, this will be a good opportunity to introduce a couple of interesting .NET Core features: IHostedService (and BackgroundService) and System.Threading.Channels. May 7, 2020 Categories: fromzerotooverkill dotnet Tags: dotnet aspnetcore efcore channels ihostedservice Event-driven integration #3 - Storing events in the outbox table [ASPF02O|E042] On the footsteps of the last episode, in this one we store the inferred events in the outbox table, doing so transactionally, so we have guarantees that any change will eventually result in a published event. April 28, 2020 Categories: fromzerotooverkill dotnet Tags: dotnet aspnetcore efcore Event-driven integration #2 - Inferring events from EF Core changes [ASPF02O|E041] In this first step implementing event-driven integration between services, we’ll hook-up into EF Core’s infrastructure, namely when saving changes, to infer if any event should be raised based on the information provided by the change tracker. April 20, 2020 Categories: fromzerotooverkill dotnet Tags: dotnet aspnetcore efcore Event-driven integration #1 - Intro to the transactional outbox pattern [ASPF02O|E040] As we start implementing event-driven integration, the first thing we need to do is publish the events. Although it might seem straightforward, there are some important things to consider in order to make it work reliably. In this episode, we discuss the challenges and introduce the transactional outbox pattern to help us facing these challenges. April 13, 2020 Categories: fromzerotooverkill dotnet Tags: dotnet aspnetcore Event-driven integration - Overview [ASPF02O|E039] In this episode, we take a look at the integration problem we have between services right now, go through some options to avoid or fix it, then have a quick overview of the solution we’ll be implementing in the coming episodes. April 5, 2020 Categories: fromzerotooverkill dotnet Tags: dotnet aspnetcore More explicit domain error handling and fewer exceptions with Either and Error types [ASPF02O|E038] Following up on the last episode about the Optional type, we continue taking inspiration from functional languages and introduce Either and Error types, as a way to make the possible business logic outcomes more explicit and minimize using exceptions in non-exceptional situations. March 2, 2020 Categories: fromzerotooverkill dotnet Tags: dotnet aspnetcore Better use of types - avoiding nulls with an Optional type [ASPF02O|E037] In this post, we’ll make use of a concept most commonly associated with functional programming, the Optional type (aka Option or Maybe), in order to make our code safer and more explicit when expressing a lack of value, instead of leaning on the null reference, something that I’m sure has burned us many times in the past. February 17, 2020 Categories: fromzerotooverkill dotnet Tags: dotnet aspnetcore E036 - Making things more object oriented with rich domain entities - ASPF02O In this episode, we’ll make things more object oriented, by moving some logic that’s present in the request handlers, which in fact should be present in the domain entities, that currently are just bags of data with public getters and setters. February 6, 2020 Categories: fromzerotooverkill dotnet Tags: dotnet aspnetcore A look at Building the Future 2020 This past week I had the opportunity to attend Building the Future 2020, an event focused on digital transformation, so I thought about sharing some of the main topics that stuck with me. February 4, 2020 Categories: smalltalk Tags: smalltalk E035 - Experimenting with (yet) another approach to data access organization - ASPF02O In this episode, we’ll take a look at (yet) another approach to organizing data access code, very likely overkill. January 20, 2020 Categories: fromzerotooverkill dotnet Tags: dotnet aspnetcore 1 2 3 4 5 6 ... Last (14)
Event-driven integration #4 - Outbox publisher (feat. IHostedService & Channels) [ASPF02O|E043] In this episode, we’ll implement the outbox publisher, or better yet, two versions of it, one better suited for lower latency and another for reliability. As we continue our event-driven path, this will be a good opportunity to introduce a couple of interesting .NET Core features: IHostedService (and BackgroundService) and System.Threading.Channels. May 7, 2020 Categories: fromzerotooverkill dotnet Tags: dotnet aspnetcore efcore channels ihostedservice
Event-driven integration #3 - Storing events in the outbox table [ASPF02O|E042] On the footsteps of the last episode, in this one we store the inferred events in the outbox table, doing so transactionally, so we have guarantees that any change will eventually result in a published event. April 28, 2020 Categories: fromzerotooverkill dotnet Tags: dotnet aspnetcore efcore
Event-driven integration #2 - Inferring events from EF Core changes [ASPF02O|E041] In this first step implementing event-driven integration between services, we’ll hook-up into EF Core’s infrastructure, namely when saving changes, to infer if any event should be raised based on the information provided by the change tracker. April 20, 2020 Categories: fromzerotooverkill dotnet Tags: dotnet aspnetcore efcore
Event-driven integration #1 - Intro to the transactional outbox pattern [ASPF02O|E040] As we start implementing event-driven integration, the first thing we need to do is publish the events. Although it might seem straightforward, there are some important things to consider in order to make it work reliably. In this episode, we discuss the challenges and introduce the transactional outbox pattern to help us facing these challenges. April 13, 2020 Categories: fromzerotooverkill dotnet Tags: dotnet aspnetcore
Event-driven integration - Overview [ASPF02O|E039] In this episode, we take a look at the integration problem we have between services right now, go through some options to avoid or fix it, then have a quick overview of the solution we’ll be implementing in the coming episodes. April 5, 2020 Categories: fromzerotooverkill dotnet Tags: dotnet aspnetcore
More explicit domain error handling and fewer exceptions with Either and Error types [ASPF02O|E038] Following up on the last episode about the Optional type, we continue taking inspiration from functional languages and introduce Either and Error types, as a way to make the possible business logic outcomes more explicit and minimize using exceptions in non-exceptional situations. March 2, 2020 Categories: fromzerotooverkill dotnet Tags: dotnet aspnetcore
Better use of types - avoiding nulls with an Optional type [ASPF02O|E037] In this post, we’ll make use of a concept most commonly associated with functional programming, the Optional type (aka Option or Maybe), in order to make our code safer and more explicit when expressing a lack of value, instead of leaning on the null reference, something that I’m sure has burned us many times in the past. February 17, 2020 Categories: fromzerotooverkill dotnet Tags: dotnet aspnetcore
E036 - Making things more object oriented with rich domain entities - ASPF02O In this episode, we’ll make things more object oriented, by moving some logic that’s present in the request handlers, which in fact should be present in the domain entities, that currently are just bags of data with public getters and setters. February 6, 2020 Categories: fromzerotooverkill dotnet Tags: dotnet aspnetcore
A look at Building the Future 2020 This past week I had the opportunity to attend Building the Future 2020, an event focused on digital transformation, so I thought about sharing some of the main topics that stuck with me. February 4, 2020 Categories: smalltalk Tags: smalltalk
E035 - Experimenting with (yet) another approach to data access organization - ASPF02O In this episode, we’ll take a look at (yet) another approach to organizing data access code, very likely overkill. January 20, 2020 Categories: fromzerotooverkill dotnet Tags: dotnet aspnetcore