SAS/IntrNet

 

Introduction
The SAS/Intrnet System is the underlying technology which enables the Trialex System to function.  The following will document some configurations which are specific to the Trialex System.  This document assumes that SAS/Intrnet v8.0 build 1330 has been installed and configured according to SAS Institute instructions.

Architecture
The following diagram describes the relationship between the servers.  It is optional to configure all the systems into one server but this example will separate them for clarification.

intrnetdia.gif (19509 bytes)

The four components that need configuration include:

  • Internet Explorer 5.x
  • Broker CGI
  • SAS/IntrNet Application Server
  • SAS Batch Server

Internet Explorer
Since each web page received from the Trialex System is dynamically created, it is recommended that web pages are not cached.  This will ensure that the current viewed page is the active one.  To configure this, select the menu: Tools | Internet Options...

intrnetdia2.gif (83663 bytes)

Select the Settings... button and select Every visit to the page as shown here:

intrnetdia3.gif (55322 bytes)

Click on the OK button two times to complete this configuration.

Broker CGI
The broker installation creates a default broker.cfg configuration file.   Most of the lines can be left to the default settings.  The following lines may be customized.

# Set the site specific information
Administrator "Sy Truong"
AdministratorMail "sy.truong@meta-x.com"

SocketService default "Reuse existing session"
ServiceDescription "Pages reference this generic server when they don't care which service is used."
ServiceAdmin "Sy Truong"
ServiceAdminMail "sy.truong@meta-x.com"
Server struong-nt.pcyc.com
Port 5001 5002

Note that there are two port numbers in this example.  The second one is optional but this will spread the load for performance optimization.   The procedure for setting the second port and service can be used for additional services.

In the event that the application dispatcher is an older version (i.e. 6.12), add the following line to the broker.crf.

ServiceCompatibility 1.0

In addition, there is a field width option which should be commented out.  It may appear as:

# FieldWidth 88

Ensure that it has a pound sign to indicate that it has been commented out.  If it is in effect, it will break up the variables by blocks of the specified width.

 

SAS IntrNet Application Server
Once SAS version 8.x and SAS/IntrNet have been installed, select the menu item Create a New IntrNet Service which is part of the IntrNet group.

intrnetdia4.gif (23226 bytes)

Click on the Next button on the welcome page of the IntrNet configuration utility.   Select the socket service as shown here:

intrnetdia5.gif (76215 bytes)

Leave the default value of default for the service name:

intrnetdia6.gif (74742 bytes)

Select the directory where this service will be installed.  The default name can be left as default.

intrnetdia7.gif (74206 bytes)

The default port is 5001.  If this port has already been configured for another SAS/IntNet service, use 5002 instead.  The password is optional for extra security.   This can be left blank.  Click on the next button to confirm all requests and then the finish button to create the service.

The service process creates three files for each service corresponding to each port.   They include:

  • Application Service Start SAS Program (i.e. appstart_5001.sas)
  • A command file to invoke the SAS program (i.e. appstart_5002.bat)
  • A log file (i.e. appsrv_5001.log)

The SAS program needs to be updated with the following addition:

*** Define libraries for the Trialex System ***;
allocate library trialusr v6 'H:\trialex\users' ;
allocate library trialdat v6 'H:\trialex\data' ;
datalibs trialusr trialdat;
allocate library trialex v6 'H:\trialex\sashelp' access=readonly;
proglibs trialex sashelp.trialex;

Note that the hard drive location H: in the example can be updated to reflect the server location.  This is an example of the Trialex System in SAS version 6.   The SAS version 8 will no longer require the v6 designation for the library settings.

The steps for setting up a service can be repeated if multiple services are required for performance.  Note that each service needs a unique port number and that this same port number is included in the broker configuration settings.

SAS Batch Server
In the event where SAS programs being submitted through the Trialex System are developed for SAS version 6, the following configuration can be edited to the Sasv8.cfg configuration file.  This is located in the SASROOT directory of the SAS installation.

/* Set data engine to V6 only */
-engine V6

This will ensure that datasets being created remain in SAS version 6.

