|SAS/IntrNet 8.2: Application Dispatcher|
Using the Application Dispatcher, you can send information from a Web browser to a SAS session for processing and receive the results on your browser. The results can appear as text, HTML, GIF, JPEG, or any other format that is supported by your browser.
By submitting an HTML form or clicking a hypertext link, you can cause SAS to run a program. The program can be written by you or someone else at your site, or it can be a sample program that is provided by SAS. You can even use the sample forms and code as the foundation for your own applications. You can easily modify almost any SAS batch program to run on the Web and thus add new life to legacy applications and legacy data. Some commercial SAS applications that run by using the Application Dispatcher are included with SAS/IntrNet software.
To get started with Application Dispatcher terminology and concepts, read the following:
The Application Dispatcher exchanges and processes information by using the following components:
The input component runs on the Web server or the client. It normally consists of static or dynamically generated HTML pages containing URL references or HTML forms. The input component is responsible for selecting what program component to run and what input data to pass to that program component.
The Application Broker is a CGI program that resides on your Web server (for example, in the cgi-bin or scripts directory). The Broker interprets the information received from the input component and passes it to the Application Server.
The Application Server is a SAS session that receives input from the Application Broker. The Application Server accepts information from the Broker CGI program and invokes the program component.
The program component is a SAS program invoked within the Application Server. The program
Each request from the browser contains the name of a service that will fulfill the request. The Application Broker identifies the service by looking into its configuration file and then determines where and how the request should be forwarded. The configuration file defines the three services (socket, launch, and pool) that are available for Dispatcher applications to use.
A socket service runs the Application Server continuously, waiting for new requests, and refers to the protocol that is used (TCP/IP sockets) to communicate between the server and the Broker. Using this type of service, many servers can run at the same time, letting the Broker balance the load. As multiple users invoke Dispatcher programs, multiple servers can be utilized to improve application performance. An optional component called the Application Load Manager can be added to assist the Broker in balancing the load.
Instead of using the socket service method of running the Application Server, you can use the launch service, which starts a new server for each request. Although this method can require more time than the socket service because of the Application Server start-up time, it is easier to administer and provides some security advantages.
Using the Application Load Manager, the pool service starts servers from the pool as needed to handle queued jobs. When a job completes, the server becomes available for new requests until an optional idle time-out is reached, at which time the server shuts down.
The Broker and the Application Server provide the communication and processing mechanisms for Dispatcher applications. A Dispatcher application consists of one or more associated input components and program components. The program components for a Dispatcher application can be any of the following:
The program component that you create must be designed to accept the information that is received from the Web browser. In many cases, this means that you not only create the source program but also the HTML page that passes information to the Application Broker.
The Application Load Manager (LOADMGR) is a separate, optional process that can be used to enhance the distribution of Application Dispatcher resources on a network. If installed, it records the state of all Application Servers and maintains a separate dynamic pool of available servers. These capabilities enable the Load Manager to distribute Application Dispatcher requests most efficiently.
The Load Manager is of greatest use to the person who creates and maintains the configuration file for the Application Broker.
You should use the Application Dispatcher if you
The Application Dispatcher has several types of users:
|SAS/IntrNet 8.2: Application Dispatcher|