Building your own publish/subscribe communication infrastructure.BackgroundOne of the projects we worked on back in 2007 had a large complex service composition setup. The design quickly introduced point to point integration and tight coupling between services. Ultimately we started to think in publish subscribe patterns, loosely coupled services and broker architecture. We needed a design that in a loose coupled manner handled the interconnectivity between services. The customer was not prepared to buy a $45.000 Biztalk license labeled as an ESB, nor did we have the new Routing Service available in .NET 4.0 back then. We ended up with designing a publish/subscribe architecture that for filled our requirements in various integration scenarios on the project. The articlesIn a seriesĀ of 3 articles we will describe how to build a publish/subscribe software. The first part will dive into the motivation for building the communication infrastructure, the basic architecture and assumptions made when designing the software. Part 2 will cover more technical issues like how can we create proxies on the fly; based on the service contract and endpoint what channel shape should we use for creating the ChannelFactory e.g. IRequestChannel, IOutputChannel , IRequestSessionChannel etc. How do we handle generic messages and build new messages using the BodyWriter. Part 3 will wrap up the entire project by presenting some case stories from customers using the infrastructure. The full source code will be made available in part 3, so stay tuned. |