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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Queu<strong>in</strong>g</strong> Scenarios<br />

Based on the architecture previously described, the follow<strong>in</strong>g queu<strong>in</strong>g scenarios are<br />

possible:<br />

An <strong>in</strong>termittently connected W<strong>in</strong>dows <strong>CE</strong>–based device (A) sends a message to<br />

another <strong>in</strong>termittently connected W<strong>in</strong>dows <strong>CE</strong>–based device (B) by means of a<br />

rout<strong>in</strong>g server (C). <strong>Message</strong>s are sent from A to B through an OutFRS queue<br />

po<strong>in</strong>t<strong>in</strong>g to C. When A connects to C, messages are moved to C and are held<br />

until B connects to C, after which they are delivered to B.<br />

A W<strong>in</strong>dows <strong>CE</strong>–based device is runn<strong>in</strong>g on a secure subnet that is protected by<br />

a firewall from a dest<strong>in</strong>ation computer. A rout<strong>in</strong>g server bridges the firewall and<br />

delivers messages to a remote computer.<br />

A desktop application typically specifies its own queue <strong>in</strong> a public format as a<br />

target of an adm<strong>in</strong>istrative acknowledgement. A W<strong>in</strong>dows <strong>CE</strong>–based device<br />

automatically forwards ACKs or NACKs to this queue through an OutFRS queue,<br />

preclud<strong>in</strong>g the need to rewrite the application or create a special-case W<strong>in</strong>dows<br />

<strong>CE</strong> queue.<br />

Transaction <strong>Support</strong><br />

The W<strong>in</strong>dows <strong>CE</strong>–based MSMQ server programm<strong>in</strong>g model supports one type of<br />

transaction: a s<strong>in</strong>gle message transaction. The s<strong>in</strong>gle message transaction orders<br />

messages and guarantees only a s<strong>in</strong>gle delivery of each message. To guarantee<br />

s<strong>in</strong>gle, <strong>in</strong>-order delivery, you must create the queue as transactional, and messages<br />

must be sent to the queue us<strong>in</strong>g the MQ_SINGLE_MESSAGE transaction constant.<br />

MSMQ Features Not <strong>Support</strong>ed <strong>in</strong> W<strong>in</strong>dows <strong>CE</strong><br />

The W<strong>in</strong>dows <strong>CE</strong>–based message queu<strong>in</strong>g service does not support the follow<strong>in</strong>g<br />

features:<br />

Remote Procedure Calls (RPCs)<br />

Encryption<br />

Access Control List (ACL)–based security<br />

MQMail<br />

Dependent client functionality<br />

Additionally, W<strong>in</strong>dows <strong>CE</strong> supports only TCP/IP network stacks.<br />

Adm<strong>in</strong>istration<br />

W<strong>in</strong>dows <strong>CE</strong> implements an <strong>in</strong>dependent client that is not part of any doma<strong>in</strong> and<br />

stores all relevant adm<strong>in</strong>istration <strong>in</strong>formation on the device itself. Adm<strong>in</strong>istration<br />

functions are carried out locally through MSMQAdm, a utility that configures MSMQ.<br />

MSMQAdm is script-driven and console-based, enabl<strong>in</strong>g developers to automate<br />

rout<strong>in</strong>e tasks. Tasks adm<strong>in</strong>istered through MSMQAdm <strong>in</strong>clude the follow<strong>in</strong>g:<br />

Brows<strong>in</strong>g local queues<br />

Purg<strong>in</strong>g messages<br />

Delet<strong>in</strong>g <strong>in</strong>dividual messages<br />

Stopp<strong>in</strong>g and start<strong>in</strong>g MSMQ<br />

Connect<strong>in</strong>g and disconnect<strong>in</strong>g from the network<br />

3

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

Saved successfully!

Ooh no, something went wrong!