SAS/Connect to Batch Server Configuration
The following section documents the configuration of SAS/Connect on both the application server and SAS batch server.  This includes:

Trialex System SAS/Connect Parameters

The Trialex System needs to be configured with the proper SAS/Connect parameters.   This is accomplished through the Trialex system configuration tools.  The parameters include:

  • Connect Communication Access Method - The SAS/Connect communication method such as the protocol.  For example, tcp is a valid value for the tcp/ip protocol.
  • Connect Remote Host - The name of the remote host machine.
  • Connect Link Script - The SAS/Connect script file including the full path.  For example: C:\SAS\connect\saslink\tcpwin.scr 

These parameters are entered through the %config tool.  An example configuration program is shown here:

%config (param=Connect Communication Access Method, value=tcp);

%config (param=Connect Remote Host, value=server_name);

%config (param=Connect Link Script, value=c:\SAS\connect\saslink\tcpwin.scr);

Application Server Script File

SAS/Connect will be executed as an authenticated user for proper security.   The user name and password is configured in a script file which is stored in a secured area on the application server.  The script file has the extension of (.scr) and is stored in the SAS Connect link directories.  Here are some examples of their locations:

  • D:\SASV8\CONNECT\SASLINK
  • C:\SAS\CONNECT\SASLINK

The following examples are script segment intended for the TCP protocol (tcpwin.scr).  

   if not tcp then goto notcp;
   if signoff then goto signoff;

   /* --------------- TCP SIGNON ------------------------------------*/
   /* Uncomment the following section as well as the noprompt and    */
   /* nolog error routines if you invoked the spawner progam with    */
   /* the -p (protection) option. Protection is disabled by default. */

   waitfor 'Username:' , 120 seconds: noprompt;
   /* input 'Userid?'; */
   type 'my usrname' LF;
   waitfor 'Password:' , 120 seconds: nolog;
   /* input nodisplay 'Password?'; */
   type 'my password' LF;
   waitfor 'Hello>'
         , 'access denied'         :  nouser
         , 120 seconds             :  timeout
         ;


Note that the user name and password in red needs to be changed accordingly to match the account of a user with access to the remote machine.

SAS Application Server Connect Spawner

The following example describes how a SAS spawner service is started for a NT server.   The following commands can be accomplished at a command line but they are stored in a SAS program for clarity.

*** Define Location of the SAS Spawner ***;
x "cd D:\SAS_v8\";

*** The following example shows an example for SAS 6.12 ***;
*** x "cd D:\SAS\CONNECT\SASEXE";

*** Uncomment this section to delete previous service ***;
*** x "spawner.exe -delete";

*** Start the service with security for proper authentication ***;
x "spawner.exe -install -comamid tcp -security";

Starting Spawner Services

The SAS spawner services has to be started before it can create the telnet connection to the batch server.   The following commands can be inserted into a SAS program to start or stop a SAS job spawner.

*** Stop a job spawner service ***;
x 'NET STOP "SAS JOB SPAWNER"';

*** Start a job spawner service ***;
x 'NET START "SAS JOB SPAWNER"';

 

Configuring NT Privileges

In order for SAS/Connect to run in batch mode, proper privileges has to be granted to the batch server which allows batch jobs to be submitted remotely.  Start the configuration from the user manager tool usually located at: Start > Programs > Administration Tools > User Manager

  1. Select the menu: Policies > User Rights...
    usermanager.gif (10581 bytes)
  2. Grant privileges to the local NT server administrators group to the "Log on as a batch job".
    batchservice.gif (5287 bytes)

Ensure that the user that is is defined in the SAS/Connect script is part of the local NT administrator group.

 

Test Program

Use the following programs to test SAS/Connect.  Note that there is no ampersand (&) in front of the rsession macro.

*** Start the Remote login for the rsubmit ***;
%let rsession=struong_nt;

options remote=rsession comamid=tcp;
filename rlink "C:\SAS\connect\saslink\tcpwin.scr";
signon;
rsubmit;

  data one;
     a =10;
  run;

  proc print;
  run;

endrsubmit;

signoff;

 
     Meta-Xceed Inc.© 2007