Foreword by Yoel
Arnon, MSMQ Software Development Engineer, Microsoft
Corporation
No application is an island
In todays connected world,
each and every professional developer must assume that his or her applications
will need to communicate with other applications.
Distributed applications, however, present a large set of unique challenges,
like, What do I do when the network is disconnected?
How do I coordinate the actions of two separate applications? How do I handle
peak times? How do I guarantee delivery? How do I upgrade my application
without breaking the communication?
We at the Microsoft Message Queue (MSMQ) team have worked hard to provide an
elegant solution to these questions and many others. This book will help you
leverage this work by using MSMQ in your distributed applications so that you
will be able to concentrate on the business logic rather than network problems.
What is MSMQ? MSMQ is message-oriented middleware (MOM) that comes as a
standard component of Windows and allows applications to exchange messages
among them using queuesoutgoing queues for messages waiting to be sent, and
incoming queues for messages waiting to be received. Queueslike damsguarantee
nice and controlled flow of information, even when the network is congested or
suffers frequent disconnects.
Moreover, queues are a very natural programming metaphor. Most people would
agree that working from a queue of to-do tasks is more effective than
responding to requests on the spot. The same is true for computer programs.
Programs that process queues of incoming messages tend to be simpler and more
efficient than programs acting on interrupts.
The availability of powerful, yet simple, MOMs
like MSMQ on millions of desktops and servers have changed the way programmers
design and write distributed applications. The simple concepts of queue and
messagealong with powerful features like quality of service, transactions, and
securityhave enabled a new breed of distributed applications in a wide range
of industries. In addition, MSMQ provides an excellent solution for integrating
existing applicationsfor the Internet or for enterprise-wide systems like ERP.
Even after nine years on the MSMQ team, I am amazed to see the number of
ways customers use this technology: in airlines and communication, financial
services, e-retailers, traditional department stores, and even online games.
In addition to covering the essentials of MSMQ, this book is the first book
covering the cool new features introduced in MSMQ 3.0 (which was released as
part of Windows XP and Windows Server 2003) features such as multicast, triggers,
HTTP messages, and more. In addition, it is the first book covering the novel
.NET MSMQ APIs: System.Messaging.
Today, MSMQ knowledge became a standard requirement for a professional
Windows developer, alongside such skills as Visual Basic, Visual C/C#,
SQL/IIS/ADO/COM+, and others. Reading this book is a great way to get started.
If you consider yourself a professional Windows developer, and you know that
no application is an island any longer, then this book is for you.
I am proud to be a part of the revolution MSMQ brought to the Windows
application development world. I hope that you will enjoy using MSMQ as much as
Itogether with the other MSMQ team membersenjoyed developing it.
Yoel Arnon Software
Development Engineer Microsoft Corporation
About the Book
This book explores MSMQ so that you can initiate robust, asynchronous
communication between applications. MSMQ provides three APIs to incorporate
message queuing into different applications. These APIs include "C"
from unmanaged C/C++ code; a COM component from VB or C++ code; and the System.Messaging namespace, which integrates MSMQ with
managed C# or VB .NET applications.
This is the only book on the market to cover all three APIs. Plus, this book
discusses the newest features of MSMQ 3.0 (released with Windows Server 2003),
and explains sending and receiving MSMQ messages on a PocketPC
device.
Author Information
Arohi Redkar - Arohi Redkar
is a software designer. She has a master's degree in software engineering from National University. She has worked extensively
in the .NET environment and has a passion for studying human aspects of user
interface design.
et al. - Other authors also contributed to writing this book.