Chapter 5. Connecting Applications with Microsoft Azure Service Bus
Up to this point in the book, we have focused on using ASP.NET for the frontend website and we have walked through the ASP.NET Web API for creating REST-based services. In this chapter, we will look at how to scale the application and provide elasticity, as well as provide loosely coupled connections between tiers of the application.
We looked at how to create a web service, how to add functionality around notifications, integration with mobile services, deployment, and more. Now we will shift our focus to the middle tier of the solution architecture. In scalable systems, you would want to decouple direct connections between portions of your application. Just as when you created multi-tiered systems for use on-premises, we will do the same for our architecture in Azure. We want to divide the application components into separate features or areas of concern. By doing so we can create boundaries with low coupling, which leads to less feature overlap and more flexibility.
As such, you don't want to connect the web service directly to the database. There are many reasons for this. What happens if the database is inaccessible? What happens if there is processing that is needed on the incoming data? Azure provides components that we can utilize so that we don't connect components of our application together...
In this chapter, we discussed how we can utilize the Service Bus to disconnect our application components and communicate between the different tiers of our application. We discussed how we can create and send messages through Service Bus Queues and Topics and when we would use each. Lastly, we discussed patterns for the use of these Azure components.
In the next chapter we will discuss how to create hybrid applications where the frontend of the application runs in the Azure cloud while line-of-business or database systems remain and run on-premises.