Like Transaction Server, Microsoft has christened the technology that we'll be looking at in this chapter with what might seem to be a somewhat misleading name. As you'll see in this section, the stuff we are actually queuing is application-independent data, rather than messages in the more conventional sense of the word.
However, message queuing is an established term in the market, and Microsoft rightly want their share of this market. One of the best-known message queuing applications is the MQ (Message Queue) Series from IBM, and this could possibly have influenced Microsoft's choice of name for their competitor—Message Queue Server.
But none of this answers the real question: what is message queuing and why do we need it? To answer this, we'll consider two obvious problems that arise when we build distributed applications. These are generic problems that concern all types of distributed application—not just those created to conform to Windows DNA architecture.