Chapter Contents

Previous

Next
SAS/CONNECT User's Guide

Introduction

In some instances, you do not want all the programs in your application to run at the same time, nor do you want them to be synchronized (one side sends a message and waits for a reply before it can send another message). These restrictions disappear with SAS indirect messaging (message queuing). Indirect messaging enables programs to communicate indirectly by placing messages on queues in storage. Therefore, the pieces of your application can run independently of each other, at different speeds and times, and without a direct connection between them.

Indirect messaging provides capabilities that enable applications developers to deploy multi-tiered distributed applications based on a message-passing paradigm. This multi-tiered design allows you to separate and centralize business logic and data access from the client environment. Servers, which receive requests and return responses, may be implemented through the utilization of simple yet flexible message construction, transmission, and notification services that span operating system and hardware boundaries across the enterprise.

Messages are free-form. Their structure is defined by the applications developer and may range from a simple collection of variables to complex hierarchies of SCL lists. Additionally, messages may include one or more attachments which can take the form of SAS data sets or filtered subsets, catalogs or catalog entries, external files, MDDB files, DMDB files, FDB files, and SQL Views.

The asynchronous messaging capability is especially beneficial because it does not require the intended message target to be active when a request is sent. For example, long-running transactions can be batched for off-hours execution, and due to its non-blocking semantics, multiple requests can be dispatched concurrently across parallel server processes.

Similar to direct messaging, indirect messaging requires that stations be established by using the Station class. However, because direct connections are not required by indirect messaging, the Station class QUERY method function is not valid when using indirect messaging. The Queue class provides services to message queues (such as opening, closing, and querying a queue) as well as sending and receiving messages.


Chapter Contents

Previous

Next

Top of Page

Copyright 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.