07.11.2014 Views

Message Queuing Service Support in Windows CE - Trimar ...

Message Queuing Service Support in Windows CE - Trimar ...

Message Queuing Service Support in Windows CE - Trimar ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Rout<strong>in</strong>g for nonprivate queues is simple to configure and use and provides<br />

powerful rout<strong>in</strong>g functionality.<br />

Script<strong>in</strong>g-capable console-based adm<strong>in</strong>istration utility allows telnett<strong>in</strong>g.<br />

<strong>Message</strong> Queue Architecture<br />

MSMQ technology enables applications runn<strong>in</strong>g at different times to communicate<br />

across networks, computers, and other devices that may be temporarily offl<strong>in</strong>e. To<br />

accomplish this, the communicat<strong>in</strong>g applications send requests as messages to<br />

various message queues. Each receiv<strong>in</strong>g application reads the message stored <strong>in</strong><br />

the queue when the connection is re-established. The follow<strong>in</strong>g diagram illustrates<br />

schematically how a queue can hold the messages used by both send<strong>in</strong>g and<br />

receiv<strong>in</strong>g applications.<br />

Public Queues<br />

In contrast to the desktop version of MSMQ, the W<strong>in</strong>dows <strong>CE</strong> version of MSMQ<br />

does not require connection to a doma<strong>in</strong> controller. Instead, it uses a peer-to-peer<br />

configuration that does not use a directory-service <strong>in</strong>terface such as Microsoft Active<br />

Directory. Because <strong>in</strong>formation about public queues is stored <strong>in</strong> Active Directory,<br />

you cannot create public queues <strong>in</strong> W<strong>in</strong>dows <strong>CE</strong>.<br />

Additionally, W<strong>in</strong>dows <strong>CE</strong> does not use the direct format name model for nam<strong>in</strong>g<br />

queues, because a direct-only format name typically requires a direct TCP<br />

connection between two computers. Moreover, the desktop application would need<br />

to be aware of the W<strong>in</strong>dows <strong>CE</strong> version of MSMQ and would always have to specify<br />

the response queues used for reply messages <strong>in</strong> direct-only format. For these<br />

reasons, the direct-only architecture is not an optimal solution for queu<strong>in</strong>g<br />

messages <strong>in</strong> W<strong>in</strong>dows <strong>CE</strong>.<br />

W<strong>in</strong>dows <strong>CE</strong> MSMQ can, however, send messages to public queues located on a<br />

desktop computer or server through the use of an OutFRS queue. An OutFRS<br />

queue is an outgo<strong>in</strong>g queue that po<strong>in</strong>ts to a Falcon Rout<strong>in</strong>g Server (FRS). The<br />

target computer must be a message queue server capable of rout<strong>in</strong>g messages; it<br />

cannot be another W<strong>in</strong>dows <strong>CE</strong>–based device or a desktop-<strong>in</strong>dependent client.<br />

When a W<strong>in</strong>dows <strong>CE</strong>–based device connects to an OutFRS server, messages from<br />

an outgo<strong>in</strong>g OutFRS queue are moved to the server. This server is then responsible<br />

for the correct rout<strong>in</strong>g of the messages.<br />

An OutFRS queue is specified as a direct format name <strong>in</strong> an OutFRSQueue registry<br />

value. However, the queue itself does not have to exist on the server, because the<br />

dest<strong>in</strong>ation queue is <strong>in</strong>cluded as part of the message address and is specified <strong>in</strong> the<br />

PROPID_M_DEST_QUEUE message property, which supports messages sent to<br />

OutFRSQueue. Additionally, all adm<strong>in</strong>istrative responses generated by MSMQ,<br />

such as acknowledgements (ACKs) and negative acknowledgements (NACKs), are<br />

channeled automatically through an OutFRS queue if a non-direct queue name is<br />

specified as an adm<strong>in</strong>istrative queue for a message.<br />

2

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!