Administering Message Queues

What Are Message Queues?

Message queues are collections of data objects that enable asynchronous communication between processes. One application writes a message to a queue. Another application reads messages from the queue to begin the next step in a process. Verification processes guarantee that all messages are transmitted without error.
Queue managers handle message transmission and verification.

About the Third-Party Messaging Software

Fundamental message queue technology is provided in the following third–party software:
  • Microsoft MSMQ
  • IBM WebSphere MQ
You need to install and configure at least one messaging software application before you register metadata and run SAS messaging jobs.

About Message Queues in the SAS Intelligence Platform

In the SAS Intelligence Platform, you register metadata for queues and queue managers by using SAS Management Console after you install and configure third-party messaging software.
After you register metadata, you use the following transformations to create messaging jobs in SAS Data Integration Studio:
  • Microsoft Queue Reader
  • Microsoft Queue Writer
  • WebSphere Queue Reader
  • WebSphere Queue Writer
SAS Data Integration Studio also enables impact analysis and reverse impact analysis on queues, which you can use to track data flow into and out of queues.
The following data can be written to message queues using the queue writer transformation:
  • text of length up to 32,767 bytes
  • rows from SAS tables, one row per message
  • external files
The queue reader transformation can be configured to read a specified number of rows from the message queue.

Requirements for Message Queues

To implement message queuing, you need to install and configure Microsoft MSMQ or WebSphere MQ. Start the installation process by downloading and installing third-party software on specified SAS Application Servers. In general you can plan to install a queue manager on each host that runs a SAS Workspace Server that runs message queue jobs. If you choose WebSphere MQ, you can install queue managers on hosts other than SAS Workspace Servers.

Install and Configure the Microsoft MSMQ Message Queue Software

To install the MSMQ software on a SAS Workspace Server host that runs message queue jobs, follow these steps:
  1. Ensure that the host meets the requirements for message queues, as described in Requirements for Message Queues .
  2. In Windows, select Add or Remove Programs.
  3. In the shortcut bar of the Add or Remove Programs window, select Add or Remove Windows Components, which opens the Windows Components Wizard.
  4. In the Windows Components Wizard, select the Message queuing check box and click the Details button, which displays the Message queuing dialog box.
  5. In the Message queuing dialog box, select all four subcomponent check boxes, and then click OK to return to the Windows Components Wizard.
  6. Click Next to install the MSMQ software, and then close the Windows Components Wizard.
  7. Use the MSMQ software to create the queues and queue managers that are required on this particular host. You need to create at least one queue for each queue manager. The same object names are used in SAS, so you might want to include the host name as part of the object names.
  8. Use the Microsoft MSMQ software to start the queue managers.
  9. Use SAS Management Console to register metadata for queues and queue managers, as described in Administering SAS Data Integration Studio .

Install and Configure the IBM WebSphere MQ Message Queue Software

To install and configure the WebSphere MQ software, follow these steps:
  1. Download the software and documentation. Start with the following Web site: http://www-306.ibm.com/software/integration/wmq/index.html. Work with installation representatives from IBM and SAS as needed. At minimum, you need to install the WebSphere MQ Client software on all SAS Workspace Server hosts that run message queue jobs. Make sure that you meet the requirements for message queuing that are specified in Administering Message Queues .
    Note that if you install only the WebSphere MQ Client software, then you need to configure the environment variable MQSERVER to communicate with the WebSphere MQ Server software.
  2. Use the WebSphere MQ software to create queues and queue managers on their respective hosts. For each queue manager you need to define at least one queue. For reference in SAS, you might want to include the machine name in the names of the queue managers.
  3. Use the WebSphere MQ software to start the queue managers on their respective hosts.
  4. Use SAS Management Console to register metadata for queues and queue managers, as described in the next section.

Create a Message Queue Polling Server for WebSphere MQ Message Queue Software

If your site uses the WebSphere MQ (MQSeries) or WebSphere MQ Client (MQSeries C) from IBM, you can use SAS Message Queue Polling Servers. The servers can monitor message queues, manage messages, and trigger the execution of SAS programs in response to messages. The implementation process involves the creation of a queue manager, a queue polling server, a queue reader job, and a SAS program that interprets messages. The implementation process is described in detail in Application Messaging with SAS.

Create a Message Queue Server and Register Queues

To register metadata for a queue and a queue manager, follow these steps:
  1. In SAS Management Console, right-click Server Manager and select New Server.
  2. In the New Server Manager, under Queue Managers, select either MSMQ Queue Manager or WebSphere Queue Manager and click Next.
  3. Enter the exact name as it is defined in the third-party messaging software for the new queue manager. The names are case-sensitive.
  4. Enter a description, and then click Next.
  5. Select queues and folders, and then click Next.
  6. Specify an authentication domain, identify the host, and accept the default port number of 1414.
  7. Click Next, review your entries, and click Finish.
Be sure to register metadata for all of the queues and queue managers that are used in SAS jobs.
To begin running messaging jobs, make sure that the queue managers are running on their respective hosts.

Manage Queues and Queue Managers

To modify the metadata definitions of queues and queue managers, use the New Server Wizard in SAS Management Console to delete the existing definitions and create new definitions.
Before you delete metadata, you might want to run impact analysis and reverse impact analysis to see the jobs that include the queues. To run impact analysis or reverse impact analysis, follow these steps:
  1. In SAS Data Integration Technologies, click the Inventory tab and expand Message Queues.
  2. Right-click a message queue and select Analyze.
  3. In the Analysis window, examine the graphical displays of impact analysis and reverse impact analysis to see how the message queue is used in existing jobs.
You can delete the message queue if the analysis diagrams show no connections to existing jobs or other metadata objects. If the diagrams show connections, edit or remove the metadata objects before you delete the message queue.
To delete metadata for queues and queue managers, right-click the object in the Server Manager of SAS Management Console and select Delete. Use the third-party software to delete the physical queue objects.