Upgrading from a Previous Version
The Version 8 Application Dispatcher has changed greatly from previous
versions. While most applications developed for previous versions will not require
changes to run under Version 8, there are significant changes to the set up
and administration of the Application Dispatcher. The following sections
describe issues you may need to consider when you upgrade an existing installation.
Upgrading an Existing Service
Existing Application Dispatcher services can either be upgraded to Version 8
or left at an earlier version. Follow the steps below to upgrade an existing
service to Version 8. Note that both the SAS command and the submitted SAS
statements have changed with Version 8. Do not attempt to start a Version 8
Application Server with command line options or submitted statements from a
previous version. See the Multiple SAS System
Versions section below if you want to keep a service at a previous version.
- Use the configuration utility (inetcfg) to
create a Version 8 Application Dispatcher service with the same name as your
existing service. This utility will create a standard service definition
without any customizations you may have added in your existing installation.
- Convert any LIBNAME or FILENAME statements
in your Version 6 or Version 7 permdata.sas file to the corresponding
ALLOCATE LIBRARY or
ALLOCATE FILE statements in
the appstart.sas file created by the inetcfg utility.
You will also need to add each of these librefs to the
DATALIBS statement in the
appstart.sas file. This will make the librefs
available globally to all requests executed by the Application Server.
- Convert any LIBNAME or FILENAME statements in
your existing srvauto.sas file to corresponding
ALLOCATE LIBRARY or
ALLOCATE FILE statements in the
appstart.sas
file created by the inetcfg utility. You will also need to add each of these
librefs to the PROGLIBS statement in
the appstart.sas file. This will allow
programs residing in the librefs or filerefs to be executed by the
Application Server.
LIBNAME statements in srvauto.sas should be
converted to ALLOCATE LIBRARY statements if the library contains
SAS catalog entries to be executed. LIBNAME statements should be
converted to ALLOCATE FILE statements if the library contains
.sas files to be executed. For example, if your
srvauto.sas file contains
LIBNAME MYLIB 'C:\webapp\mypgms';
and the C:\webapp\mypgms
directory contains both SAS catalogs and
.sas files, your appstart.sas file
should contain the following statements:
ALLOCATE LIBRARY MYLIB 'C:\webapp\mypgms';
ALLOCATE FILE MYLIB 'C:\webapp\mypgms';
PROGLIBS MYLIB;
- Statements other than LIBNAME and FILENAME
statements in your srvauto.sas file must generally be moved to a
request init program. See the
REQUEST statement for more information on request init programs.
- If you have modified your reset.sas file, you may need to
create a request init program for your Version 8 Application Server. Move
any modified code from reset.sas to the request init program.
See the REQUEST statement for more
information on request init programs.
- Check the service definition in your broker.cfg file on your
Web server. Compare it with the Version 8 template
broker.cfg to see if any changes are necessary. Generally
no changes are required for socket services. There are significant changes to
the configuration parameters for launch services. Read the template file
carefully for more information.
Running Existing Programs
Existing Version 6 or Version 7 programs will run on the Version 8 Application
Server without modifications in most cases.
- Existing program libraries and files can be read by the Version 8
Application Server with no modification.
Note: Version 6 libraries can be read but not written by Version 8
of the SAS System. If you want to make changes to your program
catalogs in Version 8, you must convert the catalog to Version 8 format
using PROC COPY, PROC CPORT/CIMPORT or the Explorer interface. Once you
convert the catalog to Version 8, you will no longer be able access this
catalog from a Version 6 system.
- In Version 6 or 7, SCL programs could preserve state from one
request to another in SCL lists. The SCL lists remained in the server after
a request completed and could be accessed by any future request. This
approach was not recommended because the SCL lists were never cleaned up except
at server shutdown or by explicit program code. The SCL lists were shared
across all programs in a server with no access control and could not be shared
between multiple servers in a service.
Version 8 Application Server no longer allows this practice. Any SCL lists
created by an SCL program are deleted when the program completes. SCL lists
can be explicitly saved to a catalog or file with the savelist
function (and retrieved with fillist
). The
session feature is a convenient way to persist
SCL lists across multiple requests. The lists can be saved to a catalog
in the session SAVE library and retrieved by future requests sharing the
same session.
The Version 8 Application Dispatcher is compatible with existing Version 6
or Version 7 Application Servers. However, you must install the Version 8 CGI
Tools package on your Web server to use the Version 8 Application Server.
- The Version 8 Application Broker will communicate with previous versions
of the Application Server. You must add a ServiceCompatability:
1.0 directive to the service definition in the broker.cfg
file. See the template broker.cfg
for more information about this directive.
- Load Manager is supported only for Version 7 or Version 8
Application Servers.
- Pool Services are supported only for Version 8 Application Servers.
- SCL programs must be edited and compiled on a Version 6 system if
you want to run them on both Version 6 and later Application Servers.
Once a catalog containing Application Server programs is converted to
Version 8 format, it is not longer accessible by a Version 6 Application
Server.