Choosing or Defining a Server

Types of Servers That Host Stored Processes

You must choose a server (for stored processes that are compatible with 9.2) or application server context to host your stored process. Servers are defined in metadata and are actually logical server definitions that can represent one or more physical server processes. There are many options, including pre-started servers, servers that are started on demand, and servers that are distributed across multiple hardware systems. You can use the Server Manager in SAS Management Console to create or modify server definitions. For more information about server configurations, see the SAS Intelligence Platform: Application Server Administration Guide.
Because the logical server description in metadata hides the server implementation details, a stored process can be moved to or associated with any appropriate server without modifying the stored process. Moving a stored process from one server to another requires changing only the metadata association and moving the source code, if necessary. A stored process is the combination of a SAS program, the server that hosts that program, and the metadata that describes and associates the two. For stored processes that are compatible with 9.2, it is not possible to create a stored process that is associated with more than one server, although it is possible to create stored processes that share the same SAS program or source file. Starting with 9.3, stored processes can be run from multiple application servers.
Stored processes can be hosted by two types of servers: SAS Stored Process Servers and SAS Workspace Servers. The two servers are similar, but they have slightly different capabilities and they are targeted at different use cases.
Starting with 9.3, stored processes are associated with an application server context instead of a specific logical server. The application server context defines the environment in which the stored process executes. Application server contexts typically contain multiple server definitions. Stored processes can be executed on several server types. The server type is selected at run-time based on client preferences and constraints defined in the stored process metadata. You can choose whether to restrict the stored process to run on a stored process server only or on a workspace server only, or you can choose to allow the client application to run the stored process on the default server type. In this case, the stored process server is used unless the client application specifies to use the workspace server.

SAS Stored Process Server

The SAS Stored Process Server is a multi-user server. A single server process can be shared by many clients. The recommended load-balancing configuration enables client requests to be serviced by multiple server processes across one or more hardware systems. This approach provides a high-performance, scalable server, but it imposes some restrictions. Because the same server handles requests from multiple users, it cannot easily impersonate a user to perform security checks. By default, the server runs under a single, shared user identity (defined in metadata) for all requests. All security checks based on client identity must be performed in the stored process. For more information about stored process server security, see the SAS Intelligence Platform: Application Server Administration Guide.
The stored process server implements some features that are not available on the workspace server, including replay (such as graphics in streaming output) and sessions (see Using Sessions).

SAS Workspace Server

The SAS Workspace Server is a single-user server. A new server process is started for each client, then terminated after the stored process completes execution. This approach is not as scalable as the load-balanced stored process server, but it has a major security advantage. Each server is started under the client user identity and is subject to host operating environment permissions and rights for that client user. The workspace server also provides additional functionality, including data access and execution of client-submitted SAS code. For more information about workspace server security, see the SAS Intelligence Platform: Application Server Administration Guide.
Starting with 9.3, the workspace server supports streaming output and Web services.
Note: Information map stored processes are supported only on the workspace server.
The pooled workspace server is very similar to the standard workspace server, but it provides higher performance by reusing existing server instances instead of starting a new server for each client. Pooled workspace servers must run under group identities to allow reuse across groups of users.