Everything you ever wanted to know about MSMQ

Course Description:

Did you ever develop – or do you plan to develop – programs or services that need to connect to other programs – either on the same machine or over the network? If the answer is "no" you can stop reading now. This course is not for you.

If you are still with me – and most chances you are – I bet you already know that communication is no simple matter. What do I do when the network fails? 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? This is the kind of questions MSMQ is designed to answer.

MSMQ – Microsoft Message Queue – is a mature – more than a decade old – messaging infrastructure, and yet it has lots of new features to offer as part of WCF, Vista & Windows Server 2008.

In this course, you are going to see how to build distributed applications with MSMQ, how to support several quality of service options and different messaging patterns, like publish & subscribe. You are going to see how to write a robust MSMQ solution and manage it in a production environment. Finally, you will see how to write MSMQ-base WCF solutions and learn about the new features of MSMQ in Vista and Windows Server 2008.


Trainer:

Yoel Arnon joined Microsoft on February 1995 as the fourth developer in the "Falcon" project, which later became MSMQ. He worked in MSMQ through its entire lifecycle - from the initial design through versions 1.0 (NT4), 2.0 (W2K) and 3.0 (WXP/W2003). Yoel also developed the MSMQ management in Vista as a consultant to Microsoft.
Yoel left Microsoft in August 2004 and works as an Independent consultant since then, focusing on MSMQ consulting. Yoel works with customers in all in Europe, USA and Israel, and Microsoft frequently call him to help its premier customers in MSMQ issues.

Course Content:

Module 1: Getting started with MSMQ
In this Module you will learn the basic of MSMQ programming using System.Messaging.
  • How to: Creating queues
  • How to: Sending and receiving messages
  • Demo: The 'Disdraw' application
  • How to: Address queues in an enterprise Active Directory environment and workgroup environment
  • How to: Implement simple publish / subscribe model using multicast format name
Module 2: Quality of service and reliability
MSMQ support three type of messages – express, recoverable and transactional – each providing a different quality of service. In addition, MSMQ supports administration queues, dead letter, target and source journal queue. In this module, we will discuss the pros and cons of each message type, and show:
  • How to: Send express, recoverable and transactional messages
  • How to: Ask for and handle source journal and dead letter messages
  • How To: Use target journal
  • Demo: The most reliable MSMQ application
Module 3: Managing and monitoring MSMQ using management API
MSMQ comes with a rich set of performance counters, along with special admin APIs, that allows you collecting statistics, identifying bottlenecks, and taking proactive actions in case of problems. In this module, we will see:
  • How to: Use MSMQ performance counters
  • How to: Use MSMQ management APIs to retrieve MSMQ data and taking proactive actions
  • Understand outgoing queue and transactional messages protocol
  • How to: Manage outgoing queue in transactional and non transactional scenarios
  • How to: Use WMI to monitor MSMQ
Module 4: MSMQ and WCF
WCF – Windows Communication Foundation – is the new way to communicate between applications in the Microsoft world. MSMQ was an integrated part of WCF from day 1. In this module, we will see:
  • How To: Use NetMsmqBinding in your WCF applications
  • How to: Use MsmqIntegrationBinding to integrate WCF based applications and pure MSMQ applications
Module 5: MSMQ 4.0
Microsoft continues to invest in MSMQ development, and each new operating system brings new and exciting MSMQ features. In this module, we will discuss and demo the MSMQ 4.0 (part of Vista / Windows 7 and Windows Server 2008) features:
  • Features overview: Subqueues, application specific deadletter queue, remote transactional receive, abort count and more
  • How to: Build and efficient command broker using subqueues
  • How to: Use subqueues to achieve transactional receive from non-transactional queue
  • How to: Handle poison messages using abort count
  • Monitoring and troubleshooting MSMQ efficiently using end-to-end tracing

Related Courses:

  • What’s New in WCF 4.0
  • WCF 4.0 Internals & Extensibility
  • Windows Azure – Microsoft Cloud
  • WCF Step By Step