Your source of geek knowledge

Service Bus for Windows Server Introduction

I talked a lot on this blog about the fallacies of distributed computing and how messaging addresses some of the fallacies. But messaging does more, it helps to decouple (temporal, spatial and platform coupling vice) your components which build up a system. Service Bus for Windows Server provides messaging capabilities of Windows Azure Service Bus on Windows for On-Premise purposes (self-managed environments and on developer computers). It contains a rich feature set such as reliable queues, a variety of protocols and APIs to interact with it, and a rich publish/subscribe model that allows multiple, concurrent subscribers to independently retrieve filtered or unfiltered views of the published messages.

Despite its name it is not a bus architectural style but a broker (mediator / hub and spoke). Continue reading

Real World builds in .NET

How do you build your Visual Studio solution, verify your coding guidelines and execute tests?
What steps do you take when adding a new project to your Visual Studio solution?

Living in the past

Let me summarize my past experience. I have tried several different approaches, all of them involved build scripts, and Visual Studio Project Templates or manual editing of *.csproj files. I don’t like any of the approaches. Why? I will show you some drawbacks of this kind of build definitions.

Build scripts:

  • you have to learn a scripting language
  • you try to solve problems which you would solve in your preferred .NET language with less effort

Visual Studio Project Templates:

  • making up-to-date versions available to all team members is a PITA (pain in the ass butt)
  • update your templates and you still have to update all previously existing *.csproj files manually
  • if you change your build process (e.g. enable StyleCop) you have to release and distribute a new version of your templates

Manual editing:

  • enough said

Imagine the unimaginable

Continue reading