home *** CD-ROM | disk | FTP | other *** search
/ Chip 1998 February / CHIP_2_98.iso / software / pelne / optionp / msmqocm.cab / readme.txt < prev    next >
Text File  |  1997-10-20  |  10KB  |  258 lines

  1. Running Sample Applications
  2.  
  3. MSMQ includes the following sample applications:
  4.         MSMQTest
  5.         MQTestOA
  6.         MQTrans
  7.         Distributed Draw
  8.         MSMQ API Test
  9.  
  10. These applications can be used to test and demonstrate MSMQ
  11. functionality, as well as learn and experiment with the MSMQ APIs.
  12.  
  13. MSMQTest is installed by default. Distributed Draw and MSMQ API Test
  14. are installed when you install the MSMQ SDK. Both Distributed Draw
  15. and MSMQ API Test can be run from the Start menu.
  16.  
  17. When you install the MSMQ SDK, source files for all sample
  18. applications are installed.
  19.  
  20. ========
  21. MSMQTest
  22. ========
  23.  
  24. MSMQTest demonstrates basic MSMQ functionality in a complete C
  25. program, including usage of Queue and Message properties and many of
  26. the MSMQ APIs. The single source file, Msmqtest.c, contains the
  27. entire program.
  28.  
  29. MSMQTest sends messages between two or more computers, or between two
  30. instances of MSMQTest on the same computer. MSMQTest can be run
  31. either as a receiving application (using the -r parameter) or as a
  32. sending application (using the -s parameter). You can run multiple
  33. instances of the application in sending or receiving mode. All
  34. messages you send from an instance of MSMQTest are sent to all
  35. the MSMQTest queues created by computers running MSMQTest in
  36. receiving mode. Similarly, computers running MSMQTest in receiving
  37. mode receive messages from all instances of MSMQTest in sending mode.
  38.  
  39. The following procedure introduces MSMQTest, demonstrating how you
  40. can use it to observer basic message queuing functionality.
  41.  
  42. To use MSMQTest:
  43.  
  44. 1. Run two instances of the Windows NT command prompt or the
  45.    Windows 95 MS-DOS prompt, either on one computer or two different
  46.    computers.
  47.  
  48.    If you use two different computers, they must belong to the same
  49.    site.
  50.  
  51. 2. In each instance, change to the MSMQ directory
  52.    (c:\program files\msmq by default).
  53.  
  54. 3. In one instance, type msmqtest -r and then press ENTER to start
  55.    MSMQTest in receive mode.
  56.  
  57.    If you run MSMQ Explorer, you see a msmqtest queue has been
  58.    created on the computer you are using. The queue has no messages.
  59.  
  60. 4. In the other instance, start the MSMQTest in send mode by typing
  61.    msmqtest -s, and then pressing ENTER.
  62.  
  63. 5. At the 'Enter a string:' prompt, type some text (for example, Hello
  64.    World) and then press ENTER.
  65.  
  66.    The messages appear in the receiver's command prompt window. If
  67.    you look at the msmqtest queue in MSMQ Explorer, you see it still
  68.    has no messages. Because they have all been received by the
  69.    receiving application, they do not appear in the queue.
  70.  
  71. 6. In the command prompt window running MSMQTest in receiving mode,
  72.    press CTRL+C.
  73.  
  74. 7. In the MSMQTest sending window, type some additional messages.
  75.  
  76.    If you look at the msmqtest queue in MSMQ Explorer, you see the
  77.    messages the  sending application has sent, but that MSMQ has not
  78.    yet been able to deliver as the receiving application is no
  79.    longer running.
  80.  
  81. 8. Restart MSMQTest in receiving mode by typing msmqtest -r, and then
  82.    pressing ENTER.
  83.  
  84.    The messages stored by MSMQ are immediately delivered to the
  85.    receiving application. If you switch to MSMQ Explorer and press F5
  86.    to refresh the display, you see that the queue has no messages
  87.    because they have all been read by the receiving application.
  88.  
  89. 9. In the MSMQTest sending window, type quit in lower case, and then
  90.    press ENTER.
  91.  
  92.    If you switch to MSMQ Explorer and press F5 to refresh the display,
  93.    you see that the queue has been deleted. If you exit the sending
  94.    application by pressing CTRL+C, the queue is not deleted. The queue
  95.    is deleted only when you exit the sending application by typing quit
  96.    in lower case, and then pressing ENTER.
  97.  
  98.    If you exit the sending application while there are undelivered
  99.    messages in the receiving application queue, the queue is not
  100.    removed. However, if you run the receiving application again, it
  101.    empties the queue (displaying each message), removes the queue, and
  102.    then exits.
  103.  
  104. ========
  105. MQTestOA
  106. ========
  107. MQTestOA offers the exact same functionality as the above MSMQTEST sample
  108. application, but it is written on top of the ActiveX programming model.
  109.  
  110. By looking at this application, you will see how to use
  111. the ActiveX programming model from C++.
  112.  
  113. =======
  114. MQTrans
  115. =======
  116. The MQTRANS sample demonstrates the transactional features of the MSMQ
  117. product.
  118.  
  119. The sample uses both transactional messaging (provided by Microsoft MSMQ)
  120. and database transactions (provided by Microsoft SQL Server version 6.5).
  121.  
  122. It emulates two bank accounts: one on the receiving side, with an
  123. initial sum of $500 and the other on the sending side with an initial sum of
  124. $1000. The sender can transfer money to the receiver as long as his balance
  125. is positive. Trying to transfer money when the sender balance is negative
  126. will abort the transaction.
  127.  
  128. Before running the sample for the first time you have to
  129. 1. Create a database in SQL server
  130.    (Run SQL Enterprise Manager)
  131. 2. Define an ODBC data source named "MSMQDemo", which points to the database.
  132.    (Run ODBC Control Panel Applet)
  133.  
  134. To run the sample:
  135. receiver side- run 'mqtrans -r'
  136. sender side-   run 'mqtrans -s' and follow the instructions.
  137.  
  138. To build the sample:
  139. Edit the makefile and update C_INCLUDE to point to your compiler/sdk
  140. include directory. Then run 'nmake'.
  141.  
  142. ================
  143. Distributed Draw
  144. ================
  145.  
  146. Distributed Draw (Disdraw.exe) is a scratch pad-like application that
  147. allows you to draw lines and type text in the local and remote application. 
  148. When you provide the name of a destination queue, MSMQ sends the drawings 
  149. and text to another instance of Distributed Draw.
  150.  
  151. Two versions of Distributed Draw are installed with the MSMQ SDK: one
  152. built using the MSMQ APIs, the other built using the MSMQ ActiveX
  153. controls. You can send and receive messages between the two different
  154. versions. Both versions of Distributed Draw use most of the basic
  155. MSMQ functions.
  156.  
  157. To see MSMQ functionality using Distributed Draw:
  158.  
  159. 1. Run Distributed Draw.
  160.  
  161. 2. Type your name in the Name.
  162.  
  163.    The name you specify is used to create a queue on your computer.
  164.  
  165. 3. Run Distributed Draw on a second computer, specifying a different
  166.    name.
  167.  
  168.    This computer must be in the same site as the first computer.
  169.  
  170. 4. In Remote Friend on the second computer, type the name you used
  171.    in step 2.
  172.  
  173.    The Attach button is no longer available after Distributed Draw
  174.    has opened the queue.
  175.  
  176. 5. In Remote Friend on the first computer, type the name you used in
  177.    step 3.
  178.  
  179.    Both instances of Distributed Draw now have their own queue for
  180.    receiving messages, and have opened the other instance's queue for
  181.    send. As you type text or draw objects, each character and mouse
  182.    movement is sent between the two instances of Distributed Draw.
  183.  
  184. You can close either instance of Distributed Draw and continue
  185. sending messages. When Distributed Draw is restarted and you use the
  186. same name, Distributed Draw receives all undelivered messages. If you
  187. change the deliver method from Express to Recoverable, you can close
  188. one instance of Distributed Draw, restart the computer, restart
  189. Distributed Draw, and receive messages that were sent while the
  190. computer was rebooting.
  191.  
  192. Tip
  193. To clear the Distributed Draw display drawing area, right-click
  194. within the drawing area.
  195.  
  196.  
  197. =============
  198. MSMQ API Test
  199. =============
  200.  
  201. MSMQ API Test (Mqapitst.exe) can be used to test and experiment
  202. with MSMQ. Using Mqapitst.exe you can run the following API calls:
  203.  
  204.  - MQCreateQueue
  205.  - MQDeleteQueue
  206.  - MQOpenQueue
  207.  - MQCloseQueue
  208.  - MQSendMessage
  209.  - MQReceiveMessage
  210.  - MQLocate (MQLocate calls the three locate APIs: MQLocateBegin,
  211.    MQLocateNext, and MQLocateEnd)
  212.  
  213.  
  214. Note
  215. Before you can open a queue using Mqapitst.exe, you must use MQLocate
  216. to located the queue. Mqapitst.exe locates queues based on their
  217. labels. Also, if you are using one instance of Mqapitst.exe, you cannot send
  218. messages to and receive messages from the same queue without first
  219. closing the queue handle. For example, if you open the queue for send
  220. and send five messages, you cannot read the messages without first
  221. closing your handle to the queue, and then opening the queue for read.
  222.  
  223. The main source file for the program, where the menus are invoked and
  224. the MSMQ APIs are called, is Mainfrm.cpp.
  225. When building Mqapitst on Windows 95, only ANSI configurations should be used.
  226.  
  227. For more information, see the MSMQ SDK help file.
  228.  
  229. The following procedure shows you how to use MSMQ API Test to
  230. become familiar with and experiment with the MSMQ APIs.
  231.  
  232. To see MSMQ functionality using MSMQ API Test:
  233.  
  234. 1. Run two instances of MSMQ API Test (Mqapitst.exe), either on one
  235.    computer, or two different computers.
  236.  
  237. 2. Create a queue in one application, entering the Pathname (for
  238.    example, "YourMachine\MyQueue") and the Label (for example,
  239.    "MQ API Test") of the queue.
  240.  
  241. 3. Locate the queue in the other instance of MSMQ API Test.
  242.  
  243.    You can do this by using the MQLocate API to search for the
  244.    queue's label.
  245.  
  246. 4. In one instance of MSMQ API Test open the queue for Send.
  247.  
  248. 5. In the other MSMQ API Test open the queue for Receive.
  249.  
  250. 6. Send and Receive messages between the applications.
  251.  
  252.    Experiment with the various send options, such as message
  253.    priority, message time-to-reach-queue, time-to-be-received,
  254.    acknowledgements, and delivery modes.
  255.  
  256. 7. Close and then delete the queues.
  257.  
  258.