Synopses & Reviews
Foreword by Yoel Arnon, MSMQ Software Development Engineer, Microsoft Corporation
No application is an islanda]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.
Synopsis
Covering the latest features of MSMQ 3.0, released with Windows Server 2003, this book explores MSMQ triggers, which allow users to call a method or launch an executable whenever a message is received in a queue. The authors show how one can send and receive MSMQ messages on a PocketPC device using Embedded VB, Embedded C++, or C# and the .NET Compact Framework.
Synopsis
NO APPLICATION IS AN ISLANDo o o In today's 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 hardto 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 ofWindows and allows applications to exchange messages among them using queues-outgoing queues for Iilessages waiting to be sent, and incoming queues for messages waiting to be received. Queues-like dams-guarantee 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.
Synopsis
Message Queuing provides a way for applications to communicate asynchronously, and has often been compared to e-mail, but for applications rather than people. On Windows, Message Queuing is implemented in Microsoft Message Queuing, or MSMQ. A client application can communicate with a server by sending data in the form of an MSMQ message to a particular queue, where the server application can retrieve it and process it. Because the message will remain on the queue until it is retrieved, we can guarantee that it will be processed at some point, even if the server application is down when the message is sent.
In this book, we look at how we can use MSMQ to provide robust, asynchronous communication between our applications. MSMQ provides three APIs that we can use to incorporate message queuing into our applications - a C API that we can use from unmanaged C/C++ code, a COM component that we can use from VB or C++ code, and the System. Messaging namespace, which provides a simple way to integrate MSMQ with managed C# or VB.NET applications. This will be the only book that covers all these APIs.
The book also covers the latest features of MSMQ 3.0, released with Windows Server 2003, including MSMQ triggers, which allow us to call a method or launch an executable whenever a message is received in a queue. We also show how you can send and receive MSMQ messages on a PocketPC device using Embedded VB, Embedded C++, or C# and the .NET Compact Framework.
Assumes knowledge of .NET Framework, Message Queuing, MSMQ, C#, VB, C++
Message queuing has a vital role in any distributed applications where the guaranteed processing of requests is more important than instant processing. This means that a great range of applications requires message queuing, from networked enterprise applications to web applications that need to ensure an order will be shipped, to PocketPC devices that need to communicate with a PC. Microsoft Message Queuing (MSMQ) can be used from many languages and environments, including VB6, C++, and .NET. This book covers all these scenarios, so will appeal to a very wide range of developers.
Synopsis
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 features of MSMQ 3.0 (released with Windows Server 2003), and explains sending and receiving MSMQ messages on a PocketPC device.