A hands-on workshop covering HTTP, REST, GraphQL, gRPC, RabbitMQ, and SignalR: what they do, why you would use them, and how they all work with C# and .NET Core.
Once upon a time, software was simple. You built a website, connected it to a database, and you were done. Then customers started asking for APIs, mobile apps, notification emails, realtime chat. Cloud hosting enabled “elastic” systems – websites that automatically scale up to handle demand; message queues and publish/subscribe patterns to handle spikes in traffic and workload without impacting your end users.
If you’re just starting out with distributed systems design, the possibilities can be overwhelming. APIs, message queueing, REST, GraphQL, gRPC… what should you choose, how does it work, how do you get started?
This workshop gives you a hands-on introduction to the most important messaging patterns used in modern application development. Using .NET Core and C#, we’ll build a series of small example apps and services, wire them together using these patterns, and discuss how – and when – you’d apply the same patterns in your own applications.
Introduction
Connecting Components using HTTP
Message queues and pub/sub
Protocol Buffers and gRPC
Connecting to the Web
This workshop is aimed at developers with some experience writing applications using C# and Microsoft .NET.
The workshop is run fully online, using Zoom and various online collaboration tools. Attendees will be writing and running .NET code during the workshop, so will need to join the workshop on a computer running Windows, macOS or Linux, and ideally install the Microsoft .NET SDK from https://dotnet.microsoft.com/download.
Exercises can be done in .NET Framework 4.6+ or .NET Core 2.0+