I need to work with MSMQ (Microsoft Message Queuing). What is it, what is it for, how does it work? How is it different from web services?
The top few links from a Google search for "MSMQ" should help...
http://msdn.microsoft.com/en-us/library/ms711472(VS.85).aspx
http://www.microsoft.com/windowsserver2003/techinfo/overview/msmqfaq.mspx
http://en.wikipedia.org/wiki/Microsoft_Message_Queuing
More info here: http://www.google.com/search?q=MSMQ
It is simply queue which store message in formated way so that it can pass to DB (may on same machine or on Server). There are different Type of queue over there which categories the message among themselves. If there is some problem/error inside message or invalid message is passed at automatically goes to Dead queue which is denote that it is not process further. But before passing message to dead queue it will retry max count and till it is not process then it can send it to Dead queue. It is generally used for sending log message from client machine to server or DB so that if there is any issue happens on client machine then developer or support team can go through log to solve problem. MSMQ is service provided by Microsoft for Get record of Log file and easy to get Solution using Log file. You get Better Idea from this blog http://msdn.microsoft.com/en-us/library/ms711472(v=vs.85).aspx
As everyone has explained MSMQ is used as a queue for messages. Messages can be wrapper for actual data, object and anything that you can serialize and send across the wire. MSMQ has it's own limitations. MSMQ 1.0 and MSMQ 2.0 had a 4MB message limit. This restriction was lifted off with MSMQ 3.0. Message oriented Middleware (MOM) is a concept that heavily depends on Messaging. Enterprise Service Bus foundation is built on Messaging. All these new technologies, depend on Messaging for asynchronous data delivery with reliability.