Messaging isn’t limited to one type or option, there’s another one known as a “ Service Bus”. Whether an application is running on the actual cloud or the datacenter, or even a mobile device (and anywhere else you could think of one being run) the application is going to need something to interact with. It can’t just have the data it needs on it’s local datacenter or storage, so there’s got to be another way to manage it, right? Service Bus is pretty much a way for your applications to obtain data wherever, as well as whenever they’d like.
This service is a Queueing one, but it’s not exactly the same as the service we just explained in part ten. Unlike the latter, Service Bus actually provides it’s users with one-to-one data interaction as well as publish-and-subscribe techniques. When you use the publish-and-subscribe feature you’ll be able to use the application and send messages to a specific topic, while in the meantime applications are creating new subscriptions to the topic at hand. This means that one-to-many communication can be achieved when you’re looking at multiple applications, which allows for every application to receive each message fluently. Queueing isn’t the only service you have at your disposal when you’re implementing Service Bus, as it allows for the direct communication with servers and applications using it’s relay service. This allows you to securely interact with your data through your servers firewalls.
Applications that find themselves communicating through the use of Service Bus may be Windows Azure applications or even software that happens to be running on somebody elses cloud server. They could also be an application that’s running itself outside of the cloud server if you find yourself in that kind of predicament. The perfect example of Service Bus communication would have to be a well-known airline. Not only do they need to have information available for the clients and check-in kiosks, but they need to be precise and specific with their information. Seeing as there’s numerous things to handle and they all have a different use, Service Bus would be the perfect thing to implement amongst the various interactions needed between datacenters.
The next option we’ve come to know as “Caching”, which can be pretty easy to implement if you do it properly. Many applications need to have access to the same data over and over, which means there isn’t as much dynamic information being shared as there usually is. In order to keep efficient, you want to keep a copy of the data needed for the application close (sometimes even stored on the application itself). It’s a pretty in-depth process, so we’re going to expand on it a bit more in the next part.