and other information. Think of it as if you are giving someone your address to find you.
The SAS documentation uses the following figure to show how the spawner obtains metadata:
The object spawner accesses the metadataConfig.xml
The object spawner connects to the SAS Metadata Server for configuration information.
It is like me asking my German pal where I can get the best Bratwurst. She gives me the name of a store and I take that information to get to the store. (quite the example, isn’t).
Authentication and starting SAS Servers
Example for Workspace server:
Before the Object spawner starts a workspace server, the metadata server provides credential information and details about how to start the server. In a default scenario, the object spawner uses host authentication, which means the workspace server is started under the users’ credentials.
After the client – such as SAS Enterprise Guide – is exited, the workspace server session is closed. You can use token-authentication instead of host authentication. Token authentication uses a shared user and generates a single-use identity token.
Let’s take a look at it:
The steps in detail:
1 Using the already established connection to the metadata server, the SAS client, here the user is using SAS Enterprise Guide, requests access to a workspace serve (1)
2 In step 2, the metadata server searches the metadata (metadata repositories) for the workspace server in question.
3 The metadata server then gets the machine name hosting the workspace server, the Object Spawners’s port and an authentication domain that is associated with the workspace serve (we will address authentication domains in the security chapter).
4 This connection information is returned to SAS Enterprise Guide.
5 SAS Enterprise Guide uses the connection information to make the request for a workspace server. If the authentication domain for the server matches that of the initial inbound login, SAS Enterprise Guide passes along the credentials as well.
6 The authentication domain comes into play for the credentials that are being used. If the user ID is not associated with the default authentication domain (called DefaultAuth), SAS Enterprise Guide searches its in-memory list of credentials to find the user’s credentials with the appropriate authentication domain. If no user credential is found, SAS Enterprise Guide queries the metadata server for credentials for this user for that particular authentication domain (outbound login). If none is found, the user will be prompted for credentials.
7 The object spawner sends the user’s credentials to its authentication provider. The default authentication provider is the host. As shown in the graph above, different authentication providers can be used.
8 The authentication provider verifies that the credentials are valid.
9 The object spawner launches the workspace server. It uses the launch command that was retrieved from the metadata at start-up. The workspace server runs under the credentials provided by SAS Enterprise Guide, that have been authenticated by the host.
10 The object spawner provides SAS Enterprise Guide with a TCP connection to the workspace server session.
SAS Enterprise Guide communicates directly with the workspace server.
Now, the user submits requests with SAS Enterprise Guide for processing. Results are returned to SAS Enterprise Guide. Easy as that: Code submitted, results returned
My Bratwurst example sounded simpler.
There are great troubleshooting tips available for SAS servers. Because I am afraid to add yet another note apologizing to the hardcopy readers for my long web addresses, I am going to spoof this link situation up a notch and simply say: Google for “SAS 9.4 Troubleshooting the SAS Server Tier” and you will find helpful troubleshooting tips for SAS servers.
In case you run into any problems/errors/warnings with the SAS object spawner, here are the log locations:
SAS Object Spawner log file locations:
SAS object spawner log files are located here:
Windows:
configuration-directory\ObjectSpawner\logs
UNIX:
configuration-directory/ObjectSpawner/logs
And on to the next tier ...
Middle Tier
The middle tier, or web tier, enables access with a web browser using web clients. It is pretty straight forward. Examples for web clients are SAS Studio or SAS Environment Manager.
Tip: If you don’t know the links to access these clients, you can look at the instructions.html file, which is located per default in your configuration directory: \config_dir\Lev1\Documents |
The middle tier includes the following components:
SAS Web Application Server and SAS Web Server (http server)
Cache Locator
JMS Broker
SAS Environment Manager
SAS Web Application Server and SAS Web Server (http server)
SAS 9.4 has its own web server and web application server. This is good news because it doesn’t require the installation of any third-party web app products, such as IBM WebSphere or JBoss Application Server. During the SAS install, the middle tier is installed and configured for you.
The SAS Web Application Server is based on a commercially available third-party software product. The SAS Web Server, an HTTP server, is based on a Pivotal Web Server.
If you look at running processes, you will see Pivotal Web Server, which is the SAS Web Server, and SpringSource tc Run time, which is the SAS Web Application Server.
Looking at the configuration directory of the SAS Web Application Servers, you will notice folder names such as SASServer1_1, SASServer2_1, and so forth. The names SASServern are assigned to certain products in your SAS environment. The configuration directory is: \sas_config_dir\Lev1\Web\WebAppServer
Figure 2.6 shows the server assignments. Depending on the products you have licensed, you won’t have all the servers and with that, probably no sequential numbering.
Figure 2.6: Server Assignments
For details, see SAS Web Application Server Assignments at: https://go.documentation.sas.com/?docsetId=biwaag&docsetTarget=n1fojaysjal45on1wio1kpd3u8as.htm&docsetVersion=9.4&locale=en
Cache Locator
The SAS Web Application Server uses the cache locator to locate SAS applications that use a data cache for sharing data.
JMS Broker
The JMS Broker is used to send messages between web clients.
SAS Environment Manager
New in SAS 9.4, SAS Environment is a web client that is based on VMware Hyperic, that can be used to monitor and report on your environment. We will talk about this in more detail in Chapter 3.
Java Runtime Environment
There is no need for a JRE in SAS 9.4 as the Java environment is now part of SAS 9.4, compared to prior SAS 9