SAS
SAS
3
Intelligence
Platform
Middle-Tier Administration
Guide
Third Edition
SAS Documentation
The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2012. SAS 9.3 Intelligence Platform:
Middle-Tier Administration Guide, Third Edition. Cary, NC: SAS Institute Inc.
SAS 9.3 Intelligence Platform: Middle-Tier Administration Guide, Third Edition
Copyright 2012, SAS Institute Inc., Cary, NC, USA
All rights reserved. Produced in the United States of America.
For a hardcopy book: No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any
form or by any means, electronic, mechanical, photocopying, or otherwise, without the prior written permission of the
publisher, SAS Institute Inc.
For a Web download or e-book: Your use of this publication shall be governed by the terms established by the vendor at
the time you acquire this publication.
The scanning, uploading, and distribution of this book via the Internet or any other means without the permission of the
publisher is illegal and punishable by law. Please purchase only authorized electronic editions and do not participate in or
encourage electronic piracy of copyrighted materials. Your support of others' rights is appreciated.
U.S. Government Restricted Rights Notice: Use, duplication, or disclosure of this software and related documentation by
the U.S. government is subject to the Agreement with SAS Institute and the restrictions set forth in FAR 52.22719,
Commercial Computer Software-Restricted Rights (June 1987).
SAS Institute Inc., SAS Campus Drive, Cary, North Carolina 27513.
Electronic book 2, February 2013
SAS Publishing provides a complete selection of books and electronic products to help customers use SAS software to its
fullest potential. For more information about our e-books, e-learning products, CDs, and hard-copy books, visit the SAS
Publishing Web site at support.sas.com/publishing or call 1-800-727-3228.
SAS and all other SAS Institute Inc. product or service names are registered trademarks or trademarks of SAS Institute Inc.
in the USA and other countries. indicates USA registration.
Other brand and product names are registered trademarks or trademarks of their respective companies.
Contents
What's New in Middle-Tier Administration for the SAS 9.3 Intelligence
Platform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii
Recommended Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
Chapter 1 Working in the Middle-Tier Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
20
21
36
37
37
39
39
40
Middle-Tier Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Using the SAS Anonymous Web User with SAS Authentication . . . 42
Multicast Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Using Single Sign-On among Web Applications . . . . . . . . . . . . . . . . 44
Using Secure Sockets Layer (SSL) for Web Applications . . . . . . . . 45
Configuring and Deploying Restrictive Policy Files . . . . . . . . . . . . . . 46
iv Contents
Chapter 4 Interacting with the Server Tier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Configuration Shared between the Middle Tier and the Server Tier . 57
SMTP Mail Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
JDBC Data Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Client-Side Pooling and Server-Side Pooling Options . . . . . . . . . . . 62
Job Execution Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Chapter 5 Administering the SAS Web Infrastructure Platform . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
70
73
77
84
86
92
124
125
129
137
138
139
148
148
149
151
Contents
155
157
159
160
164
165
165
172
179
183
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Steps for Defining and Deploying a New Theme . . . . . . . . . . . . . .
Deploying SAS Web Application Themes on a
Different Web Application Server . . . . . . . . . . . . . . . . . . . . . . . .
Deleting a Custom Theme from the Metadata . . . . . . . . . . . . . . . .
Migrating Custom Themes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
204
207
221
223
224
vi Contents
Chapter 13 Administering Multicast Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
Special Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
Scripting Tool for WebLogic Server . . . . . . . . . . . . . . . . . . . . . . . . 254
Scripting Tool for JBoss Application Server . . . . . . . . . . . . . . . . . . 276
Scripting Tool for WebSphere Application Server . . . . . . . . . . . . . . 290
Appendix 1 Configuring the SAS Environment File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
vii
Whats New
What's New in Middle-Tier
Administration for the SAS 9.3
Intelligence Platform
Overview
The SAS 9.3 middle-tier software has the following changes and enhancements:
n
New SAS Logon Manager Security Policy to Disable Concurrent Logon Sessions
Documentation Enhancements
New SAS Logon Manager Security Policy to Disable Concurrent Logon Sessions
ix
x Middle-Tier Administration
Documentation Enhancements
n
In the second maintenance release of SAS 9.3, information about the Web
application start-up sequence is enhanced. For deployments that use IBM
WebSphere Application Server, there is a sequence for five applications, but the
remaining Web applications can be started in any sequence.
In the first maintenance release of SAS 9.3, the configuration scripting tools chapter
is enhanced to include more procedural information. Step-action procedures that
describe how to run the tools to configure the middle-tier software are new.
In the first maintenance release of SAS 9.3, procedural information about configuring
Secure Sockets Layer (SSL) is removed. Documentation that describes the
procedural steps is provided at http://support.sas.com/thirdpartysupport.
SAS Logon Manager is documented in its own chapter. New configuration steps are
provided for configuring custom logon, log off, and time-out messages. More
information is provided about configuring HTTP session time-out intervals.
The configuration steps for rebuilding and redeploying the SAS Web applications
has been revised. More information about when the Web application server can be
running, or must be stopped, is provided.
Information about configuring the JGroups bind address has been added. This
information was previously provided by SAS Technical Support in a SAS Note.
xi
Recommended Reading
SAS offers instructor-led training and self-paced e-learning courses to help you
administer the SAS Intelligence Platform. For more information about the courses
available, see support.sas.com/admintraining.
For a complete list of SAS books, go to support.sas.com/bookstore. If
you have questions about which titles you need, please contact a SAS
Book Sales Representative:
SAS Books
SAS Campus Drive
Cary, NC 27513-2414
Phone: 1-800-727-3228
Fax: 1-919-677-8166
E-mail: sasbook@sas.com
Web address: support.sas.com/bookstore
1
Working in the Middle-Tier
Environment
Understanding the Middle-Tier Environment . . . . . . . . . . . . . . . . . . . . . . . . . 2
Third-Party Software Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Web Application Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Java Development Kit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
SAS Web Infrastructure Platform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Services and Applications in the SAS Web
Infrastructure Platform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
SAS Foundation Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
SAS Web Infrastructure Platform Services . . . . . . . . . . . . . . . . . . . . . . . . . 10
SAS Workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
SAS Content Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
SAS Web Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
SAS Web Report Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
SAS Information Delivery Portal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
SAS BI Dashboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
SAS Documentation for the Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
SAS BI Portlets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Starting the Web Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Main Steps for Starting the Web Applications . . . . . . . . . . . . . . . . . . . . . . 16
Deploying and Starting Web Applications in the Correct Order . . 16
SAS Servers
Middle Tier
Clients
Desktop clients:
SAS Workspace
Server
SAS Pooled
Workspace Server
SAS Scalable
Performance
Data (SPD) Server
SAS Framework
Data Server
Third-party
Data Stores
Enterprise Resource
Planning (ERP) Systems
SAS
Content
Server
Other
infrastructure
applications
& services
SAS Stored
Process Server
Running SAS processes f or
distributed clients
SAS Information
Delivery Portal
SAS BI Portlets
SAS BI Dashboard
SAS Help Viewer for the
Web
Other SAS Web
applications and solutions
HTTP
SAS Web applications, which can include SAS Web Report Studio, the SAS
Information Delivery Portal, the SAS BI Dashboard, and other SAS products and
solutions
the SAS Web Infrastructure Platform, which includes the SAS Content Server and
other infrastructure applications and services
a Java remote method invocation (RMI) server, which provides access to SAS
Foundation Services and associated extension services
The SAS Intelligence Platform architecture provides the flexibility to distribute these
components according to your organization's requirements. For small implementations,
the middle-tier software, SAS Metadata Server, and other SAS servers, such as the
SAS Workspace Server and SAS Stored Process Server, can all run on the same
machine. In contrast, a large enterprise might have multiple servers and a metadata
repository that are distributed across multiple platforms. The middle tier in such an
enterprise might distribute the Web applications to many Web application server
instances on multiple machines.
SAS
Information
Delivery Portal
SAS
BI Portlets
SAS BI
Dashboard
SAS
Help Viewer
for the Web
Other SAS
Web applications
and solutions
SAS Shared
Web Assets
SAS Web
Infrastructure
Services
SAS Logon
Manager
SAS
Preferences
Manager
SAS Comment
Manager
SAS Stored
Process Web
Application
SAS Web
Administration
Console
SAS Content
Server
SAS Workflow
Engine
SAS Information
Delivery Portal
JPS Extension
Other JPS
Extensions
Relational database
(for alerts, comments,
workflows, and SAS
Content Server)
For information about the supported versions of these products and supported
platforms, see the SAS third-party Web page at http://support.sas.com/resources/
thirdpartysupport/v93.
The following applications and services run in the Web application server environment:
n
applications and services that are part of the SAS Web Infrastructure Platform
the SAS Web Report Studio, SAS Information Delivery Portal, SAS BI Dashboard,
and SAS Help Viewer for the Web applications
Depending on which products and solutions you have purchased, your site might have
additional Web applications.
The following services and applications are included in the SAS Web Infrastructure
Platform:
Table 1.1
Application or Service
Features
Contains graph applet JAR files that are shared across SAS
Web applications. They display graphs in stored processes
and in the SAS Stored Process Web application.
Application or Service
Features
Application or Service
Features
Provides features for monitoring and administering middletier components. This browser-based interface enables
administrators to perform the following tasks:
n Monitor users who are logged on to SAS Web
component.
SAS Workflow
In the middle tier, the SAS Web Infrastructure Platform plays an important and critical
role with a collection of middle-tier services and applications that provide basic
integration services.
In the Web application server, two sets of services are available to all SAS Web
applications:
n
user authentication
profile management
session management
activity logging
connection management
WebDAV service
Extension services for information publishing, event management, and SAS Stored
Process execution are also provided. All of the SAS Web applications that are
described in this document use the SAS Java Platform Services. If you have correctly
installed and configured the Web applications, the platform services are defined in your
SAS metadata repository.
You can verify this metadata in the SAS Management Console. Depending on the Web
applications that were installed, the SAS Portal Local Services (used by the SAS
Information Delivery Portal) are displayed in the SAS Management Console.
In addition, other applications and portlets might have deployment of their own local
services.
10
Mail is a single, common mechanism for Simple Mail Transfer Protocol (SMTP)based mail.
Status and monitoring is a collective set of services providing information about the
configured or functioning system.
Themes provide access to theme definitions for presentation assets used in Web
applications.
SAS Workflow Services enable applications to interact with business processes that
run in the SAS Workflow Engine.
Registry provides access to services for desktop clients; a client needs to know only
a single endpoint to determine other required locations.
SAS Workflow
SAS Workflow provides services that work together to model, automate, integrate, and
streamline business processes. It provides a platform for more efficient and productive
business solutions. SAS Workflow is used by SAS solutions that benefit from business
process management.
SAS Workflow Studio is a desktop client application that is used to design and deploy
workflows. The SAS middle tier hosts the workflow engine and the workflow services.
For deployments that use the default SAS Web Infrastructure Platform database
provided by SAS Framework Data Server, there is a limitation on the number of groups
and roles that SAS Workflow user can belong to. Users of SAS Workflow, and SAS
solutions that use SAS Workflow, are limited to being members of 26 roles and groups.
Attempting to assign more than 26 roles and groups to a user can cause queries to fail
in the SAS Framework Data Server.
For deployments that use WebSphere Application Server and have a SAS solution,
such as SAS Enterprise Case Management, that uses SAS Workflow, change the
following settings to improve performance:
1 Increase the memory settings in the JVM options:
a Select Servers Server Types WebSphere application servers and then
Java Virtual Machine. In the Generic JVM arguments field, change the settings
to the following values:
-Xms4096m -Xmx4096m -Xss512k
12
2 Set optimistic locking and increase the connection pool size for the SharedServices
data source:
a Select Resources JDBC Data sources and then select SharedServices.
b Click Custom properties and then click New. Enter the following settings:
Name: websphereDefaultIsolationLevel
Value: 2
Type: java.lang.String
c Select SharedServices from the breadcrumb at the top of the page and then
select Connection pool properties. Change the values for the following
settings:
Maximum connections: 100
Minimum connections: 1
3 Increase the settings for JMS connection pooling:
a Select Resources JMS Queue connection factories and then select
SASQueueConnectionFactory.
b Click Connection pool properties. Change the values for the following settings:
Maximum connections: 50
Minimum connections: 10
13
report content is stored using the same folder names, folder hierarchy, and permissions
that the SAS Metadata Server uses to store corresponding report metadata.
In addition, the SAS Content Server stores documents and other files that are to be
displayed in the SAS Information Delivery Portal or in SAS solutions.
To interact with the SAS Content Server, client applications use Web-based Distributed
Authoring and Versioning (WebDAV) based protocols for access, versioning,
collaboration, security, and searching. Administrative users can use the browser-based
SAS Web Administration Console to create, delete, and manage permissions for folders
on the SAS Content Server. Administrative users can also search the SAS Content
Server by using industry-standard query syntax, including XML Path Language (XPath)
and DAV Searching and Locating (DASL).
14
The portal's personalization features enable users to organize information about their
desktops in a way that makes sense to them.
For more information, see the SAS Information Delivery Portal Help, which is available
from within the product.
SAS BI Dashboard
SAS BI Dashboard 4.3 enables users to create, maintain, and view dashboards to
monitor key performance indicators that convey how well an organization is performing.
SAS BI Dashboard 4.3 includes an easy-to-use, drag and drop interface for creating
dashboards that include graphics, text, colors, and hyperlinks. The application
leverages Flash in the Rich Internet Application (RIA) architecture.
The Dashboard Viewer enables users to:
n
15
Stored Processes
Indicators
With the ability to save favorite dashboards and add comments, users can collaborate
and easily access dashboards with customized information. All content is displayed in a
role-based, secure, customizable, and extensible environment.
SAS BI Portlets
The SAS BI Portlets are based on JSR 168 and are available with SAS Enterprise
Business Intelligence Server. These portlets are seamlessly integrated into the SAS
Information Delivery Portal. SAS BI Portlets enable users to access, view, or work with
content items that reside in either the SAS metadata server or the SAS Content Server.
16
to access. For the correct URL, see the Instructions.html document, which
resides in the Documents subdirectory of your configuration directory. The exact URL
varies with the Web application server that you are using and the configuration that
you have defined for your environment.
3 Log on to the Web application. For instructions about logging on to a Web
application, see the online Help that is provided with the application.
directly as the number to enter in the Startup order field for WebSphere Application
Server.
1 SAS Web Application Themes (sas.themes.ear)
2 SAS Web Infrastructure Platform Services (sas.wip.services9.3.ear)
3 SAS Web Infrastructure Platform Applications (sas.wip.apps9.3.ear)
4 SAS Content Server (sas.wip.scs9.3.ear)
5 SAS Information Delivery Portal 4.3 (sas.portal4.3.ear)
The remaining Web applications can be deployed or started in any order, including
starting them before the applications in the previous list.
17
18
19
2
Best Practices for Configuring Your
Middle Tier
Best Practices for Middle-Tier Configuration . . . . . . . . . . . . . . . . . . . . . . . 20
Sample Middle-Tier Deployment Scenarios . . . . . . . . . . . . . . . . . . . . . . . . . 21
Overview of Middle-Tier Deployment Scenarios . . . . . . . . . . . . . . . . . . . 21
Scenario 1: Web Applications Deployed in a
Single Web Application Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Scenario 2: Static Content Deployed in a Reverse Proxy . . . . . . . . . 25
Scenario 3: Web Applications Deployed across a
Web Application Server Cluster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Additional Considerations for a Deployment . . . . . . . . . . . . . . . . . . . . . . . . 33
Tuning the Web Application Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Configuring a Cluster of Web Application Servers . . . . . . . . . . . . . . . . 37
Configuring HTTP Sessions in Environments
with Proxy Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Resolve HTTP Session Requests in a Secure Environment . . . . . 37
Using an HTTP Server to Serve Static Content . . . . . . . . . . . . . . . . . . . . . 39
Using a Proxy Plug-in between the Web
Application Server and the HTTP Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Using Apache Cache Control for Static Content . . . . . . . . . . . . . . . . . . . 40
SAS BI Dashboard
For deployments that use WebSphere Application Server, if you want to configure the
middle-tier environment manually, then configure a separate cell for the SAS Web
applications. The SAS Web applications make use of resources that are configured at
the cell level. Configuring a separate cell avoids interference between the SAS Web
applications and other Web applications.
For deployments that use WebLogic Server, if you want to configure the middle-tier
environment manually, then configure a separate domain for the SAS Web applications.
The SAS Web applications make use of resources that are configured at the domain
level. Configuring a separate domain avoids interference between the SAS Web
applications and other Web applications.
21
For deployments that use JBoss, if you want to configure the middle-tier environment
manually, then configure separate Web application server instances for the SAS Web
applications. Do not deploy the SAS Web applications to Web application server
instances that are used for other Web applications. Likewise, do not deploy other Web
applications to the Web application server instances that are used for the SAS Web
applications.
The topologies that are presented here range from simple to complex. Scenario 1
represents the deployment that results from using the SAS Deployment Wizard to
configure the Web application server and deploy the SAS Web applications. Scenarios
2 and 3 provide advanced features, such as greater security and efficiency, but require
more effort to implement and to maintain.
All scenarios include the SAS server tier. The server tier consists of a SAS Metadata
Server that resides on a dedicated machine. The server tier also includes additional
systems that run various SAS Application Servers, including SAS Workspace Servers,
SAS Pooled Workspace Servers, SAS Stored Process Servers, and SAS OLAP
Servers.
Web Browser
Middle Tier
SAS Servers
SAS Framework
Data Server
23
Topic
Advantages
Disadvantages
Security
None
Scalability
None
Availability
None
Maintainability
None
25
applications to two managed servers, this alternative configuration allows more memory
availability for the applications deployed on each managed server and also increases
the number of users that can be supported. Some SAS Solutions are configured with
multiple servers by the SAS Deployment Wizard automatically. However, you can
choose to configure multiple managed servers by running the wizard with the custom
prompting level and selecting this feature.
HTTP Server
Web Browser
Web Application
Server Plug-in
Module
Middle Tier
SAS Servers
SAS Framework
Data Server
SAS Themes
for Flex Applications
SAS BI Dashboard
SAS Help Viewer for the Web
SAS Workflow
SAS Web Administration Console
SAS Shared Web Assets
SAS Theme Designer for Flex
In a typical configuration, the HTTP server is configured with a module or plug-in that
enables the reverse proxy function of communicating with the Web application server.
By having the reverse proxy as the single point of contact for browser requests, the
Web application server is not directly exposed to clients. The reverse proxy provides a
layer of security for the SAS Web applications.
Although this topology must be manually configured and maintained, here are the
advantages and disadvantages of this topology:
Table 2.2
Topic
Advantages
Disadvantages
Security
Scalability
Availability
None
27
Topic
Advantages
Disadvantages
Maintainability
For instructions about how to configure an HTTP server as a reverse proxy for SAS
Web applications deployed on JBoss, WebSphere Application Server, or WebLogic
Server, see the SAS third-party Web site at http://support.sas.com/resources/
thirdpartysupport/v93.
29
The following figure illustrates the topology for scenario 3. Note that the Web application
servers and SAS Web applications are distributed across multiple middle-tier machines.
Figure 2.3 Scenario 3: Clustered Web Application Servers and a Demilitarized Zone
Clients
HTTP Server
Web Browser
Web Application
Server Plug-in
Module
Middle Tier
SAS Servers
SAS Framework
Data Server
SAS Themes
for Flex Applications
SAS BI Dashboard
SAS Help Viewer for the Web
SAS Workflow
SAS Web Administration Console
SAS Shared Web Assets
SAS Theme Designer for Flex
Protocol
Firewall
Domain
Firewall
Note: As indicated in the figure, if you configure a cluster of Web application servers,
then you must deploy all the SAS Web applications to each node in the cluster. Each
node must be configured identically.
In the figure, note that the SAS Remote Services application resides on a machine that
is separate from the cluster of Web application servers. This separation serves to
illustrate that the SAS Remote Services application is a server application that does not
participate in clustering. The SAS Remote Services Application could just as well reside
on any one of the machines in the cluster.
Although this topology requires manual configuration and greater maintenance than the
topologies in the previous scenarios, here are the advantages and disadvantages of this
topology:
Table 2.3
Topic
Advantages
Disadvantages
Security
None
None
Scalability
None
Availability
None
Topic
Advantages
Disadvantages
Maintainability
31
Understanding Clusters
In order to provide greater scalability, availability, and robustness, WebLogic Server,
WebSphere Application Server, and JBoss support some form of clustering. With
clustering, multiple Web application server instances participate in a load-balancing
scheme to handle client requests. Workload distribution is usually managed by the
same application server plug-in module that enables the use of a reverse proxy for
static content.
The Web application server instances (managed servers) in a cluster can coexist on the
same machine (vertical clustering), or the managed servers can run on a group of
middle-tier server machines (horizontal clustering). The SAS Web applications can be
deployed on both vertical and horizontal clusters.
A different approach to load distribution involves merely deploying individual SAS Web
applications on separate, non-clustered Web application servers. Though this approach
reduces the memory load for any given server, a clustering strategy is preferable.
Deployment is easier to manage with a cluster because all machines and server
instances are identically configured. Furthermore, Web application servers provide
deployment management services that facilitate management of a cluster. It is relatively
easy to add additional nodes and increase the size of the cluster.
assigned to a session with a Web application server, the client remains with that server
for the duration of the session. By default, session affinity is enabled in WebSphere
Application Server and WebLogic Server.
Although WebSphere Application Server, WebLogic Server, and JBoss provide the
ability to migrate HTTP sessions from one server to another, the SAS Web applications
do not support this capability. Business intelligence sessions often contain large data
elements, such as results sets from ad hoc queries, reporting, and analytical tasks, that
cannot be migrated easily among Web application servers.
33
Which links do you want to encrypt? In the figures shown for the various scenarios,
each arrow represents a potential communications link that might be encrypted. You
should consider encrypting the following:
o
Encrypt any data that is capable of moving across the public Internet. If
connections to your site go through a virtual private network (VPN), then those
connections are already encrypted. Otherwise, traffic to and from your site is
open to packet analysis by Internet users.
Encrypt all traffic that moves between the client and your HTTP server that
resides in the DMZ.
Always encrypt traffic that is used to transmit credit card numbers, Social
Security numbers, and any other sensitive information.
To achieve strong security, encrypt links all the way to the Web application server. If
you are concerned about internal packet analysis, you can encrypt everything.
However, total encryption comes with a cost, as explained in the remaining
considerations.
n
Some load-balancing schemes might rely on packet content for routing. When that is
the case, encryption can impede the work that is performed by load-balancing
software or hardware because encryption renders the packet content
undecipherable.
The certificates that are used with SSL expire at fixed intervals. When a user's
certificate expires, the user must obtain a new certificate before logging on to your
applications. If you want a highly available system, then you should prepare for
certificate renewal in advance to avoid unexpected downtime.
You must decide whether to use certificates that are generated by a Certification
Authority (CA), or whether self-signed certificates are adequate for your application.
Self-signed certificates can save you money, but you are responsible for managing
their distribution to clients.
Web Authentication
By default, SAS Web applications use the form-based authentication that is provided by
the SAS Logon Manager Web application. When credentials are provided to the SAS
Logon Manager Web application, the credentials are sent to the SAS Metadata Server
for authentication. The metadata server then authenticates the credentials against its
authentication provider. The default provider is the host operating system.
As an alternative, you can configure the SAS Web applications to authenticate on the
middle tier. When users log on to a SAS Web application, the Web application server
35
handles the initial authentication. In this configuration, the Web application server's
JAAS login module authentication provider verifies the user's identity. Then, the SAS
Logon Manager Web application makes a trusted user connection to the metadata
server to check that the authenticated user has a SAS identity in metadata.
Performing Web authentication facilitates single sign-on. Most likely, your organization
has several applications behind a common set of reverse proxy and HTTP servers. By
having a common server handle authentication, users do not need to re-authenticate for
access to each application.
For more information, see the following topics:
n
If you use the Windows service, you can increase the initial and maximum heap size of
the SAS Remote Services application. Edit the wrapper.conf file located in the SASconfig-dir\Lev1\Web\Applications\RemoteServices directory.
Alternatively, you can add the recommended JVM options to one of the following
scripts:
n
On Windows:
SAS-config-dir\Lev1\Web\Applications\RemoteServices\RemoteServices.bat
to limit the frequency with which servers check for updated JavaServer Pages and
servlets
to make sure that the server can create sufficient threads to service incoming
requests
SAS provides a set of JVM option settings in the Instructions.html file that is generated
by the SAS Deployment Wizard. Use those settings as a starting point for your tuning.
In addition, SAS provides additional tuning information in SAS 9.3 Web Applications:
Tuning for Performance and Scalability that is available with the Web application server
documentation at
http://support.sas.com/resources/thirdpartysupport/v93.
37
An exception applies to this process if your environment has any front-end processor
(for example, Apache, Web clustering, IBM Tivoli Access Manager WebSEAL, or CA
SiteMinder) configured. In these scenarios, or if a reverse proxy is configured with
WebSEAL, the HTTP session request comes via an internal address. For example, the
request might come via http://host:port/application instead of an external
address http://proxiedhost/application. This sequence of events triggers a
redirection filter, which typically sends the request to a location in the metadata where
the request format is expected in the form of shortname.example.com. However, the
redirection filter is not required because the proxy sends the request to the same
location, and the same address is always used.
To ensure successful resolution of HTTP session requests in a secure environment
(any environment with a front-end processor), the redirection filter must be disabled for
SAS Web Report Studio. In addition, it is highly recommended that you disable this filter
for all SAS applications.
To disable the redirection filter for all SAS Web applications, follow these steps:
1 In SAS Management Console, navigate to Plug-ins Application Management
Configuration Manager SAS Application Infrastructure Properties and rightclick to display the SAS Application Infrastructure Properties dialog box.
2 Click the Advanced tab.
3 Click Add to display the Define New Property Window.
4 Enter the property name as shown, and specify the property value:
Using a Proxy Plug-in between the Web Application Server and the HTTP Server
39
to forward requests for dynamic content to the Web application server or servlet
container. In this scenario, the HTTP server handles all the static content and relies
on the Web application server for dynamic content.
For information about using the SAS Web applications with a proxy plug-in, see http://
support.sas.com/thirdpartysupport.
41
3
Middle-Tier Security
Middle-Tier Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Using the SAS Anonymous Web User with SAS
Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Multicast Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Using Single Sign-On among Web Applications . . . . . . . . . . . . . . . . . . . 44
Using Secure Sockets Layer (SSL) for Web Applications . . . . . . . . 45
Configuring and Deploying Restrictive Policy Files . . . . . . . . . . . . . . . 46
About Restrictive Policy Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Example Policy Files for JBoss and WebSphere
Application Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Create Restrictive Policies for JBoss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Create Restrictive Policies for WebSphere . . . . . . . . . . . . . . . . . . . . . . . . . 49
Restore Your SAS Environment to Use Default Policies . . . . . . . . . . 51
Disable Restrictive Policy Handling for JBoss . . . . . . . . . . . . . . . . . . . . . . 52
Disable Restrictive Policy Handling for
WebSphere Application Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Customize Permissions for Socket Access . . . . . . . . . . . . . . . . . . . . . . . . . 53
Access Permissions for Custom Portlets and
Web Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Middle-Tier Security
To determine how to implement middle-tier security, you should consider your
organization's internal security policies, the security mechanisms that are in place in
your environment, the types of users who need to access the Web applications, and the
types of content that you plan to make available.
Important concepts and tasks concerning middle-tier security are as follows:
n
SAS Anonymous Web User. See Using the SAS Anonymous Web User with SAS
Authentication on page 42.
Single Sign-On. See Using Single Sign-On among Web Applications on page 44.
Secure Sockets Layer (SSL). See Using Secure Sockets Layer (SSL) for Web
Applications on page 45.
Restrictive Policy Files. See Configuring and Deploying Restrictive Policy Files on
page 46.
Multicast Security
43
in the operating system of the metadata server machine, only if you selected the
External authentication option for this user during a custom installation.
Multicast Security
A multicast group communications protocol is used to communicate among middle-tier
SAS applications in a single SAS deployment (the set of applications connected to the
same SAS Metadata Server). During installation, the SAS Deployment Wizard supplies
you with a default multicast address and port number that it generates based on the
machine's (metadata server) IP address. The combination of multicast IP address and
multicast UDP port should be different for each SAS deployment and also different from
those used by other multicast applications at your site.
The IP address and multicast UDP port number for the multicast host must match the
values in the Web application server's start-up script (for example, SASServer1.bat)
and the environment.properties file located in the SAS-config-dir\Lev1\Web
\Applications\RemoteServices directory.
The multicast group communication includes all information needed to bootstrap SAS
middle-tier applications. Because this includes sending the SAS environment
credentials (such as the sasadm account name and its password), scoping and
encryption options are provided in the SAS Deployment Wizard. The defaults are most
appropriate for deployments in the firewall, isolated data center environment. After
installation, if you choose to modify the scoping or encryption options, you can do so by
specifying the options for the -Dmulticast.security parameter for your Web
application server.
For more information, see Administering Multicast Options on page 238.
To bypass the logon prompt when launching a desktop application (such as SAS
Information Map Studio, SAS Enterprise Guide, SAS Data Integration Studio, SAS
OLAP Cube Studio, or SAS Management Console), use Integrated Windows
authentication. The client and the metadata server must be in the same Windows
domain or in domains that trust each other.
45
To bypass the logon prompt when launching a SAS Web application (such as SAS
Web Report Studio or SAS Information Delivery Portal), use Web authentication.
For more information about SSO, see the SAS Intelligence Platform: Security
Administration Guide.
http://www.jboss.org/docs
http://www.oracle.com/technology/documentation/index.html
http://www.ibm.com/support/documentation/us/en/
Use the SAS Deployment Manager to remove the existing configuration of your SAS
environment. Then, reconfigure the environment by choosing the custom installation
option in SAS Deployment Wizard. The custom installation option enables you to
configure restrictive policy files. This method, which is highly recommended, offers
the most dependable and thorough approach to ensure that your SAS environment
is set up correctly to use the Java 2 Security and restrictive policy files.
47
Manually configure and enforce the use of restrictive policy files. Follow this method
if your site has significantly large amounts of custom content, and the previously
described method is not feasible at your site.
CAUTION! SAS strongly discourages the use of restrictive policy files on SAS
middle-tier applications because they provide no end-user security, they are
difficult to maintain, and they can be very detrimental to application performance.
The SAS Deployment Wizard implements the following restrictive policies by using
different methods for JBoss and WebSphere Application Server:
n
JBoss: When policy files are edited and the SAS Web applications are rebuilt by
using the SAS Deployment Manager, the edits made to the policy files are united
into a single policy file (sas.restrictive.permissions.policy) that is applied to
JBoss.
WebSphere Application Server: Policy files for WebSphere Application Server are
applied to each EAR file. Each policy file's inputs are placed into the corresponding
EAR file as a was.policy file.
Table 3.1
Application
SAS Information
Delivery Portal
SASPortal4.3\PolicyFileInputs\ears\sas.portal
SASWebReportStudio4.3\PolicyFileInputs\ears
\sas.webreportstudio
SASContentServer9.3\PolicyFileInputs\ears
\sas.wip.scs
SASStoredProcess9.3\PolicyFileInputs\ears
\sas.storedprocess
SAS WebInfrastructure
Platform Applications
SASWebInfrastructurePlatformApplications9.3\Po
licyFileInputs\ears\sas.wip.apps
SAS WebInfrastructure
Platform Services
SASWebInfrastructurePlatformServices9.3\Policy
FileInputs\ears\sas.wip.services
SAS Workflow
SASWorkflow9.3\PolicyFileInputs\ears
\sas.workflow
SAS BI Dashboard
SASBIDashboard4.3\PolicyFileInputs\ears
\sas.bidashboard
SAS BI Portlets
SASBIPortlets4.3\PolicyFileInputs\ears
\sas.biportlets
SASPackageViewer4.3\PolicyFileInputs\ears
\sas.packageviewer
SASWebDoc9.3\PolicyFileInputs\ears
\sas.webdocmd
49
policy.
2 Edit the policy file that you created from the original example.policy file. Policy
\Lev1\Web\Common\SASServer1\JBoss\PolicyFileInputs\ears
\jboss.policy. If you need to modify this file, copy it to policy, and then edit it.
4 Run the SAS Deployment Manager to rebuild SAS Web applications. Select JBoss
and any applications for which you have edited the restrictive policy file. Rebuilding
for JBoss re-creates the Java 2 security policy file, and the
sas.restrictive.permissions.policy.
5 Redeploy each SAS Web application that was modified previously.
6 If you performed an auto-configuration of JBoss, restart the JBoss application
Although the following task applies to the policy file for SAS Information Delivery Portal,
you can follow the same steps by substituting the appropriate directories for the policy
file that applies to each SAS application.
To convert from all permissions to restrictive permissions for SAS applications, follow
these steps:
1 The webappsrv.policy.use_restrictive property that is stored in metadata
must be updated and set to true. You can do this with the Metadata Browser window
that is started with the METABROWSE command from a Base SAS session.
Contact SAS Technical Support for more information about using the Metadata
Browser window.
2 In the Integrated Solutions Console, navigate to Security Secure
\SASServer1\SASPortal4.3\PolicyFileInputs\ears\sas.portal
\example.policy file to SAS-config-dir\Lev1\Web\Common
\SASServer1\SASPortal4.3\CustomContent\ears\sas.portal\METAINF\was.policy.
TIP You must create the META-INF directory that is specified in the destination
path. Also, the file is renamed from example.policy to was.policy.
4 Edit the was.policy file that you copied from the original example.policy file.
Policy files must use UTF-8 character encoding. Remove comments from the
was.policy file.
5 Rename the SAS-home-dir\SASInformationDeliveryPortal
\4.31\Configurable\ears\sas.portal\META-INF
\was.policy.websphere.orig to was.policy.websphere.bak. You must
perform this step so that the Web application is built with the was.policy file from
the CustomContent directory path.
51
6 Run the SAS Deployment Manager to rebuild the SAS Web applications (select the
applications for which the policy files were modified). The edited was.policy files
are inserted into the appropriate EAR files. When you rebuild the Web applications,
SAS Deployment Manager rebuilds a complete EAR file that includes any custom
content, including the was.policy file.
7 Redeploy each SAS Web application that was modified previously.
8 Restart the Web application server.
environment.
2 Use the SAS Deployment Wizard to configure your SAS environment by not
following parameters:
Djava.security.manager -Djava.security.policy=
JBOSS_HOME\server\SASServer1\sas.restrictive.permissions.policy
3 Restart the JBoss application server.
If JBoss is running as a Windows service, follow these steps to remove restrictive policy
files:
1 Edit the JBOSS_HOME\server\SASServer1\wrapper.conf file.
2 Remove the following parameters in the wrapper.conf file:
wrapper.java.additional.nn=-Djava.security.manager
wrapper.java.additional.nn=Djava.security.policy=
JBOSS_HOME\server\SASServer1\sas.restrictive.permissions.policy
3 Restart the JBoss application server.
53
2 To disable Java 2 security deselect the check box for Use Java 2 security to
This wildcard permission enables the Java code in the applications to connect to any
host or port that is accessible to your site's network topology. If you want to provide
strong protection with custom access, you can create specific socket permissions for
the hosts and ports that are accessed by an individual SAS Web application.
Access to the Java RMI server and remote SAS Foundation Services:
When running on localhost, create an entry that contains the fully qualified host
name.
// permission java.net.SocketPermission
// "localhost:1024-", "listen, connect, accept, resolve";
permission java.net.SocketPermission
<SAS Services application's machine name>:1024-,
"listen, connect, accept, resolve";
Access to the remote portlet or Web application's local SAS Foundation Services:
Always create an entry for both the localhost and fully qualified host name.
permission java.net.SocketPermission
"localhost:1024-", "listen, connect, accept, resolve";
permission java.net.SocketPermission
<remote portlet or Web application's machine name>:1024-,
"listen, connect, accept, resolve";
Access for foundation service-enabled applications that call this application to pass
objects (via RMI to this application):
Create one entry per machine.
permission java.net.SocketPermission
<portal Web application's machine name>:1024-,
55
Access to a SAS Stored Process Server, SAS Workspace Server, or SAS OLAP
Server:
Create one entry per machine.
permission java.net.SocketPermission
<SAS Workspace Server's machine name>:1024-,
"connect, resolve";
permission java.net.SocketPermission
<SAS Stored Process Server's machine name>:1024-,
"connect, resolve";
permission java.net.SocketPermission
<SAS OLAP Server's machine name>:1024-,
"connect, resolve";
Access to the host and port where the SAS Web Application Themes is running:
// ---------- Socket Access to Themes -----------permission java.net.SocketPermission
Theme_host:Theme_Port:,
"connect, resolve";
CodeBase: Portal
Access for foundation service-enabled applications that are called by this application to
pass objects (via RMI) (for example, remote portlets, Web applications, and
applications):
Create one entry per machine.
permission java.net.SocketPermission
<remote portlet/Web application's machine name>:1024-,
"listen, connect, accept, resolve";
CodeBase: SASServices
The remoteservices.policy file is located in the SAS-config-dir\Lev1\Web
\Applications\RemoteServices directory. The following applies to connections
with applications that use SAS Foundation Service session sharing:
permission java.net.SocketPermission
<remote portlet/Web application's machine name>:1024-,
"listen, connect, accept, resolve";
57
4
Interacting with the Server Tier
Configuration Shared between the Middle Tier
and the Server Tier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
SMTP Mail Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
JDBC Data Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
About the Data Sources Used by the Middle Tier . . . . . . . . . . . . . . . . . . 59
Connection Information for the JDBC Data Source . . . . . . . . . . . . . . . . 60
The Shared Services Database on SAS
Framework Data Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Using Other Relational Databases with the SAS Middle Tier . . . . 62
Client-Side Pooling and Server-Side Pooling Options . . . . . . . . . . . . 62
Job Execution Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
59
of the SMTP mail server changes), see the appropriate documentation for your Web
application server.
If the mail server information, such as host name or port number, is changed, then it
must be changed in SAS metadata as well. To set the new values, follow these steps:
1 Log on to SAS Management Console and select Application Management
Configuration Manager.
2 Right-click SAS Application Infrastructure and select Properties.
3 Click Advanced, and then set the new values for Email.Host or Email.Port.
Oracle Database
IBM DB2
MySQL
PostgreSQL
Your site can choose to use the database that you are familiar with. However, some
SAS solutions have requirements for specific databases. Consider these requirements
when you select a database to use as the data source for the SAS Web Infrastructure
Platform. As a default option, the SAS Framework Data Server can be configured as the
data source for SAS Web Infrastructure Platform.
Connection Parameter
Setting
JNDI name:
sas/jdbc/SharedServices
JDBC URL:
jdbc:sastkts://serverName:port?
stmtpooling=0&constring=
(DSN=SharedServices;encoding=UNICODE_FSS)
In the URL, substitute the server name and port number of the
SAS Framework Data Server at your site. The default port is
22031.
com.sas.tkts.TKTSDriver
61
These settings are configured during initial deployment. However, you need to know the
connection information if you make changes later, such as moving the SAS Framework
Data Server to another host system.
Note: You must specify the user name and password values as required to access the
data source.
The SAS Drivers for JDBC are used to connect to the SAS Framework Data Server.
The JAR files in the following list must be in the same directory as the JDBC driver to
connect with the SAS Framework Data Server:
n
sas.core.jar
sas.core.nls.jar
sas.icons.jar
sas.icons.nls.jar
sas.intrnet.javatools.jar
sas.intrnet.javatools.nls.jar
sas.nls.collator.jar
sas.oda.tkts.jar
sas.oda.tkts.nls.jar
sas.security.sspi.jar
sas.svc.connection.jar
sas.svc.connection.nls.jar
To modify the settings for a JDBC data source, see the documentation for your Web
application server.
On Windows:
SAS-config-dir\Lev1\FrameworkServer\Content\SHAREDSERVICES.FDB
On UNIX and z/OS:
SAS-config-dir/Lev1/FrameworkServer/Content/SHAREDSERVICES.FDB
CAUTION! Do not change the name or contents of the DSN. Doing so prevents
SAS Web Infrastructure Platform from functioning.
63
client-side pooling
is the process by which the client application maintains a collection of reusable
workspace server processes.
For a comparison of client-side pooling and server-side pooling, see Choices in
Workspace Server Pooling in the Server Configuration, Data Retrieval, and Risk
chapter in the SAS Intelligence Platform: Security Administration Guide.
For more detailed information about pooling, see Understanding Server Pooling in the
SAS Intelligence Platform: Application Server Administration Guide.
For instructions on configuring client-side pooling properties, see Configuring ClientSide Pooling in the SAS Intelligence Platform: Application Server Administration Guide.
Console. The settings define the job thread pool and the execution thread pools for all
logical servers that the job execution service uses for delegating work.
Figure 4.1 Job Execution Services Settings
Table 4.2
Setting
Default Value
Description
26
Setting
Default Value
65
Description
Enabled
Enable Distributed-IP
Scheduler job runner
Enabled
SASApp
Disabled
varies
Setting
Default Value
Server Resources
Description
You can associate resources with servers
and then a job can specify that it requires a
resource. For example, you can associate a
printer name with SASApp. When a client
submits a job, and specifies that it requires
the printer resource, the job execution service
makes sure that the job runs on that server
even when other servers are available.
The default settings are designed to provide good performance in a variety of operating
environments. Before modifying the settings, consider enabling the auditing features of
the job execution services to review the performance with the default settings. For
information about enabling auditing, see Configuring Auditing for SAS Web
Applications on page 86.
To modify any of these settings, follow these steps:
1 Log on to SAS Management Console as an administrator.
2 On the Plug-ins tab, navigate to Application Management Configuration
Settings are not applied and made active automatically. You need to restart the SAS
Web Infrastructure Platform Services or the Web application server.
67
The default configuration for the job execution services does not check role-based
permissions. If role-based security is enabled, then the job execution service checks
that the identity submitting the request has sufficient permission.
Table 4.3
Role
Capabilities
The following figure shows the default capabilities associated with the job administrator
role.
Figure 4.2
69
5
Administering the SAS Web
Infrastructure Platform
SAS Web Infrastructure Platform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
About the SAS Web Infrastructure Platform . . . . . . . . . . . . . . . . . . . . . . . . 70
SAS Preferences Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
SAS Comment Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Using Configuration Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Overview of Configuration Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Summary of Steps for Using Configuration Manager . . . . . . . . . . . . . . 74
Example: Configure a Property for SAS Web Report Studio . . . . . 75
Setting Global Properties for SAS Applications
Using SAS Application Infrastructure Properties . . . . . . . . . . . . . . . . . .
Purpose of the SAS Application Infrastructure Properties . . . . . . . .
Changing a SAS Application Infrastructure Property . . . . . . . . . . . . . .
SAS Application Infrastructure Property Descriptions . . . . . . . . . . . . .
Using the SMS Alert Notification Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
77
77
79
79
82
For a description of the SAS Web Infrastructure Platform services and applications, see
SAS Web Infrastructure Platform on page 5.
http://server:port/SASPreferences
Users of SAS Information Delivery Portal can invoke the SAS Preferences Manager
from within the portal. For instructions, see the product Help.
The following figure shows a generic preferences application. The actual preferences
that are available vary depending on the software that is installed. The SAS Preferences
Manager at your site might have additional settings.
Display 5.1
which you can make changes. When you are finished, click Save.
3 To delete the comment, in the right pane, click Delete. You are prompted to confirm
the deletion.
73
The following figure shows an example of SAS Comment Manager with a comment
displayed.
Display 5.2 SAS Comment Manager
Note: For more information about using these tabs, see the online Help for the
Configuration Manager plug-in in SAS Management Console.
n
The Connection tab enables you to modify the parameters for connections to SAS
Web applications. For more information, see Specifying Connection Parameters for
HTTP and HTTPS Sessions on page 84.
The Settings tab offers default values for settings that can be modified. For
modifying values in the Settings tab, and to understand how the lock and unlock
icons function, see Setting Global Properties for SAS Applications Using SAS
Application Infrastructure Properties on page 77.
The Advanced tab includes a limited number of default property names and values.
You can modify existing properties and their values, or add custom properties and
values for SAS Web applications.
The Authorization tab enables you to specify permissions for users and groups and
apply Access Control Templates.
Although certain XML configuration files (for example, LocalProperties.xml file for
SAS Web Report Studio) are available and supported for SAS Web applications, it is
recommended that you use the Configuration Manager to configure and set properties.
select Properties.
75
3 Add or modify properties as needed. You might need to unlock particular properties
before you can change them. See Setting Global Properties for SAS Applications
Using SAS Application Infrastructure Properties on page 77.
4 Changes to properties do not take effect immediately on the run-time system. To
apply these changes, you must perform one of the following tasks:
n
Stop and then restart the Web applications whose properties you changed.
Use the application's JMX management bean to reload the configuration (if the
application supports JMX beans). For more information about JMX, see Using
JMX Tools to Manage SAS Resources on page 115.
Alternatively, stop and then restart SAS Services Application and the Web
application server.
Changes to properties do not take effect immediately on the run-time system. For
details, see Summary of Steps for Using Configuration Manager on page 74.
The following display shows the property name,
wrs.ReportViewPrefs.LeftPanelOpenState, and its property value specified on the
Advanced tab.
Display 5.3
Setting Global Properties for SAS Applications Using SAS Application Infrastructure
Properties 77
The dimmed fields indicate that the values are inherited from the SAS Application
Infrastructure, and these values are shared with other Web applications. The values in
the dimmed fields can be changed only in the SAS Application Infrastructure properties.
The following display shows the settings that can be set for SAS Application
Infrastructure.
Display 5.4
Setting Global Properties for SAS Applications Using SAS Application Infrastructure
Properties 79
the property.
6 Click OK.
Settings are not applied and activated automatically. You must restart the SAS Web
Infrastructure Platform Services and the applications that use the changed property. If
unsure, restart the Web application server.
Setting
Application > User Interface
Default Value
Description
Setting
Default Value
Description
Default theme
SAS Default
Off
none
Console
Portal
varies
No
Setting Global Properties for SAS Applications Using SAS Application Infrastructure
Properties 81
Setting
Default Value
Description
Portal
UTF-8
Yes
Default
Alert prefix
E-mail digest frequency
Notifications > Administrative and Error Messages
Sender of messages
noreply@smtps
erver
Recipient of
administrative messages
varies
varies
Setting
Currency display format
Default Value
Description
varies
Setting Global Properties for SAS Applications Using SAS Application Infrastructure
Properties 83
In the display, a user has an e-mail address with the type set to sms and the address is
provided in an SMS format.
Display 5.5
Make sure that you know the SMS E-mail gateway for the provider. Some SMS E-mail
gateways for providers in the North American market are as follows:
n
Verizon: phonenumber@vtext.com
AT&T: phonenumber@txt.att.net
Sprint: phonenumber@messaging.sprintpcs.com
T-Mobile: phonenumber@tmomail.net
In addition to making sure that recipients of the SMS messages have a SMS-style email address, you might need to set two properties related to SMS.
Table 5.2
Property Name
Default Value
Description
Notifications.SMSMessageLength
120 characters
Policy.EnforceSMSMessageLengt
h
false
85
If your site changes its configuration after initial deployment, you might need to edit the
connection information parameters. Here are some situations where the connection
parameters are updated on the Connection tab:
n
If a SAS Web application is moved to a different machine, you must modify the host
name property for its connection.
If you configure Secure Sockets Layer (SSL) for improved security, you must edit the
Protocol property to modify the connection protocol to HTTPS for each affected
application.
If you deploy SAS Web Application Themes to a different Web application server,
you should modify the theme metadata by specifying the name of the theme, and
update other parameters such as host name and port number.
Changing the values for the Host Name, Port, or Service fields on the Connection tab
enables the SAS Web Application Infrastructure to seamlessly redirect clients to the
proper locations in a custom environment. For the host name, you can supply an IP
address. If you enter an IP version 6 address, you must enclose the address in
brackets.
For example: [FE80::202:B3FF:FE1E:8329]
87
Do not access the tables directly for audit reporting. The SAS Web Administration
Console provides an interface for viewing log on, log off, unsuccessful log on attempts,
and last user logon information.
Depending on the auditing configuration of the deployed SAS applications, audit records
can contain different types of audit information. However, all audit records contain the
following information:
n
Evaluate the purpose of auditing an action. Make sure that records for an audited
action can be used to serve a business purpose.
When auditing for security, audit generally and then audit specifically. Analyze the
records from general audit options to provide the basis for targeting specific audited
actions.
When auditing for historical information, audit for actions that are important to your
business only. Avoid cluttering valuable audit records with less relevant audited
actions. Narrowing the focus to valuable actions also reduces the amount of audit
trail administration.
Align the audit requirements to the most strictly regulated application. If your SAS
deployment includes a number of SAS applications, the applications might have
varying requirements. Make sure that the audited actions match the most strictly
regulated application.
When auditing is enabled and audit records are generated, the audit trail size increases
according to two factors:
n
If the SAS Web Infrastructure Platform database becomes completely full and audit
records cannot be inserted, the audited actions cannot be successfully executed until
the audit trail is purged. The system administrator must control the rate of increase and
size of the audit trail. To control the size of the audit trail, consider the following
strategies:
n
Be selective about which actions are enabled for auditing. If the number of audited
actions is reduced, then unnecessary and useless audit records are not generated
and are not stored in the audit trail.
Design archive rules to move important, but not critically important, information out
of the audit trail. This process archives the audit records of interest and removes
them from the main audit table. For information about archiving, see Archive
Process for Audit Records on page 89.
mail service
content service
workspace service
scheduling service
impersonation service
89
SAS-install-dir\SASWebInfrastructurePlatform\9.3\Static\wars
\sas.wip.services\WEB-INF\spring-config\aop-config.xml file.
2 Review the comments to locate the service that you want to audit. Each of the
services is commented out in the initial deployment. The following example shows
the job execution service:
<!-- Job Execution Service auditing
<bean class="com.sas.svcs.aop.auditing.jes.SuccessfulSubmitJobAuditAdvice">
<property name="auditRecorder" ref="auditService" />
</bean>
3 Add closing comment markup and then remove the original closing comment
markup (>) from the bottom of the code block. Save your changes.
4 Rebuild the SAS Web Infrastructure Platform with the SAS Deployment Manager.
Note: Subsequent upgrade activities can overwrite this file. For example, if you later
install a maintenance release that includes aop-config.xml, then you must repeat
this procedure.
5 Redeploy the SAS Web Infrastructure Platform Services Web application
(sas.wip.services9.3.ear).
Enabling auditing for other SAS applications requires editing different files, but the steps
are similar to the previous procedure. For example, auditing for SAS Workflow is
controlled with the SAS-install-dir\SASWebInfrastructurePlatform
\9.3\Static\wars\sas.workflow\WEB-INF\spring-config\aopconfig.xml file.
SAS_AUDIT_ARCHIVE_RULE table. The archive job always starts when SAS Web
Infrastructure Platform Services starts. In addition, the default archive job is scheduled
to start every Monday at the start of day, but the archive job schedule can be
configured.
The following table describes the columns in table SAS_AUDIT_ARCHIVE_RULE.
Rows must be added to this table to identify the objects, actions, and age for the archive
job to process.
Table 5.3
Column Name
Description
OBJECT_TYPE_ID
ACTION_TYPE_ID
FREQUENCY_NO
To control the archive job schedule, you can add a JVM option to the Web application
server. The -Dsas.audit.archive.cron JVM option can be used to specify the
schedule. The schedule is set with a syntax that is similar to cron:
-Dsas.audit.archive.cron="second minute hour day_of_month month day_of_week"
The following example schedules the archive job to run each day at midnight:
-Dsas.audit.archive.cron="0 0 0 * * *"
You can confirm the archive job runs and reads the archive rules by adding a logging
context to com.sas.svcs.audit at the INFO level.
91
The following table identifies the common object types and actions that you might want
to include in the SAS_AUDIT_ARCHIVE_RULE table:
Table 5.4
Audit Action
User log on
-1
-1
Sent E-mail
-1
44
Add job
11
Submit job
10
Retrieve job
11
45
Cancel job
10
47
Release job
10
48
Update job
11
Remove job
11
37
86
86
37
monitoring users
The following display shows an expanded view of a main page for the SAS Web
Administration Console.
Display 5.7
93
Here is a description of what you can accomplish with the SAS Web Administration
Console:
n
The Users page enables you to view and monitor authenticated users and system
users that are currently logged on to a SAS Web application. See Monitor Users
on page 94.
The System Maintenance page provides the Restart Maintenance Wizard and the
Quiesce System feature. When you want to perform system maintenance, the
Restart Maintenance Wizard enables you to send e-mail to users to log off from their
sessions within a specified deadline, to log off users after the deadline, and to
prohibit new users from logging on to their applications. The Quiesce System feature
is useful when you want to allow existing users to stay logged on to their user
sessions, but you want to quiesce the system by preventing new users from logging
on to SAS Web applications. See Managing User Login Sessions with System
Maintenance Tools on page 96.
The Audit page enables you to review user log on and logoff activity and failed log
on attempt counts. You can also search by user ID for a users last logon time.
The SAS Content Server page enables you to manage folders and permissions for
content in the SAS Content Server. You manage content by using either the SAS
Content Server Administration Console (within the SAS Web Administration
Console) or by using a stand-alone SAS Content Server Administration Console.
You must be an unrestricted user in order to access the SAS Content Server
Administration Console.
To access the SAS Content Server feature in the SAS Web Administration Console,
select Environment Management SAS Content Server in the navigation pane.
For instructions on administering the SAS Content Server, see Using the SAS
Content Server Administration Console on page 172.
The Application Management page enables you to view the current configuration for
Web applications that have been deployed at your site. For more information, see
Viewing Information about Web Applications on page 100.
Note: The SAS Web Administration Console can be extended by other SAS
applications. Depending on the software that is installed at your site, your SAS Web
Administration Console might be different from the one shown here. For more
information about the console at your site, see the administration guides for your
applications.
Monitor Users
About the Users That Appear in the SAS Web Administration
Console
The Users page in the SAS Web Administration Console lists the following types of
users:
Authenticated users
are users who are currently authenticated on the system.
System users
are system-level users who are required to perform particular tasks, such as running
a stored process or accessing metadata. The information provided on the Users
page is for informational purposes only. You cannot manage these users from the
SAS Web Administration Console.
95
You can select multiple check boxes in order to send e-mail to several users. To
select all of the check boxes, select the check box in the heading of the last column.
3 Click the action menu
4 If necessary, enter the e-mail address of the recipient. If you enter more than one
You can select multiple check boxes in order to force off several users. To select all
of the check boxes, select the check box in the heading of the last column.
3 Click the action menu
in the heading of the last column and select Force Log Off.
A confirmation page displays the user ID, e-mail address, and last logon time for the
selected user. Review this information to ensure that you want to continue with the
logoff operation.
4 Click OK to force the logoff.
97
Enable the system to prohibit new users from logging on to their applications.
If the notification deadline has passed, and users and have not terminated their
sessions, the system forces authenticated users to exit and terminate their sessions.
All users are logged off.
Quiesce the system by temporarily putting the system into an inactive state. When
the system is quiesced, users' logon capabilities are disabled.
Begin maintenance operations such as restarting the metadata server, the object
spawner, or a Web application.
Resume system operation by removing the quiesced state from the system, and
enabling users to log on to the system and their applications.
To use the Maintenance Restart Wizard, log on to the SAS Web Administration
Console. Navigate to Environment Management System Maintenance. Click
Restart System and follow the Wizard's instructions.
The following display shows the main page for the Maintenance Restart Wizard.
Display 5.9
Display 5.10
99
Audit Reports
The Audit page provides information about user log on and logoff activity. A failed logon
count is also provided.
Display 5.11
Submit Query.
Logging
displays a form that is used to configure logging for applications that are
instrumented for dynamic logging control.
101
103
6
Using the SAS Web Infrastructure
Platform Utilities
Using the DAVTree Utility to Manage WebDAV Content . . . . . . . . 104
About the DAVTree Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Start the Utility and Connect to a WebDAV Location . . . . . . . . . . . . 104
Add Resources to WebDAV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Edit a Text File in WebDAV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Copy or Move a File in WebDAV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Advanced Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Using the Package Cleanup Utility to Remove Packages . . . . . . . 108
Overview of the Package Cleanup Utility . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Deleting Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
List Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Utility Logging and Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Using JMX Tools to Manage SAS Resources . . . . . . . . . . . . . . . . . . . . . 115
About JMX and MBeans . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Accessing the SAS MBeans . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Understanding How to Use the SAS MBeans . . . . . . . . . . . . . . . . . . . . . 117
In the interface, you see only the content that you are authorized to see.
SAS-config-dir\Levn\Web\Utilities\DAVTree.bat
105
following URL and substitute the server name and port number of your WebDAV
server (SAS Content Server):
http://server:port/SASContentServer/repository/default/
4 If the WebDAV server was set up with a proxy, enter the proxy host and port.
5 Click OK. You are prompted for credentials.
6 Enter your administrator credentials in the logon dialog box.
You can later connect to a different WebDAV location by repeating steps 2 through 6
and providing the URL for the new location.
You are prompted to confirm the action, and then an Add dialog box appears. Here
is an example dialog box with data entered in the fields.
3 Select Resource.
4 In the field to the left of the Resource radio button, enter the name of the text file. If
a file already exists with the name that you provide, the file is overwritten.
The example shows a file with the name myFile.txt.
5 In the field below the Resource radio button, enter the text that you want the file to
fields appear in the gray properties panel. In the left field, add the property name. In
the right field, enter the property value.
7 Click OK.
Create a Folder
1 Position the cursor on the folder where you want to create the new folder.
2 Select Edit Add.
You are prompted to confirm the action, and then an Add dialog box appears.
3 Select Collection.
107
4 In the field to the left of the Collection radio button, enter the name that you want to
Advanced Features
The DAVTree utility can be used as a diagnostic tool. The utility provides features such
as locking files, versioning files, and modifying WebDAV properties.
CAUTION! These are advanced WebDAV functions. These advanced WebDAV
functions, which are not covered in this documentation, should be performed only by
someone who has WebDAV expertise.
109
either type of persistent store (archive or WebDAV). The utility also supports the
deletion of packages that are not defined in any channel.
The Package Cleanup utility also supports a listing feature. The utility can be used to
display information about packages that are published in a particular channel, packages
that are not defined in any channel, and packages that exist on a WebDAV server.
Note: You must have the appropriate permissions on a channel in order to delete
packages from the channel. See the Authorization Model chapter in the SAS
Intelligence Platform: Security Administration Guide.
Deleting Packages
Delete Packages
To delete packages, follow these steps:
1 Run the command and specify the deletion date. You can also provide one of the
following arguments:
n
a channel name in order to delete packages that are defined in a specific channel
a WebDAV URL in order to delete packages that are in the specified WebDAV
location
Note: If you do not provide the channel or WebDAV URL, then the utility deletes
only orphaned packages that are not defined for any channel or WebDAV URL.
After you run the command, the utility displays a list of packages that match your
deletion criteria and prompts you to confirm deletion.
2 Respond to the prompt to confirm deletion of the packages or to exit without deleting
any packages.
-metauser Metadata-Server-username
-metapass Metadata-Server-password
-domain authentication-domain
The utility deletes all packages in the specified channel that expire before the date and
time specified.
Here is the minimal syntax for deleting packages that are not defined in a channel:
PackageCleanup
-d expiration-date
-metauser Metadata-Server-username
-metapass Metadata-Server-password
-domain authentication-domain
Here is the minimal syntax for deleting packages that are defined in a WebDAV server:
PackageCleanup
-url WebDAV-URL
-username WebDAV-Server-username
-password WebDAV-Server-password
-d expiration-date
-metauser Metadata-Server-username
-metapass Metadata-Server-password
-domain authentication-domain
111
You can also turn off prompting altogether by specifying -noprompt. When you run the
utility in batch mode, you must use the -noprompt option (unless shell programming is
provided to respond to the prompts). It is best to run with prompts when you are
learning how to use the application. With prompts, you can review proper date
formatting and correct package deletion candidates with the option to exit without
deleting any packages.
List Packages
To obtain a list of packages, run the command and specify the -list option. You can
also provide one of the following arguments:
n
a channel name in order to list packages that are defined in a specific channel
a WebDAV URL in order to list packages that are in the specified WebDAV location
Note: If you do not provide the channel or WebDAV URL, then the utility displays only
orphaned packages that are not defined for any channel or WebDAV URL.
The LIST option lists the following information for each package:
n
package name
Here is the minimal syntax for listing packages that are defined in a channel:
PackageCleanup
-list
-ch channel-name
-metauser Metadata-Server-username
-metapass Metadata-Server-password
-domain authentication-domain
Here is the minimal syntax for listing packages that are not defined in a channel:
PackageCleanup
-list
-metauser Metadata-Server-username
-metapass Metadata-Server-password
-domain authentication-domain
Here is the minimal syntax for listing packages that are defined in a WebDAV server:
PackageCleanup
-list
-url WebDAV-URL
-username WebDAV-Server-username
-password WebDAV-Server-password
-metauser Metadata-Server-username
-metapass Metadata-Server-password
-domain authentication-domain
Arguments
The utility supports the following arguments:
-channel | -chchannel-name
Specify the channel that contains the packages that you want to list or delete.
-deletionDate | -d"expiration-date"
Specify the expiration date and time for the packages to be deleted. You can also
use this argument when you list packages. The utility deletes or lists packages that
have an expiration date before the date and time that you specify. The date and time
should be enclosed in quotation marks. Format: yyyy.MM.dd at hh:mm
-list
The utility displays a list of packages (no deletion occurs).
-metauser Metadata-Server-username
Specify the user name to use when connecting to the SAS Metadata Server.
-metapass Metadata-Server-password
Specify the password to use when connecting to the SAS Metadata Server.
-domain authentication-domain
Specify the authentication domain for the SAS Metadata Server.
-package | -pkg package-name
Specify the name of a package to delete.
-url WebDAV-URL
Specify the WebDAV URL to use to locate packages to delete.
113
-username WebDAV-username
Specify the user name to use to connect to a WebDAV server.
-password WebDAV-password
Specify the password to use to connect to a WebDAV server.
-logfile | -log file-name
Specify the name of a log file to create. If the log file already exists, then the log lines
are appended to the current file.
-noprompt
The utility does not prompt for confirmation of deletions.
-deletenodate
The utility lists or deletes packages that have no expiration date defined.
-prompteach
The utility prompts you to confirm each package individually for deletion.
-debug
The utility produces debugging information for all the SAS Foundation Services.
-help
The utility displays this help information. (You must also provide the -metauser, metapass, and -domain arguments in order to get the help information.)
Examples
This example deletes all packages published to the Sales channel that have an
expiration date before October 7, 2009, at 12:59 p.m.
PackageCleanup -ch Sales -d "2009.10.07 at 12:59 PM" -metauser userX
-metapass passX -domain DefaultAuth
This example uses the PROMPTEACH option, which enables you to confirm deletion of
each package individually.
PackageCleanup -ch Sales -d "2009.10.07 at 12:59 PM" -metauser userX
-metapass passX -domain DefaultAuth -prompteach
This example deletes a specific package that is defined in the Sales channel. The PKG
option is specified to identify the exact package to delete. In this example, the package
is named s109513698.spk and has an expiration date of October 7, 2009, at 12:59 p.m.
PackageCleanup -ch Sales -d "2009.10.07 at 12:59 PM" -pkg s109513698.spk
-metauser userX -metapass passX -domain DefaultAuth
This example deletes all packages that are not defined in any channel. Only packages
that are not defined in a channel and have an expiration date before October 7, 2009, at
10:00 a.m. are deleted.
PackageCleanup -d "2009.10.07 at 10:00 AM" -metauser userX -metapass passX
-domain DefaultAuth
This example deletes packages that have been published to a WebDAV server. The
utility connects to the server using the specified URL and deletes all packages
published to that location that have an expiration before October 7, 2009, at 05:00 a.m.
PackageCleanup -d "2009.10.07 at 05:00 AM" -url http://myhost.com/Sales/Packages
-username davUserX -password davPasswordX -metauser userX -metapass passX
-domain DefaultAuth
This example deletes a specific package from a WebDAV server. The PKG option is
used to provide the name of the package to delete. The utility connects to the server
using the specified URL and deletes the package named s3964865240.
PackageCleanup -d "2009.10.07 at 12:59 PM" -metauser userX -metapass passX
-domain DefaultAuth -url http://myhost.com/Sales/Packages -username davUserX
-password davPasswordX -pkg s3964865240
115
This example lists packages (does not delete) by using the LIST option. Note that the -d
argument is not required when listing packages. This example lists all packages that are
published in the Sales channel.
PackageCleanup -list -ch Sales -metauser userX -metapass passX
-domain DefaultAuth
This example uses the LIST option to list all packages with an expiration date before
October 7, 2009, at 12:00 p.m.
PackageCleanup -ch Sales -d "2009.10.07 at 12:00 PM" -metauser userX
-metapass passX -domain DefaultAuth -prompteach -list
2 Use an application to connect and access the SAS MBeans. Follow the specific
instructions for your JMX tool. For information about using the JConsole tool, see
Manage SAS Resources Using JConsole on page 116.
Specify the following JVM argument to access the MBeans from a remote system.
Replace portNum with the port number to use for JMX RMI connections:
com.sun.management.jmxremote.port=portNum
| false
117
JDK-HOME\bin\jconsole
2 Connect to the MBean server as follows:
n
If you are accessing the MBeans locally, the Local tab should display every JVM
that is running on the local system that was started with the same user ID as
JConsole. Select the appropriate JVM and click Connect.
required.
4 Click Connect to connect to the MBean server.
3 Select the MBeans tab. This tab displays a tree view of all the registered MBeans.
4 Expand the com.sas.services domain to see all MBeans registered in this domain.
5 Select the ServerFactory MBean.
6 In the right pane, select the Operations tab. You can now see the operations
(listing, stopping, pausing, and so on) so that you can list the defined SAS servers
and manage your running SAS servers. When you invoke one of the manage-server
operations, a new MBean is registered that is connected to the specified, running
SAS server. The newly registered MBean can then be used to manage and monitor
that particular SAS server.
ServerFactory MBean
Spawner MBean
Server MBean
ServerFactory MBean
The ServerFactory MBean is the starting point for managing SAS servers. This MBean
is registered during deployment of the SAS Web Infrastructure Platform and is named
as follows:
com.sas.services:type=ServerFactory
During initialization, the ServerFactory MBean connects to the SAS Metadata Server.
This enables the MBean to list all SAS servers defined in the metadata. The MBean can
then be used to register additional MBeans that enable the running servers to be
managed and monitored directly. The ServerFactory MBean does not have any
attributes, but supports three operations:
listDefinedServers()
provides a list of SAS IOM servers that are defined in the Metadata Server.
Information that is returned for each defined server includes the server name, host,
port, and server type. To begin actively managing a server, specify the name of the
server on the manageServerByName operation.
manageServerByName(String ServerName, String Host)
registers a Server MBean that enables you to actively manage the specified IOM
server. The newly registered MBean connects to the running IOM server and can
then be used to manage and monitor that server. The host name can be left blank if
the IOM server is defined to run on only one host. If defined to run on multiple hosts,
the proper host name should be provided.
The manageServerByName() operation does not work on a server that is spawned
by the SAS Object Spawner.
manageServer(String Host, Integer Port, String Username, String Password)
registers a Server MBean that enables you to actively manage the specified IOM
server. The IOM server that is managed is identified by the host and port provided
119
Spawner MBean
The Spawner MBean is created whenever an IOM Spawner is identified in one of the
ServerFactory MBean's manageServer operations. The name of the registered MBean
uses the form:
com.sas.services:type=Server,serverType=Spawner,
name="Server Name",
host=Host Name,port=Port
The Spawner MBean enables you to manage and monitor the running Object Spawner.
You can perform SAS Spawner operations such as stop, pause, and resume.
Here are some commonly used Spawner MBean attributes:
n
Server MBean
The Server MBean is created whenever a SAS server is identified in one of the
ServerFactory MBean's manageServer operations or when a server is managed via the
Spawner MBean's manageLaunchedServer(s) operation.
A server MBean can represent a SAS Workspace Server, a SAS Stored Process
Server, a SAS Framework Data Server, a SAS Metadata Server, or a SAS OLAP
Server. The name of the registered SAS Server MBean uses one of these three forms:
com.sas.services:type=Server, serverType=Workspace, logicalServer=
"LogicalServerName", name="Server Name",
instanceid="Unique instance ID"
com.sas.services:type=Server, serverType=StoredProcess, logicalServer=
"LogicalServerName", name="Server Name",
instanceid="Unique instance ID"
com.sas.services:type=Server, serverType=Table, logicalServer=
"LogicalServerName", name="Server Name",
host=Host Name,
port=Port Number
The Server MBean enables you to manage and monitor the running SAS server. You
can perform server operations such as stop, pause, and resume.
Here are some commonly used Server MBean attributes:
n
121
123
7
Administering SAS Web Applications
Using the SAS Deployment Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Rebuilding the SAS Web Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
When to Rebuild the SAS Web Applications . . . . . . . . . . . . . . . . . . . . . . 125
Rebuild Web Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Names of the Web Applications and EAR Files . . . . . . . . . . . . . . . . . . 128
Redeploying the SAS Web Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Redeploying Web Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
JBoss Application Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
Oracle WebLogic Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
IBM WebSphere Application Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
Reconfiguring the Web Application Server . . . . . . . . . . . . . . . . . . . . . . . . 137
Working with Exploded EAR Files in a
Development Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Administering Logging for SAS Web Applications . . . . . . . . . . . . . . 139
Logging for SAS Web Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Change the Location of the Log Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Change the Logging Levels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Understanding How the Web Applications
Provide a Logging Context . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Rebuild Web applications. You can rebuild Web applications that have previously
been configured but whose configuration has changed. This option rebuilds the Web
application based on the current configuration. See Rebuilding the SAS Web
Applications on page 125.
Remove the existing configuration. You can remove the product configuration for
one or more products in the deployment. This option enables you to remove the
product configuration for an application that you are no longer using or that you are
moving to another machine. You can then use the SAS Deployment Wizard to
reinstall or reconfigure the application. For details, see Removing a SAS
Configuration in the SAS Intelligence Platform: Installation and Configuration Guide.
Note the following about removing a configuration:
o
If you remove the configuration for the SAS Information Delivery Portal, do not
select the Remove all User Content option unless you have made a backup
copy of the content repository. If you choose this option, you must re-create the
content later from your backup. When you choose to remove portal content, all
pages, portlets, and other items created by the users are removed.
If you remove the configuration for the Web Infrastructure Platform, the contents
of the SAS Content Server repository (located in the SAS-config-dir
\Lev1\AppData\SASContentServer\Repository directory) are not
deleted. If you do not need the contents of this directory, you should manually
delete the contents before rebuilding the Web Infrastructure Platform with the
SAS Deployment Manager.
125
You might need to rebuild applications that you have reconfigured. For example, if
you change the HTTP time-out interval for an application, then you should rebuild
the application.
Note: This administration guide informs you when an application must be rebuilt
after reconfiguration.
Rebuild an application after you change the Java security configuration for the
application.
If a custom theme is created for your organization, then rebuild the SAS Web
Application Themes.
If custom content is created, then add files to the WAR directory and rebuild the
application to which the custom content applies. For example, to create custom
forms for SAS Stored Process, place the file for the EAR or the WAR in the SASconfig-dir\Lev1\Web\Common
\SASServer1\SASStoredProcess9.3\CustomContent\ears
\sas.storedprocess\input directory. Then, use the SAS Deployment Manager
to rebuild the SAS Stored Process application.
If custom portal content is created, such as a custom portlet, then rebuild the SAS
Information Delivery Portal. For more information, see Rebuild Web Applications
on page 126.
Rebuild SAS Help Viewer for Midtier Applications after your initial deployment if you
install or upgrade a SAS Web application that offers online Help. (SAS Help Viewer
for Midtier Applications combines SAS Help Viewer for the Web software with
various help content into its EAR file.)
The following Web applications use SAS Help Viewer for Midtier Applications:
After installing a maintenance release or hot fixes, rebuild the EAR files for all Web
applications that were updated at your site. Follow the instructions in the
maintenance documentation or the hot fix instructions. Because the EAR files are
rebuilt, you might lose any customizations that you added to the EAR files after initial
deployment.
127
Note: You can delete any unwanted directories in the exploded directory to save
disk space.
To rebuild one or more Web applications, follow these steps:
1 The Web application server can be running or stopped.
n
For WebSphere Application Server, the dmgr and nodeagent can be running or
stopped.
Next.
8 Review the Summary page and click Start. The SAS Deployment Manager builds
the EAR files for the selected applications. For the names and location of the EAR
files, see Names of the Web Applications and EAR Files on page 128.
9 If you are rebuilding theme content, you might need to stop and restart the Web
After rebuilding the Web applications, the next action is typically to redeploy them. See
Redeploying the SAS Web Applications on page 129.
SAS-config-dir\Lev1\Web\Staging
SAS-config-dir\Lev1\Web\Staging\exploded
When the SAS Deployment Manager is used to rebuild a Web application, the files for
the Web application in the previous directories are overwritten. The following table
identifies the product configuration name that is used in the SAS Deployment Manager
for the Web applications that are part of the SAS Enterprise Business Intelligence
Server. Use this table to understand which Web applications and EAR files are updated
when a product configuration is selected in the SAS Deployment Manager.
Table 7.1
Product
Configuration
Application
EAR File
BI Dashboard 4.3
SAS BI Dashboard
sas.bidashboard4.3.ear
BI Portlets 4.3
SAS BI Portlets
sas.biportlets4.3.ear
Flex Application
Themes
sas.flexthemes3.4.ear
sas.themedesigner3.4.ear
sas.webdocmd9.3.ear
Product
Configuration
Application
EAR File
Information Delivery
Portal 4.3
sas.portal4.3.ear
sas.packageviewer4.3.ear
SAS Themes
sas.themes.ear
Web Infrastructure
Platform 9.3
sas.wip.scs9.3.ear
sas.storedprocess9.3.ear
sas.wip.admin9.3.ear
sas.wip.apps9.3.ear
sas.wip.resources9.3.ear
sas.wip.services9.3.ear
SAS Workflow
sas.workflow9.3.ear
sas.webreportstudio4.3.ear
129
are placed in a single directory even if your deployment includes multiple Web
application servers (for example, SASServer1 and SASServer2).
If you have Web application servers that were installed and configured by the SAS
Deployment Wizard in your environment, make a note of the server names and the Web
applications that are installed on each server. For example, if you have six applications
located on SASServer1 and three Web applications located on SASServer2, make a list
of the applications that are installed on each of these servers. Alternatively, you can
refer to your Instructions.html file, which specifies the following:
n
When you redeploy the SAS Web applications, you can refer to your list or the
Instructions.html file, to ensure that you redeploy each Web application to the
correct server.
131
5 Copy the rebuilt EAR files for the applications that are deployed on this server from
For UNIX deployments, you can use the cp -r command for each Web application
to copy an exploded EAR file to the deploy_sas directory. The following example
shows how to copy SAS BI Dashboard:
cp -r SAS-config-dir/Lev1/Web/Staging/exploded/sas.bidashboard4.3.ear .
6 Repeat the previous step for any additional JBoss application servers (for example,
SASServer2).
7 Start JBoss.
page 132.
2 Shut down the SAS managed servers. See Stop the Managed Servers on page
133.
3 Reinstall the SAS applications. See Reinstall the SAS Applications on page 133.
4 Restart the managed servers. See Start the Managed Servers on page 134.
5 Start the SAS applications. See Start the SAS Applications on page 135.
Structure panel.
2 In the Deployments panel, select all applications by selecting the check box next to
Name.
3 On the Stop menu, select Force Stop Now.
4 In the Summary of Deployments tab, select Yes.
5 Wait until all applications are displayed in Prepared state. Refresh the view as
Name.
8 Click Delete.
9 In the Delete Application Assistant panel, select Yes.
10 When the message "Selected deployments were deleted," is displayed, select
133
Structure.
2 Leave the administration server running; do not stop it. Then, for each other server,
directory, and make a note of the list of SAS applications and their associated
servers. This information is available in the Web Application Server section. You
need this information when you redeploy and install the EAR files.
2 In the Domain Structure panel, select Deployments.
3 Click Lock and Edit in the Change Center panel.
config-dir\Lev1\Web\Staging directory.
6 In the Install Application Assistant panel, under Locate deployment to install and
that you are deploying. Typically, for most SAS applications, the target server is
SASServer1.
9 In the Install Application Assistant panel, under Select deployment targets,
select the target server and click Next. Typically, SAS applications are deployed to
SASServer1.
10 Under Optional Settings, General, enter a name for the EAR file or the directory for
this deployment.
11 If the administration server and the managed server are on the same machine,
under Source accessibility, select I will make the deployment accessible from
the following location and click Next. Note that this is not a staged mode.
12 Under Review your choices and click Finish, select No, I will review the
135
example, SASServer1).
5 In the Server Status table, click Start.
6 In the Server Life Cycle Assistant panel, click Yes.
7 In the Server Status table, verify that the task has been completed.
8 If applicable, repeat these steps for other managed servers.
Name.
3 From the Start menu, select Servicing All Requests.
4 In the Start Application Assistant, select Yes.
information about this operation, see the IBM WebSphere Application Server
documentation at http://www.ibm.com/support/documentation/us/en.
In the second method, you undeploy and redeploy each application individually until all
of the rebuilt Web applications have been redeployed.
Although you can redeploy the EAR files in any order of your choice, it is recommended
that you follow the sequence of EAR files specified for WebSphere Application Server.
See Deploying and Starting Web Applications in the Correct Order on page 16.
To redeploy a SAS Web application to WebSphere by undeploying and redeploying
each application individually, follow these steps:
1 Uninstall and reinstall the Web application.
a Shut down the WebSphere application server, but leave the dmgr and
nodeagent running.
b Follow the IBM WebSphere Application Server instructions for uninstalling and
reinstalling a Web application. When you reinstall the application, specify the
following two settings on the Select installation options page:
Deploy enterprise beans
Do not select this check box. SAS Web applications do not use Enterprise
Java Beans.
Deploy Web services
Select this check box. This ensures that the Web services deploy tool is run.
2 Set the class loader order.
a In the Integrated Solutions Console, select Applications Application Types
137
d Leave the WAR class loader policy set to Class loader for each WAR file in
application.
e Click OK.
f
g For each module (WAR file) listed under Manage Modules, click the WAR file
link. Then select Classes loaded with local class loader first (parent last)
from the Class loader order list box.
h After you have performed the previous step for each WAR file, click OK.
i
Perform a full resynchronization of the dmgr server and nodeagent servers. This
action ensures the WebSphere Master Repository and the Node Repository are
updated and synchronized.
a In the Integrated Solutions Console, select Administration Nodes.
b Select the check box for the application server node.
c Click Full Resynchronize.
When you have completed these instructions, restart the application. (For the proper
start-up sequence of the SAS Web applications, see Deploying and Starting Web
Applications in the Correct Order on page 16.)
It is important to reconfigure your Web application server in the same manner that it was
initially configured. If you manually configured the Web application server when you
initially deployed, then configure it manually again. If the SAS Deployment Wizard
automatically configured your Web application server, then choose the automatic
configuration option again.
If the environment was initially configured with the Web Application Server: Multiple
Managed Servers option in the SAS Deployment Wizard, then reconfigure the Web
application server by using the Custom path in the SAS Deployment Wizard and
selecting the Web Application Server: Multiple Managed Servers again.
Reconfiguring a Web application server can cause the loss of some customizations, and
they need to be reapplied.
For more information, see Managing Your SAS Deployment in the SAS Intelligence
Platform: Installation and Configuration Guide.
139
Task
Log4j
Configuration
File
SAS Web
Administration
Console
Yes
Yes
Yes
Yes
Task
Log4j
Configuration
File
SAS Web
Administration
Console
Yes
No
Yes
No
Yes
No
Yes
No
Yes
No
com.sas
com.sas.services
com.sas.services.deployment
com.sas.services.discovery
com.sas.services.util
141
143
priority parameter:
<category
additivity="false"
name="com.sas.workflow">
<priority
value="WARN"/>
<appender-ref
ref="SAS_CONSOLE"/>
<appender-ref
ref="SAS_FILE"/>
</category>
3 Restart the Web application so that it uses the new configuration.
The web.xml file for the Web application contains the following listener element:
<listener>
<listener-class>com.sas.svcs.logging.LoggingContextListener
</listener-class>
</listener>
The listener element must directly follow the filter and filter-mapping elements and
directly precede the servlet element. This listener is added as the first listener within
the <web-app> element if there are multiple listeners.
The web.xml file also contains this tag:
<context-param>
<param-name>log4j-config-name-prefix</param-name>
<param-value>YourWebAppName</param-value>
</context-param>
145
147
8
Administering SAS Logon Manager
About SAS Logon Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Configuring Web Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Overview of Web Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Configuration Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
Configuring Custom Log On, Log Off, and Time
Out Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
Step 1: Customize the Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
Step 2: Configure SAS Application Infrastructure . . . . . . . . . . . . . . . . 150
Step 3: Rebuild and Redeploy SAS Web
Infrastructure Platform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Configuring the HTTP Session Time-out Interval . . . . . . . . . . . . . . . . 151
Configuring the Display of a Warning Message
for Inactive User Sessions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Understanding Inactive Users and Time-out Warnings . . . . . . . . . . 155
Step 1: Configure the SAS Application Infrastructure . . . . . . . . . . . . 156
Step 2: Set the Interval for the Inactive Session Warning . . . . . . . 156
Step 3: Enable the Inactive Session Warning . . . . . . . . . . . . . . . . . . . . . 156
Configuring Middle Tier Security Policies . . . . . . . . . . . . . . . . . . . . . . . . . 157
Disabling Concurrent Logon Sessions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Configuring Application Response
Measurement (ARM) Capabilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
Configuring Custom Log On, Log Off, and Time Out Messages
149
Configuration Instructions
Instructions for configuring the SAS Web applications and the Web application server
for Web authentication are provided at the following URLs:
n
http://support.sas.com/resources/thirdpartysupport/v93/appservers/
jbossdoc.html
http://support.sas.com/resources/thirdpartysupport/v93/appservers/
webspheredoc.html
http://support.sas.com/resources/thirdpartysupport/v93/appservers/
weblogicdoc.html
\9.3\Static\wars\sas.svcs.logon\logoff_custom.jsp and
logon_custom.jsp files.
The time out message is customized in the logoff_custom.jsp file. Each file is
included as part of an HTML page. Therefore, each should contain valid HTML code.
2 Save your changes.
Click OK.
6 Exit from SAS Management Console.
151
Web applications.
4 Redeploy the Web applications whose files you modified.
The following table lists the file or files that should be modified to specify a different
time-out interval for each Web application.
Table 8.1
Web Application
File Location
SAS-install-dir\Documentation\9.3\Static\wars
\sas.webdoc\WEB-INF\web.xml
SAS-install-dir\Documentation\9.3\Static\wars
\sas.webdoc\WEB-INF\web.spring-enabled.xml
SAS BI Dashboard
SAS-install-dir\SASBIDashboard
\4.31\Configurable\wars\sas.bidashboard\WEB-INF
\web.xml.orig
Event generation
framework in SAS BI
Dashboard
SAS-install-dir\SASBIDashboard
\4.31\Configurable\wars
\sas.eventsgenerationframework\WEB-INF
\web.xml.orig
SAS BI Portlets
SAS-install-dirSASBIPortlets\4.3\Configurable
\wars\sas.biportlets\WEB-INF\web.xmlthirdparty.orig
SAS-install-dirSASBIPortlets\4.31\Configurable
\wars\sas.biportlets\WEB-INF\web.xml-idp.orig
SAS-install-dirSASBIPortlets\4.31\Configurable
\wars\sas.jsr168remoteportlet\WEB-INF
\web.xml.orig
SAS-install-dir\SASFlexApplicationThemes
\3.4\Configurable\FlexThemes\wars
\sas.flexthemes\WEB-INF\web.xml.orig
\sas.themedesigner\WEB-INF\web.xml.orig
153
Web Application
File Location
SAS-install-dir\SASInformationDeliveryPortal
\4.31\Configurable\wars\sas.packageviewer\WEBINF\web.xml.orig
SAS Information
Delivery Portal
SAS-install-dir\SASInformationDeliveryPortal
\4.31\Configurable\wars\sas.portal\WEB-INF
\web.xml.orig
SAS BI Web
Services*
SAS-install-dir\SASWebInfrastructurePlatform
\9.3\Configurable\wars\sas.biws\WEB-INF
\web.xml.orig
SAS Preferences*
SAS-install-dir\SASWebInfrastructurePlatform
\9.3\Configurable\wars\sas.preferences\WEB-INF
\web.xml.orig
SAS Shared
Applications*
SAS-install-dir\SASWebInfrastructurePlatform
\9.3\Configurable\wars\sas.shared.apps\WEB-INF
\web.xml.orig
SAS-install-dir\SASWebInfrastructurePlatform
\9.3\Configurable\wars\sas.storedprocess\WEBINF\web.xml.orig
\9.3\Configurable\wars\sas.svcs.logon\WEB-INF
\web.xml.orig
SAS-install-dir\SASWebInfrastructurePlatform
\9.3\Configurable\wars\sas.svcs.scs\WEB-INF
\web.xml.orig
SAS Web
Infrastructure
Platform Client
Access *
SAS-install-dir\SASWebInfrastructurePlatform
\9.3\Configurable\wars\sas.wip.access\WEB-INF
\web.xml.orig
SAS Web
Administration
Console *
SAS-install-dir\SASWebInfrastructurePlatform
\9.3\Configurable\wars\sas.wip.admin\WEB-INF
\web.xml.orig
Web Application
File Location
SAS Web
Infrastructure
Platform Services *
SAS-install-dir\SASWebInfrastructurePlatform
\9.3\Configurable\wars\sas.wip.services\WEB-INF
\web.xml.orig
SAS SOAP
Services *
SAS-install-dir\SASWebInfrastructurePlatform
\9.3\Configurable\wars\sas.wip.soapservices
\WEB-INF\web.xml.orig
SAS-install-dir\SASWebInfrastructurePlatform
\9.3\Configurable\wars\sas.workflow.webservice
\WEB-INF\web.xml.orig
SAS Workflow *
SAS-install-dir\SASWebInfrastructurePlatform
\9.3\Configurable\wars\sas.workflow\WEB-INF
\web.xml.orig
SAS-install-dir\SASWebInfrastructurePlatform
\9.3\Static\wars\sasweb\WEB-INF\web.xml
SAS-install-dir\SASWebReportStudio
\4.31\Configurable\wars\sas.webreportstudio
\WEB-INF\web.jboss.xml.orig
SAS-install-dir\SASWebReportStudio
\4.31\Configurable\wars\sas.webreportstudio
\WEB-INF\web.weblogic.xml.orig
SAS-install-dir\SASWebReportStudio
\4.31\Configurable\wars\sas.webreportstudio
\WEB-INF\web.websphere.xml.orig
The session-config element described in Step 2 must be added to the web.xml.orig file for this
application.
155
SAS BI Dashboard
SAS Preferences
If you want to specify a different session time-out interval for each SAS application,
complete this task for each SAS application by defining the
App.SessionTimeoutWarningInterval property and a custom value in minutes.
157
To enable these properties to take effect, restart the Web application server.
Policy Name
Default
Value
Description
Check on
navigation
600000
Yes
Yes
Policy Name
Default
Value
Description
Yes
No
No
No
Yes
Yes
159
Policy Name
Default
Value
No
No
Yes
Description
Settings are not applied and made active automatically. You must restart the SAS Web
Infrastructure Platform Services or the Web application server.
When this setting is enabled, each logon session is recorded and cached. When an
additional request to log on is made, the existing session is found and the logon request
is rejected. Sessions are removed from this cache in one of the following ways:
n
The user logs off the SAS Web application using the Log Off link in the application
banner.
The user session is terminated by an administrator that uses the SAS Web
Administration Console to Force Log Off the user.
If a user closes a Web browser, the session persists (and prevents subsequent log on
attempts) until the session times out or an administrator forces a logoff with the SAS
Web Administration Console.
161
Note: All appenders in the file must precede all loggers and categories. Otherwise,
the configuration fails.
2 Edit the SAS-install-dir\SASWebInfrastructurePlatform\9.3\Static
\wars\sas.svcs.logon\WEB-INF\spring-config\aop-config.xml file.
Remove the XML comments around the definition and reference of the armprocessor bean.
<!-- may also specify include-arm-processor="true" -->
<sas-aop:client-context-propagation
include-target-processor="true"
include-arm-processor="true" />
3 Edit the SASWebInfrastructurePlatform\9.3\Static\wars
\sas.wip.services\WEB-INF\spring-config\services-remoteconfig.xml file. Remove the XML comments around the definition and reference
of the arm-processor bean.
<!-- may also specify include-arm-processor="true" -->
<sas-aop:server-context-propagation
include-target-processor="true"
include-arm-processor="true" />
4 Rebuild and redeploy the SAS Web Infrastructure Platform Web application.
Upon successful start of the application server, the ARM monitoring of logon and logoff
activities is enabled.
163
9
Administering the SAS Content Server
About the SAS Content Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
Moving Content or Backing Up the SAS Content Server . . . . . . . 165
Deploying Content Manually to the SAS Content Server . . . . . . . 165
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
Security Considerations for SAS Content Server Scripts . . . . . . . . 167
Load Content Manually to the SAS Content Server . . . . . . . . . . . . . . 168
Update Content Manually for the SAS Content Server . . . . . . . . . . 169
Adjust Directive URLs Manually . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
Log Files Generated by the Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Using the SAS Content Server Administration Console . . . . . . . . 172
About the SAS Content Server Administration Console . . . . . . . . . 172
Access the SAS Content Server Administration Console . . . . . . . 172
A Brief Tour of the Console Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Modify Permissions for WebDAV Folders and Files . . . . . . . . . . . . . 175
Create a New Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
Add Files to the SAS Content Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
Delete Folders or Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
Implementing Authorization for the SAS Content Server . . . . . . . 179
Overview of SAS Content Server Authorization . . . . . . . . . . . . . . . . . . 179
Example Scenario: SAS Content Server Authorization . . . . . . . . . . 180
Reconfiguring the SAS Content Server to Use a
Database for Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
JVM Option
Description
-Dsas.scs.scheme
-Dsas.scs.host
-Dsas.scs.port
165
For deployments that use WebSphere Application Server with approximately 900
concurrent users, you can avoid performance issues and transaction time out errors by
modifying the JDBC data source definition. Use the administration console to modify the
SharedServices data source with a connection pool custom property. Add a custom
connection pool property with a name of defaultConnectionTypeOverride and a
value of unshared.
Create a backup for input to a system other than the SAS Content Server.
For instructions about using the WebDAVDump and the WebDAVRestore utilities, see
SAS Note 38667.
provides a WebDAV content repository that stores digital content (such as documents,
reports, and images) that is created and used by SAS client applications.
To enable the availability of the content in the SAS Content Server, you can load
content, update existing content, and adjust Web applications that store SBIP URLs.
These tasks can be automated or they can be performed manually.
The following table shows the choices available in the SAS Deployment Wizard, and the
results or manual tasks that follow these choices.
Table 9.2
The following table shows when you can load or update content (and adjust URLs)
either automatically or manually.
Table 9.3
167
Configuration of
Web Application
Server
Deployment
of Web
Applications
Load Content
Update Content
Adjust URLs
Automatic
Automatic
Automatic
Automatic
Automatic
Automatic
Manual
Manual
Manual
Manual
Manual
Manual
Manual
Manual
Manual
The following table shows the files associated with loading content to the SAS Content
Server or updating content. The filename for the batch or script file includes the order
number.
config.init:
[echo] ant.version=Apache Ant version 1.7.0 compiled on December 13 2006
[echo] ant.file=/opt/SASHome/SASWebInfrastructurePlatform/9.3/Config/webinfpltfm_config.xml
[echo] file.encoding=ISO646-US
[echo] about to read property file because config.init.set=${config.init.set}
[GetObjectProperties] Error connecting to the metadata server: Access denied.
[GetObjectProperties]
Host: hostname.example.com
[GetObjectProperties]
Port: 8561
[GetObjectProperties]
User: sasadm@saspw
[GetObjectProperties]
m_mdFactory: com.sas.metadata.remote.MdFactoryImpl@74db2c
[GetObjectProperties] Error finding foundation repository: Encountered metadata exception.
BUILD FAILED
/opt/SASHome/SASDeploymentManager/9.3/products/
cfgwizard__93345__prt__xx__sp0__1/Utilities/configuration_targets.xml:95: null
If you need to update or add a password, use the PWENCODE procedure. The
following code example shows how to generate the encoded form of the password
changeit. Copy and paste the result into the scripts.
Example Code 9.1 PWENCODE Procedure Example
proc pwencode in="changeit" method=sas002; run;
The SAS log shows the value to copy and paste into the script:
{SAS002}4DE4CF4F130AC6BE4A6934E0596C8222
After you run the scripts, remove the encoded form of the passwords from the scripts as
an additional security measure.
On Windows:
169
SAS-config-dir\Lev1\Web\Utilities\manualLoadContentOrderNumber.bat
n
If Web applications were deployed manually, this script contains the credentials for the
SAS Administrator, as well as the SAS Trusted User. The password is always encrypted
in the file. After loading content successfully, remove credentials for the SAS
Administrator and the SAS Trusted User.
If Web applications were deployed automatically, the script does not contain the
required credentials. You must manually enter the required credentials in this script file.
On Windows:
SAS-config-dir\Lev1\Web\Utilities\manualUpdateContentOrderNumber.bat
If Web applications were deployed manually, this script contains the credentials for the
SAS Administrator, as well as the SAS Trusted User. The password is always encrypted
in the file. After loading content successfully, remove credentials for the SAS
Administrator and the SAS Trusted User.
If Web applications were deployed automatically, the script does not contain the
required credentials. You must manually enter the required credentials in this script file.
After updating content manually for the SAS Content Server, adjust directive URLs
manually by running the appropriate script or batch file:
n
On Windows:
SAS-config-dir\Lev1\Web\Utilities\manualAdjustURLsOrderNumber.bat
171
The instructions for running the script or batch file are provided in the
Instructions.html migration or the UpdateInstructions.html file during an
upgrade. The script contains the credentials for the SAS Administrator, as well as the
SAS Trusted User. The password is always encrypted. When you have successfully
loaded the content, remove the credentials for the SAS Administrator and the SAS
Trusted User.
view folders
create folders
delete folders
173
As a security precaution, make sure that you log off when you are finished using the
console. If you go to another URL or close the tabbed page in your browser without
logging off, your console logon remains in effect. This means that the console can be
accessed again without re-entering a user name and password.
Objects in the console are either folders or files. By default, the initial view of the
console displays the following folders:
sascontent
contains content that has been added to SAS Content Server by SAS applications.
You see a folder only if the folder contains content.
sasdav
contains content that has been added to the SAS Content Server. By default,
sasdav contains the following folders:
n
sasfolders
contains content that has been defined in the SAS Folders tree in the SAS Metadata
Server. You see a folder only if the folder contains content.
CAUTION! Administrators should not manage folders and content here. The
content within this folder and subfolders is mapped to SAS Folders in the SAS
Metadata Server. It is recommended that you use the SAS Management Console to
add and manage folders.
Depending on the software that is installed at your site, your console might contain
additional folders.
To navigate in the console, follow these steps:
1 Click an item in the list to display information about that item.
2 Use the breadcrumb trail above the list to return to a parent folder. For example, in
the
The console displays the following information for each item listed:
Item name
displays the name of the folder or file.
Primary type
is an internal value that designates the type of object in the repository.
Date created
is the date when the object was created.
Date modified
is the date when the object was modified.
Delete
when the delete button is clicked, the selected objects are deleted.
Permissions
when the permissions icon
modified for the object.
175
page appears.
2 For each principal listed, modify the permissions by changing each permission to
Yes or No.
Note: You might see a principal named jcr:authenticated. This principal refers to
any user who can log on to a SAS Web application. By default, authenticated users
have Read and Inherit Read permissions only.
3 To add more principals to the page, do one of the following:
n
If you know the principal's name, enter it in the field and click Save changes.
Click Search for Principals to search for a name. When you find the principal
that you want to add, select the check box next to the principal's name and then
click Return.
After the principal's name appears on the permission page, you can set permissions
for the principal.
The following display shows a portion of the console with permissions for a folder:
Display 9.2
Permissions
Purpose
Read
Write
Delete
Admin
Inherit Read
Permissions
Purpose
Inherit Write
Inherit Delete
Inherit Admin
177
Note: Inherited permissions are assigned when objects are created. Each object has its
own set of permissions. Inherited permissions are static; dynamic inheritance does not
occur.
If you are applying permissions to folders, then the following options are available:
Table 9.5
Results
Note: Although you can add a folder to the sasfolders location, the folder that you add
is not added to the SAS Metadata Server. The best practice is to add folders to
metadata using SAS Management Console.
Use Microsoft Web folders to add content to the appropriate folder. You must use a
browser on a Windows client machine in order to use this method.
For example, the sasdemo user might open the following location as a Web folder:
http://myServer:8080/SASContentServer/repository/default/
sasdav/Users/sasdemo/
Then, copy and paste content into the folder.
Use the SAS DAVTree utility to drag and drop folders or files into console folders.
To use this utility, run the following command:
SAS-config-dir\Levn\Web\Utilities\DAVTree.bat
On UNIX and z/OS, the utility command is DAVTree.sh.
For more information about using DAVTree, see Using the DAVTree Utility to
Manage WebDAV Content on page 104.
Use the SAS Publishing Framework to publish files to the WebDAV repository.
Portal users can publish portal content to the WebDAV repository by using the
portal's publish and subscribe tools.
Usage of these tools and techniques is beyond the scope of this documentation (with
the exception of the DAVTree utility).
179
If you delete an item in the sasfolders tree, then applications that rely on the
content mapping between the SAS Content Server and the SAS Metadata Server
might not be able to access the content. To add and delete SAS metadata objects,
use SAS Management Console.
For information about the best practices to follow for managing SAS folders in SAS
Management Console, see Working With SAS Folders in the SAS Intelligence
Platform: System Administration Guide.
When you delete a folder, all objects within that folder are also deleted.
To delete a folder or file, select the check box for the folder or file from the Delete
column. Click the Delete button. The item is deleted. You are not prompted to confirm
the deletion. To delete multiple items, select multiple check boxes from the Delete
column.
access specific folders in the SAS Content Server repository, and what type of access
permissions they have for the folders.
Use the SAS Web Administration Console to create folders and associate access
controls with the folders.
Note: This topic does not describe authentication for the SAS Content Server. By
default, SAS Content Server users are authenticated by using SAS token
authentication.
Before you can associate access controls with a folder, you must complete these tasks:
1 Use the SAS Web Administration Console to create the folder on the SAS Content
Server.
2 Ensure that the appropriate user and group definitions exist on the SAS Metadata
Server for the SAS Content Server users and groups for whom you want to control
access to the folder.
After you have created the WebDAV folders and have ensured that the appropriate user
and group definitions are created on the SAS Metadata Server, use SAS Web
Administration Console to associate access controls with the folders.
181
The following table summarizes this scenario's group-based folders on the SAS Content
Server, and the permissions for each group:
Table 9.6
Folder
Americas Sales
Sales Executives
/sasdav/Catalog Sales
Read, Write
Read, Write
/sasdav/Field Sales
Read
Read, Write
/sasdav/Sales Execs
(none)
Read, Write
need to access the SAS Content Server. When you define login credentials, you
must specify the same authentication domain name that you specified for the SAS
Content server during installation.
For this example, the following users, groups, and logins are defined:
Table 9.7
Group Metadata
Identities
User Metadata
Identities
User ID
Authentication
Domain
America Sales
salesusr1
salesusr1
DefaultAuth
Group Metadata
Identities
User Metadata
Identities
User ID
Authentication
Domain
Sales Executives
execusr1
execusr1
DefaultAuth
sastrust
sastrust
DefaultAuth
For example, the America Sales group contains a user named salesusr1 as a
member, and salesusr1 has an associated login with a user ID of salesusr1 and an
authentication domain of DefaultAuth. The America Sales group might include other
members as well.
2 In the SAS Web Administration Console, create your new directory under the sasdav
directory. For this example, navigate to the sasdav directory, and then create these
three subdirectories: Catalog Sales, Field Sales, and Sales Execs.
3 In the SAS Web Administration Console, configure the access permissions for the
folders that you created. For this example, set the access permissions for each
subdirectory, using the following tables as guides:
Table 9.8
Group
Read
Write
Delete
Inherit
Read
Inherit
Write
Inherit
Delete
Americas
Sales
Yes
Yes
No
Yes
Yes
No
Sales
Executives
Yes
Yes
No
Yes
Yes
No
Table 9.9
Group
Read
Write
Delete
Inherit
Read
Inherit
Write
Inherit
Delete
Americas
Sales
Yes
No
No
Yes
No
No
Group
Read
Write
Delete
Inherit
Read
Inherit
Write
Inherit
Delete
Sales
Executives
Yes
Yes
No
Yes
Yes
No
Table 9.10
183
Group
Read
Write
Delete
Inherit
Read
Inherit
Write
Inherit
Delete
Americas
Sales
No
No
No
No
No
No
Sales
Executives
Yes
Yes
No
Yes
Yes
No
binary object in the SAS Content Server repository. If the SAS Deployment Wizard was
not run with the Use configured database for content storage option, it is still
possible to reconfigure SAS Content Server to use the same database that is used by
the SAS Web Infrastructure Platform. The following sections describe how to
reconfigure SAS Content Server.
JCRCopyRepository File
Obtaining the JCRCopyRepository File
To migrate the contents of the current SAS Content Server's repository to the databasebased repository, obtain the JCRCopyRepository.bat or the
JCRCopyRepository.sh file from SAS Technical Support. Place the script file in the
SAS-config-dir\Lev1\Web\Utilities directory. This file should be customized
for your environment. After the file is customized and saved, run the batch or script file
to reconfigure the SAS Content Server and share the database used by SAS Web
Infrastructure Platform Services.
Note: The JCRCopyRepository script file is not shipped with your software. To obtain a
copy of the JCRCopyRepository script file, contact SAS Technical Support.
For information about running the JCRCopyRepository script file, see Reconfigure SAS
Content Server on page 186.
"%JAVA_JRE_COMMAND%" ^
-classpath "%CLASSPATH%" ^
-Djava.system.class.loader=com.sas.app.AppClassLoader ^
-Dsas.app.launch.config="%PICKLISTS%" ^
-Dsas.app.repository.path="%SASVJR_REPOSITORYPATH%" ^
-Dsas.app.class.path="%UTILITIESDIR%;%DRIVER%" ^
-Djava.security.auth.login.config=%LEVEL_ROOT%\Web\Common\login.config^
-Xmx256m ^
-Dscs.jndi.jndiName=sas/jdbc/SharedServices ^
-Dscs.jndi.jdbcUrl=jdbc-url ^
-Dscs.jndi.driver=jdbc-driver-class^
-Dscs.jndi.user=database-user ^
-Dscs.jndi.pwd=password ^
org.apache.jackrabbit.core.JCRCopyRepository %1 %2
endlocal
if [%2] EQU [exit] exit %ERRORLEVEL%
185
org.apache.jackrabbit.core.JCRCopyRepository $1
$2
exit 0
On Windows:
move C:\SAS-config-dir\Lev1\AppData\SASContentServer\Repository
C:\SAS-config-dir\Lev1\AppData\SASContentServer\RepositoryFS
On UNIX and z/OS:
mv SAS-config-dir/Lev1/AppData/SASContentServer/Repository SASconfig-dir/Lev1/AppData/SASContentServer/RepositoryFS
3 In the previous step, you moved the Repository directory. Now, re-create the
directory:
On Windows:
mkdir C:\SAS-config-dir\Lev1\AppData\SASContentServer
\Repository
On UNIX and z/OS:
mkdir SAS-config-dir/Lev1/AppData/SASContentServer/Repository
Note: If you are performing this procedure to configure SAS Web application
clustering, then create a directory named SASServer2 and use it as the repository
directory for the rest of this procedure.
4 The contents of the repository.xml file should identify the database that is used for
187
copy C:\SAS_HOME\SASWebInfrastructurePlatform\9.3\Static\wars\sas.svcs.scs\
WEB-INF\templates\repository.tkts.xml C:\SAS-config-dir\Lev1\AppData\
SASContentServer\Repository\repository.xml
Example Code 9.3 Copy Command Example for UNIX
cp /$SAS_HOME/SASWebInfrastructurePlatform/9.3/Static/wars/sas.svcs.scs/
WEB-INF/templates/repository.tkts.xml SAS-config-dir/Lev1/AppData/
SASContentServer/Repository/repository.xml
TIP The SAS Framework Data Server uses the repository.tkts.xml file.
5 Edit the repository.xml file and perform the following changes:
a Change all instances of @repository.jndi.url@ to sas/jdbc/
SharedServices.
For deployments that use JBoss, change the value to include the java:
namespace prefix, java:sas/jdbc/SharedServices.
b Comment out the extidTypes attribute in the AccessManager element:
<AccessManager class="org.apache.jackrabbit.core.CoreAccessManager">
<!-<@extid.comment.start@param name="extidTypes"
value="@extid.types.list@"/@extid.comment.end@>
-->
6 Obtain the values for the database name, host, port, and user ID from the Web
application server.
n
JBoss
Open the SharedServices-ds.xml file located in the JBOSS_HOME/server/
SASServer1/deploy/ directory. The user ID can be located in the
JBOSS_HOME/server/SASServer1/conf/login-config.xml file, in the
<application-policy name="webinfpltfm-encryptDBPassword"> section. You
cannot use the password in the encrypted form that is used in the loginconfig.xml file. Use a SAS encoded version of the password.
TIP Use the PWENCODE procedure to create an encoded password. For an
example, see Example Code 9.1 on page 168.
n
WebLogic Server
In the WebLogic Admin Console, navigate to SASDomain Services JDBC
Data Sources SharedServices Configuration and click on the
Connection Pool tab.
7 Contact your database administrator or system administrator if you do not know the
The JAR file, or files, for the driver are located in SAS-config-dir\Levn\Web
\Applications\SASWIPServices9.3\JDBCDrivers.
If there is more than one JAR file in the directory, then specify a concatenated list of
the JAR files in the directory. Separate the paths with either semi-colons (Windows)
or colons (UNIX).
9 Specify the values for user and password in the JCRCopyRepository script file.
These values were retrieved earlier from your Web application server.
-Dscs.jndi.user=database-user ^
-Dscs.jndi.pwd=password ^
10 In the same JCRCopyRepository script file, enter the values for the following
parameters:
189
-Dscs.jndi.jdbcUrl=jdbc-url ^
-Dscs.jndi.driver=jdbc-driver-class ^
The values specified for the JDBC URL and the driver are determined by the type of
database used in your environment. The following table shows the examples of
values for the different types of databases:
Table 9.11
Database
Parameters
Values
SAS
Framework
Data Server
-Dscs.jndi.jdbcUrl
jdbc:sastkts://host:22031?
constring=
(DSN=SharedServices;encoding=UNICODE_
FSS)
-Dscs.jndi.driver
com.sas.tkts.TKTSDriver
-Dscs.jndi.jdbcUrl
For Oracle:
Oracle
jdbc:oracle:thin:@host:1521:orcl
For XE:
jdbc:oracle:thin:@host:1521:xe
PostgreSQL
DB2
SQL Server
-Dscs.jndi.driver
oracle.jdbc.driver.OracleDriver
-Dscs.jndi.jdbcUrl
jdbc:postgresql://host:5432/
SharedServices
-Dscs.jndi.driver
org.postgresql.Driver
-Dscs.jndi.jdbcUrl
jdbc:db2//host:50000/database
-Dscs.jndi.driver
com.ibm.db2.jcc.DB2Driver
-Dscs.jndi.jdbcUrl
jdbc:sqlserver://host:
1433;DataBaseName=SharedServices;Selec
tMethod=cursor
-Dscs.jndi.driver
com.microsoft.sqlserver.jdbc.SQLServer
Driver
Database
Parameters
Values
MySQL
-Dscs.jndi.jdbcUrl
jdbc:mysql://host:3306/SharedServices
-Dscs.jndi.driver
com.mysql.jdbc.Driver
Utilities directory.
12 Run the JCRCopyRepository script command by providing the complete directory
191
10
Administering the SAS BI Web
Services
Overview of SAS BI Web Services for SAS 9.3 . . . . . . . . . . . . . . . . . . . 191
SAS BI Web Services in SAS 9.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
Managing Generated Web Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
Configuring SAS BI Web Services for Java . . . . . . . . . . . . . . . . . . . . . . . . 193
Overview of Security for Web Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
Securing SAS BI Web Services for Java . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
SAS Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
Web Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
Editing the web.xml File for Third-Party Authentication . . . . . . . . . . 201
Transport-level Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
193
generates a new Web service that contains one operation for each stored process that
you selected. For information about developing Web services, see the SAS BI Web
Services: Developers Guide. For information about using the Deploy as Web Service
Wizard in SAS Management Console, see the product Help.
When you generate a Web service, the Web Service Maker publishes metadata about
the new Web service to the SAS Metadata Server. The Web Service Maker stores
information about the URL of the Web service, keywords that are associated with the
Web service, and which stored processes are used by the Web service. You can view
and update some of this information by using SAS Management Console and the
Configuration Manager plug-in in. To import or export a generated Web service, use the
SAS Management Console folder view.
To delete a Web service that was generated by the Web Service Maker, use SAS
Management Console. Navigate to Application Management Configuration
Manager SAS Application Infrastructure BI Web Services for Java 9.3
WebServiceMaker. Expand the node, right-click the generated Web service, and select
Delete. Deleting a generated Web service removes the metadata that is associated with
the generated Web service. This action cannot be reversed.
Note: You must grant permissions on the /System/Services folder to users who
want to create SAS BI Web Services. You can also delete a Web service directly from
the /System/Services folder. Users need ReadMetadata and WriteMemberMetadata
to create and delete Web services. By default, a default group named BI Web Services
Users is created, which has these permissions. You can add users to this group to allow
them to create and delete Web services, or use your own groups and permission
settings.
195
197
ValidateRequestWithSchema
Setting this property to true causes the incoming request to be validated against the
services schema. The default is false, because this operation can be CPU intensive.
ValidateResponseWithSchema
Setting this property to true causes the resulting output that is created by the service
execution to be validated against the services schema. The default is false because
this operation can be CPU intensive.
AttachmentOptimizedThreshold
The default is 2048 bytes. This attachment threshold is the number of bytes
contained in the attachment that causes the data to be included as an out-of-band
XOP/Include MTOM attachment. An attachment containing fewer bytes is used as
base 64 encoding for optimization.
Changes to properties do not take effect immediately. To apply these changes, perform
one of the following tasks:
n
Either stop and restart the Web application server, or stop and restart the SAS BI
Web Services for Java Web application (sas.wip.services9.3.ear).
The following image shows the use of the JMX console bundled with the JDK to reload
the configuration metadata into a running SAS BI Web Services for Java application:
must be sent as clear text or base64 encoded, SSL should be enabled to provide
transport layer security.
If you want to use SSL on the Web application server to secure the transmission of
credentials with the Web services, and you also want to use the Deploy as Web Service
Wizard in SAS Management Console, then you need to import the server certificate to
SAS Management Console. To import the server certificate to SAS Management
Console, follow these steps:
1 Create a Java keystore on the local machine and import the server certificate of the
server that you want to communicate with. For more information about how to
perform this step, see http://docs.oracle.com/javase/1.5.0/docs/tooldocs/windows/
keytool.html.
2 Pass the keystore location and password into SAS Management Console using Java
To complete this step, add the following JavaArgs arguments to the sasmc.ini file,
which is found at C:/Program Files/SAS/SASManagementConsole/9.3:
JavaArgs_14=-Djavax.net.ssl.trustStore =
"fully qualified path to keystore created with keytool from step 1"
JavaArgs_15=-Djavax.net.ssl.trustStorePassword =
"trust store password"
If you are using XMLA Web services or generated Web services, an anonymous user
can be configured. The anonymous Web user is configured during SAS Deployment
Wizard configuration. Anonymous users cannot use the Web Service Maker; credentials
must always be provided to use the Web Service Maker. If you are using XMLA Web
services, you can pass user credentials as XMLA properties in the payload.
SAS BI Web Services can also be secured by configuring the Web application server to
perform Web authentication. This provides a way for SAS BI Web Services to identify
the calling user with basic Web authentication that uses HTTP transport-level security.
Note: Web authentication can be used with both XMLA Web services and generated
Web services. Web authentication cannot be used with the WebServiceMaker Web
service when SAS Management clients are involved because these clients authenticate
by using one-time passwords.
For RESTful invocation, use the credentials passed in the Authorization HTTP
header.
2 Use credentials that are passed in the payload as properties (XMLA only).
3 Use anonymous credentials that are configured with the Webanon SAS metadata
Web Authentication
As an alternative to SAS authentication, the application server can be configured to
perform the authentication on behalf of the SAS BI Web Services for Java application.
201
This is known as Web authentication. Beginning with SAS 9.3, Web authentication can
also be used with RESTful Web services.
Transport-level Security
HTTP transport-level security can be used instead of message-level security. The
following security constraints should be applied to the web.xml deployment descriptor
(sas.biws.war module with the sas.wip.services9.3.ear application) as follows:
<security-constraint>
<web-resource-collection>
<web-resource-name>All-resources</web-resource-name>
<url-pattern>/services/XMLA/*</url-pattern>
<url-pattern>/services/dynamicServicePath/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>SASWebUser</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
</login-config>
<security-role>
<role-name>SASWebUser</role-name>
</security-role>
203
11
Administering SAS Web Application
Themes
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
Introduction to SAS Web Application Themes . . . . . . . . . . . . . . . . . . . . 204
Theme Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
The SAS Default Theme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
How Custom Themes Are Created and Deployed . . . . . . . . . . . . . . . 206
Steps for Defining and Deploying a New Theme . . . . . . . . . . . . . . . . . 207
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
Step 1: Design the Theme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Step 2: Create a Work Area for the Theme . . . . . . . . . . . . . . . . . . . . . . . 209
Step 3: Make Desired Changes to the Styles,
Graphics, and Theme Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
Step 4: Rebuild SAS Web Application Themes . . . . . . . . . . . . . . . . . . . 218
Step 5: Deploy SAS Web Application Themes in
Your Test Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
Step 6: Test the New Theme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
Step 7: Move the New Theme from Test to
Production Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
Step 8: Assign the Default Theme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Deploying SAS Web Application Themes on a
Different Web Application Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
Modify Theme Metadata from the SAS Management Console . 221
Modify Theme Metadata with the UpdateTheme.sas Program . 222
Overview
Introduction to SAS Web Application Themes
SAS Web Application Themes provide a way to define a consistent look and feel across
SAS Web applications. You can use themes to apply uniform visual customizations and
company branding to all SAS Web applications that support the theme infrastructure. A
typical custom theme might include a banner with a standard corporate color scheme
and company logo, a navigation bar with colors that coordinate with the banner, and
new colors for borders and title bars.
Theme Components
A theme is a collection of resources that control the appearance of a SAS Web
application. The following figure shows the components of a theme:
Overview
Figure 11.1
205
Components of a Theme
The NewTheme script creates a directory structure for your new theme, and populates
it with configuration files that are modified to create a new theme definition. The new
theme is based on the SAS default theme that is shipped with the software.
The specs directory provides documentation for the general color palette and color
and image guidelines that are specific to each user interface component. This
document is useful when you are designing and defining your custom theme.
Developing a custom theme involves creating CSS files, image files, theme template
files, and theme descriptor files. It is possible to create a new theme by authoring these
files from scratch, but the task is laborious and requires a thorough understanding of
Web page design. The theme infrastructure provides a templating mechanism to
simplify the process.
Instead of editing CSS and theme descriptor files directly, template files
(extension .vtl) are provided that contain key and value pairs that isolate the elements
of the theme that you are likely to want to customize. In addition, context files
(extension .vctxt) enable you to create a centralized set of definitions for key values
that you can use in place of explicit values to simplify the process of maintaining the
template files. When you use the SAS Deployment Manager to rebuild the SAS Web
Application Themes, the context files are merged into the template files to create a
complete set of shared and product-specific style sheets and theme descriptors. The
207
build process also packages your new theme into the sas.themes.ear archive file that
you deploy to make themes available in your production environment.
Once the theme archive is deployed, users can use the Preferences page in their SAS
Web application to apply the new theme (or any of the other themes in the archive). You
can also specify the custom theme as the default for all SAS Web applications. This
means that the theme is applied automatically for users who do not make a selection on
the Preferences page.
Note: Previously, SAS Web Report Studio 3.1 used product-specific branding.
Product-specific branding is not available for SAS Web Report Studio 4.3. Use themes
to create branding in SAS Web Report Studio 4.3. A few properties for branding that
existed in SAS WebReport Studio 3.1 are supported in SAS Web Report Studio 4.3. For
information about these properties and usage, see Customizing Report Styles for SAS
Web Report Studio in Chapter 6 of SAS Intelligence Platform: Web Application
Administration Guide.
5 Step 5: Deploy SAS Web Application Themes in Your Test Environment (See
page 218.)
6 Step 6: Test the New Theme (See page 219.)
7 Step 7: Move the New Theme from Test to Production Environment (See page
219.)
8 Step 8: Assign the Default Theme (See page 220.)
Note: You might choose to perform steps 3 through 6 iteratively, making limited
changes to the theme during each iteration, so that you can more readily determine the
effects of each set of changes to the theme. To deploy multiple themes in your
environment, follow steps 1 to 6 to design and create your themes. Then follow step 7 to
move each theme from test to production environment.
You can deploy multiple themes in your corporate environment. Before deploying the
new theme in a production environment, you should first test it in a test environment to
ensure that SAS Web applications function as expected with the new theme applied.
209
Portal portlets. In addition, you might want to replace the SAS logo in the banner with
our own organization's logo. If you select a different color palette, consider that you
might need to adjust the colors in images to match the new palette.
The Color Palette page at SAS-config-dir\Lev1\Web\Utilities
\SASThemeExtensions\specs\Default\html\colorPalette.html lists all 55
color keys of the default theme and specifies the default hexadecimal color value for
each color key. It also provides links to documentation on each user interface element
where the color is applied.
Use the Color Palette and replace the 55 default SAS colors with your organization's
palette. The colors are applied automatically across the user interface.
Specify the color to be used for each interface component. You must specify the
color for each context key of the user interface component. This approach takes
more time, but it provides maximum flexibility and control.
Start with the Color Palette, and make individual changes to selected user interface
components. This approach overrides how the color palette is applied in some
cases.
If you choose to set colors for the context key of each user interface component, the
Web pages at SAS-config-dir\Lev1\Web\Utilities\SASThemeExtensions
\specs\Default\index.html provide tools and resources to assist you with this
process.
To use the Color Palette option, the true parameter is required in the command.
Note: The theme name must not contain spaces.
The following figure shows the theme-name directory, which is the root directory for
theme resources. The \theme-name\MetadataTools directory contains SAS
programs for managing the theme. The Velocity directory contains several
subdirectories with files.
Figure 11.2
The following figure shows the subdirectory structure that is created under the SASconfig-dir\Lev1\Web\Utilities\SASThemeExtensions\themes\theme-name\themes
\theme-name directory.
Figure 11.3
211
WRS
contains images for SAS Web Report Studio.
\theme-name\themes\theme-name\styles
contains a cascading style sheet file named custom.css that can be used to define
additional style elements for the theme. This file is empty when the work area is
created.
\theme-name\themes\theme-name\templates
contains theme templates, which are HTML fragments that render specific portions
of pages in SAS Web applications. The template files are divided into the following
subdirectories by category:
Common
contains theme templates for page elements that are commonly used in SAS
Web applications.
Components
contains theme templates for the collection of components that are shared by
SAS Web applications.
WRS
contains theme templates for elements in SAS Web Report Studio pages.
The following figure shows the subdirectories below the SAS-config-dir\Lev1\Web
\Utilities\SASThemeExtensions\themes\theme-name\Velocity directory.
Figure 11.4
213
\theme-name\Velocity\Stylesheets\Components\contexts\themes
\theme-name
contains a CSS template file named components.theme-name.vtl that is used to
build style sheets for the collection of components that are shared by SAS Web
applications.
\theme-name\Velocity\Stylesheets\WRS\contexts\themes\theme-name
contains a CSS template file named wrs.theme-name.vtl that is used to build style
sheets for SAS Web Report Studio.
\theme-name\Velocity\ThemeDescriptors\contexts
contains a context file named theme-name.themeDescriptor.vctxt that defines
context values that can be used in theme descriptor templates.
\theme-name\Velocity\ThemeDescriptors\contexts\custom\theme-name
contains theme descriptor template files for building the XML files that define the
available collections of style sheets, theme templates, and images, including
ComponentsThemes.vtl, CustomThemes.vtl, SASThemes.vtl,
SolutionsThemes.vtl, and WRSThemes.vtl. The SemanticThemes.vtl file is added
in the second maintenance release for SAS 9.3.
If you were to build the new theme at this point, it would be a fully functional duplicate of
the Default theme.
215
show that the context key for the title text is Banner_Title_Text_Color and it displays
its context value.
Each Themes Web page displays the context keys and context values.
You can specify a new color explicitly, as follows:
Banner_Title_Text_Color=#e69b00
The corresponding color value is substituted in the resulting CSS when the new theme
is built.
The general form for using a context value in a template file is ${context-value-name}.
Using context values instead of explicit values can make it easier to maintain the theme
because you can change all component keys that use a given value by making one
change to the context file.
Changing Graphics
Image files are located in three subdirectories located in the SAS-config-dir
\Lev1\Web\Utilities\SASThemeExtensions\specs\Default folder. These
subfolders are: Common, Components, and WRS. The properties of each image are
defined in the Theme Descriptors files.
The process for customizing images is similar to that for customizing styles. For
example, suppose your new theme design calls for changing the background image for
the banner at the top of SAS Web applications. A review of the Banner specifications at
SAS-config-dir\Lev1\Web\Utilities\SASThemeExtensions\specs
\Default\index.html shows that the image key for the banner background is
banner_background. A search for that string in the work area for the new theme shows
the following IMAGE element in the ComponentsThemes.vtl file in the Velocity
\ThemeDescriptors\custom\theme-name subdirectory of the work area:
<Image name="banner_background" ...
file="BannerBackground.gif"/>
You can change the image used for the banner background image in either of the
following ways:
n
by replacing the existing BannerBackground.gif file in the themes\themename\images\Components subdirectory of the work area with a revised image
with the same name. Make sure that the new image has the following criteria:
o
The filename of the new graphic is identical to the filename of the graphic being
replaced.
The new graphic is in the same format as the original image (for example, .jpg
or .gif).
The dimensions of the new graphic and its pixels are same as the graphic being
replaced.
If you need to change the size, filename, or the image format of the graphic, modify
the theme descriptor. For example, if you replace the logo.gif file with a new file
called myLogo.jpg that has a width of 300 pixels and height of 70 pixels, modify
the ComponentsThemes.vtl file as follows:
<Image name="logo" description="My Logo" altTextKey="desktop.logo.text"
appliesTo="ALL" width="300" height="70" file="myLogo.jpg"/>
n
217
Note: You should not change the value of the NAME= attribute in the IMAGE
element. SAS Web applications depend on the NAME= attributes remaining
constant.
Another common image change is to replace the SAS logo in the standard banner with
your organization's logo. You can change the graphic used for the banner logo either by
replacing the existing logo.gif file in the themes\theme-name\images
\Components subdirectory of the work area with a copy of your logo with that filename
or by changing the target of the FILE= attribute for the IMAGE element in the
ComponentsThemes.vtl context file for which the NAME= attribute has the value
logo.
Note: In the second maintenance release for SAS 9.3, the SAS Logon Manager
application uses graphics from the themes\theme-name\images\semantic
directory. For more information, see Special Considerations for SAS Logon Manager
on page 226.
When customizing images, you should ensure that the replacement graphics have
approximately the same dimensions as the original graphics. Otherwise, the images
might disrupt the appearance of the applications in which they are used.
Additional Considerations
Another change that you might want to make when creating your new theme is to
update the theme_displayName= element in the themename.themeDescriptor.vctxt file in the Velocity\ThemeDescriptors
\contexts subdirectory of the work area. Provide a descriptive name for the new
theme. The name is used in the selection list of available themes in the Preferences
page in SAS Web applications.
219
3: Make Desired Changes to the Styles, Graphics, and Theme Templates on page
214. To view the new theme, log off from the portal. Then log on to the portal to view
the new theme that was applied.
4 Repeat the procedures outlined in Steps for Defining and Deploying a New Theme
on page 207 until you are satisfied with the display of the new theme.
If you test the new theme several times, log off from the portal and log on again to view
the updated theme each time.
Run SAS Deployment Manager, and use the Rebuild Web Applications option to
register the theme in the metadata. See Step 4: Rebuild SAS Web Application
Themes on page 218.
Rebuild SAS Web Application Themes and deploy to your Web application server.
See Step 5: Deploy SAS Web Application Themes in Your Test Environment on
page 218.
Assign the new theme as the default theme. See Step 8: Assign the Default Theme
on page 220.
Use SAS Management Console. See Assign the Default Theme from SAS
Management Console on page 220.
Use the UpdateDefaultTheme.sas program. See Assign the Default Theme with
the UpdateDefaultTheme.sas Program on page 221.
application server.
2 In SAS Management Console, on the Plug-ins tab, navigate to Application
221
Use SAS Management Console. See Modify Theme Metadata from the SAS
Management Console on page 221.
Use the UpdateTheme.sas program. See Modify Theme Metadata with the
UpdateTheme.sas Program on page 222.
1 Deploy the new EAR file by using the appropriate procedures for your Web
application server.
2 In SAS Management Console, navigate to Application Management
application server.
2 Locate the UpdateTheme.sas program in the SAS-config-dir\Lev1\Web
\Utilities\SASThemeExtensions\themes\theme-name\MetadataTools
directory.
3 Modify the following fields in the UpdateTheme.sas:
223
to construct the new version of your existing theme, see Step 2: Create a Work
Area for the Theme on page 209.
2 Migrate the cascading style sheets used in your theme.
3 Migrate the images used in your theme.
4 Migrate the theme templates.
5 Migrate the descriptors used in your theme.
225
add, you must ensure that a corresponding STYLESHEET element is added to in the
appropriate theme descriptor template (.vtl) file in the \Velocity
\ThemeDescriptors\contexts\custom\theme-name subdirectory of the work
area for the new theme. The STYLESHEET element must specify the value all for its
PRODUCT= attribute.
Migrating Images
Before attempting to move any image files from an existing theme to the \themes
\theme-name\images subdirectory of the work area for the new theme, see the
image specifications for the Default theme at SAS-config-dir\Lev1\Web
\Utilities\SASThemeExtensions\specs\Default\index.html. If the image
from the existing theme replaces one of the images in the new theme, then you should
ensure that the image from the existing theme is saved over the default image in the
proper directory under the \themes\theme-name\images subdirectory. If the image
from the existing theme does not replace an image in new theme, save it in the
\themes\theme-name\images\Common subdirectory.
For each image file that you update or add, you must ensure that a corresponding
IMAGE element is present in the appropriate theme descriptor template (.vtl) file in the
\Velocity\ThemeDescriptors\contexts\custom\theme-name subdirectory of
the work area for the new theme.
If you add cascading style sheet files to provide theme support for features that are
not covered by CSS templates, ensure that you add corresponding new
STYLESHEET elements to the STYLES section.
For each image file that you update or add, ensure that you update or add a
corresponding IMAGE element in the IMAGES sections.
If you migrate existing theme template files, ensure that you update or add a
corresponding TEMPLATE element in the TEMPLATES sections to reflect the
change.
227
a Edit SAS-config-dir\Lev1\Web\Utilities\SASThemeExtensions
\theme-name\Velocity\ThemeDescriptors\custom\theme-name
\SemanticThemes.vtl
b Change the following line to specify to a different image path.
<Image name="logo_png" file="semantic/logo.png"
description="SAS: The Power to Know" altTextKey="image.sas.logo.txt" />
If you want to use your existing customer logo.gif, then change the entry to resemble
the following example:
<Image name="logo_png" file="logo.gif"
description="your-description-here" altTextKey="image.sas.logo.txt" />
TIP You can change or remove the description attribute. It is used as a tooltip
for the logo image.
2 Add styles to your theme's SAS-config-dir\Lev1\Web\Utilities
\SASThemeExtensions\theme-name\themes\theme-name\styles
\custom.css file. Adjust some of the values in the following example, depending
on the dimensions of your logo image and the desired appearance.
.figure1 img {
width: your-image-widthpx;
height: your-image-heightpx;
}
.figure1 {
width: 100%;
min-width: your-image-widthpx;
max-width: your-image-widthpx;
}
.logonabout {
margin-bottom: 0em;
}
.banner .clearfix {
display: none;
}
.logonhd {
height: 5.0em;
}
.logonhd h1 {
padding-top: 1em;
}
\Lev1\Web\Utilities\SASThemeExtensions\theme-name\themes
\theme-name\images\Components\BannerBackground.gif and name it
BannerBackground.png. You can use an application like Microsoft Paint to do
this.
b The dimensions of BannerBackground.png are 781x145 pixels. The dimensions
\SASThemeExtensions\theme-name\themes\theme-name\images
\semantic\.
2 If you want your BannerBackground.png image to repeat, then add a style override
to the SAS-config-dir\Lev1\Web\Utilities\SASThemeExtensions
\theme-name\themes\theme-name\styles\custom.css file:
.banner {
background: url("../images/semantic/BannerBackground.png")
repeat-x scroll left top transparent;
}
TIP As an alternative to step 1, you can change the URL value to specify a
different image, if you prefer.
Note: The corporate design shares the .banner style with the classic design. If you
include the preceding .banner style in your custom.css file, then the
229
LogonArtTile.gif File
This file is not used in the new logon page for the classic or corporate designs. You do
not need to migrate it.
LogonArtTop.gif File
To migrate your custom LogonArtTop.gif file:
1 Copy your custom LogonArtTop.gif from SAS-config-dir\Lev1\Web
\Utilities\SASThemeExtensions\theme-name\images\Common\ to SASconfig-dir\Lev1\Web\Utilities\SASThemeExtensions\theme-name
\images\semantic\.
2 If you want this image to repeat down the page from top to bottom, edit the
custom.css file and add a repeat-y attribute as shown in the following example:
.content {
background: url("../images/semantic/LogonArtTop.gif")
repeat-y scroll 0 5em transparent;
}
TIP As an alternative to step 1, you can change the URL value to specify a
different image, if you prefer.
Note: Similar to the .banner style, the .content style is used by both the classic
and corporate designs. One setting might not look attractive on both designs. If you
want to eliminate the graphic from the designs, you can set it to none
(background: none;).
name\Velocity\Stylesheets\Common\contexts\themes\theme-name
\logon.theme-name.vtl.
2 Change the Logon_Classic_About_Link_Color value to a color that works well with
Logon_Classic_About_Link_Focus_Color and
Logon_Classic_About_Link_Hover_Background_Color.
4 Adjust other Logon_Classic* colors in the logon.theme-name.vtl, as needed.
name\Velocity\Stylesheets\Common\contexts\themes\theme-name
\logon.theme-name.vtl.
This file is used by the classic and corporate designs. The rest of the instructions
apply to modifying the corporate-related design colors.
231
your themes color palette or set to black (#000000) to match the classic design.
4 Change the About link colors:
a Change the Logon_Corporate_About_Link_Color value to a color that works well
Logon_Corporate_About_Link_Focus_Color and
Logon_Corporate_About_Link_Hover_Background_Color.
5 Adjust other Logon_Corporate* colors in the logon.theme-name.vtl, as needed.
}
.logonabout a:hover {
background: none;
}
.logonhd h1 {
text-shadow: none;
}
.message {
background: none;
filter: none;
}
.message h2 {
text-shadow: none;
}
.message.info {
text-shadow: none;
}
.message.error {
text-shadow: none;
}
.message.warning {
text-shadow: none;
}
.main {
background: none;
-moz-border-radius: 0px;
-webkit-border-radius: 0px;
-khtml-border-radius: 0px;
border-radius: 0px;
}
233
12
Administering SAS Flex Application
Themes
Overview of SAS Flex Application Themes . . . . . . . . . . . . . . . . . . . . . . . . 233
Introduction to SAS Flex Application Themes . . . . . . . . . . . . . . . . . . . . . 233
Benefits of SAS Flex Application Themes . . . . . . . . . . . . . . . . . . . . . . . . . 234
Location of SAS Flex Application Themes . . . . . . . . . . . . . . . . . . . . . . . . 234
Deploying SAS Flex Application Themes on a
Different Web Application Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
Themes can be created with the SAS Theme Designer for Flex. For information about
custom themes for Flex applications, see SAS Theme Designer for Flex Users Guide.
SAS Flex Application Themes coexist with SAS Web Application Themes. For
example, SAS Information Delivery Portal uses the default Web theme, but it
displays SAS BI Portlets with SAS Flex Application Themes.
Applications that use SAS Flex Application Themes offer more visual impact,
interactivity, and responsiveness.
Improved visual impact and perceived depth are achieved through the use of skins.
Skins are graphics that are applied to common user interface components that
change their appearance. For example, the Corporate theme provides skins with a
color palette that reflects the SAS visual identity. Skins also include some stylized
graphics in the user interface.
SAS-config-dir\Lev1\Web\Staging\exploded\sas.flexthemes3.4.ear
SAS-config-dir\Lev1\Web\Staging\sas.flexthemes3.4.ear
235
server.
2 In SAS Management Console, navigate to Application Management
Enter the host name of the Web application server on which the theme is
deployed.
To enable the new theme location to take effect, restart your Web application
server.
237
13
Administering Multicast Options
Overview of Multicasting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
How Much Multicast Network Traffic is Generated? . . . . . . . . . . . . . 239
Configuring Multicast Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
Applications That Use Multicast Communication . . . . . . . . . . . . . . . . . 239
Multicast Options Configuration Files for SAS
Remote Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
Multicast Options Configuration Files for Web
Application Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
Multicast Options Configuration Files for SAS BI
Report Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
Key Multicast Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
Configuring a Multicast Authentication Token . . . . . . . . . . . . . . . . . . . . 243
Understanding the Multicast Authentication Token . . . . . . . . . . . . . . . 243
Reconfiguring to Use a Multicast Authentication Token . . . . . . . . . 244
Configuring the JGroups Bind Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
Understanding JGroups the Bind Address . . . . . . . . . . . . . . . . . . . . . . . . 246
Setting the Bind Address for SAS Remote Services . . . . . . . . . . . . . 247
Setting the Bind Address for JBoss Application Server . . . . . . . . . . 248
Setting the Bind Address for Oracle WebLogic Server . . . . . . . . . . 248
Setting the Bind Address for IBM WebSphere
Application Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
Setting the Bind Address for the Report Output
Generation Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
Overview of Multicasting
Multicast communication is used to communicate among SAS middle-tier applications in
a single SAS deployment (the set of applications connected to the same SAS Metadata
Server). When installation is performed with the SAS Deployment Wizard, the wizard
generates a default multicast address that is based on IP address of the SAS Metadata
Server. The combination of multicast address and multicast UDP port number must be
different for each SAS deployment and also different from any other multicast
applications at your site.
The multicast communication includes all the information that is needed to bootstrap the
SAS middle-tier applications. Because this information includes the SAS environment
credentials (such as the sasadm account name and its password), time to live (TTL)
and encryption options are provided to secure the multicast communication.
Multicast options are specified as JVM options. Multicast options provide the ability to
tune and change the behavior of the multicast communication that occurs within the
SAS deployment. The multicast address and UDP port number must match the values
in the Web application server's start-up script (for example, SASServer1.bat) and the
environment.properties file located in the SAS-config-dir\Lev1\Web
\Applications\RemoteServices directory.
Administering multicast options typically involves the following:
n
239
any Web application server that is used for a SAS Web application
RemoteServices.bat.
wrapper.conf.
environment.properties
241
Multicast Properties
Property
Default Value
Unit
Description
multicast.address
239.X.Y.Z
Not applicable
multicast.port
8561
Not applicable
Property
Default Value
multicast_udp_ip_ 1
ttl
Unit
Description
Decimal. Specifies
how far a multicast
packet should be
forwarded from a
sending host.
0 is restricted to the
same host.
1 is restricted to the
same subnet.
32 is restricted to
the same site.
64 is restricted to
the same region.
128 is restricted to
the same continent.
255 is unrestricted.
multicast.security
Not applicable
Not applicable
require authentication
multicast.config.fil
e
Not applicable
By default, a JGroups
configuration is provided.
However, you can provide your
own configuration by specifying
the URL path to that
configuration. This option enables
you to specify a port range or
change from IP multicast to the
gossip router capabilities of
JGroups.
243
the security procedures at your site require protection among administrative and
operational staff in various roles
For these deployments, set a multicast authentication token value that is known only to
the appropriate personnel. A multicast authentication token is a password-like string that
is needed to connect to the multicast group and create a site-specific encryption key. In
a multi-tier configuration, the SAS Deployment Wizard displays a prompt for a multicast
authentication token on each tier that has an application participating in multicast
communication. The same authentication token value must be specified for each tier in
the same SAS deployment (each tier associated with the same metadata server).
The multicast authentication token has an interaction with the multicast.security
property. By default, clients that want to join a multicast group to receive messages are
required to provide an authentication token for the join request. (This is true whether a
custom token value is used or if the default token value that is built into the software is
used.) If you determine this process is causing an impact on performance, or that it is
unnecessary, you can disable the use of authentication tokens. If you set the
multicast.security property to NONE, encryption and authentication are disabled. If you
set the property to ENCRYPT, then encryption is enabled with no authentication of the
join request.
For UNIX and z/OS, add the option to the RemoteServices.sh file after the
SERVERUSER variable:
SERVERUSER=sas
MULTICAST_AUTHENTICATION_TOKEN="token"
export MULTICAST_AUTHENTICATION_TOKEN
3 For Windows, also add the JVM option to the wrapper.conf file. Add it to the end
Note: Do not use carriage returns or line feed characters when editing long lines.
4 Restart SAS Remote Services.
245
JAVA_OPTS variable:
set JAVA_OPTS=-DMULTICAST_AUTHENTICATION_TOKEN=token
-Xms256m -Xmx512 ...
3 Restart the Web application server.
file. Add the JVM option to the USER_MEM_ARGS variable for SASServer1:
if "%SERVER_NAME%" == "SASServer1" (
set USER_MEM_ARGS=-DMULTICAST_AUTHENTICATION_TOKEN=token
-Dsas.server.name=Server
2 Use the WebLogic Server administration console to access the Server Start tab for
SASServer1.
3 Add -DMULTICAST_AUTHENTICATION_TOKEN=token to the Arguments field.
4 Restart the Web application server.
application server.
2 Add -DMULTICAST_AUTHENTICATION_TOKEN=token to the Generic JVM
arguments field.
3 Restart the Web application server.
file.
2 Add a JavaArgs_nn entry that is similar to the following:
JavaArgs_13=-Dsas.app.launch.picklist=picklist;"help\primary.picklist"
JavaArgs_14=-DMULTICAST_AUTHENTICATION_TOKEN=token
Classpath=-cp "<VJRHOME>/eclipse/plugins/sas.launcher.jar"
247
application server. One indication of a mismatch is an error message that appears in the
Web application server log file. See the following example:
13:39:35,602 ERROR [ContextLoader] Context initialization failed
org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean
definition with name 'dashboardServices' defined in ServletContext resource
[/WEB-INF/spring-config/services-config.xml]: Could not resolve placeholder
'metadata.user'
ERROR [main]
ERROR [main]
cache.
ERROR [main]
ERROR [main]
ERROR [main]
ERROR [main]
****************************************************************
Required entry, '/sas/properties/environment', not found in the
Set the bind address for SAS Remote Services, the Web application server, and the
SAS BI Report Services Report Generation tool if the previous error message is seen.
JAVA_OPTS variable:
set JAVA_OPTS=-Djgroups.bind_addr=ip-address -Xms256m -Xmx512 ...
3 Restart the Web application server.
file. Add the JVM option to the USER_MEM_ARGS variable for SASServer1:
if "%SERVER_NAME%" == "SASServer1" (
set USER_MEM_ARGS=-Djgroups.bind_addr=ip-address -Dsas.server.name=Server
2 Use the WebLogic Server administration console to access the Server Start tab for
SASServer1.
3 Add -Djgroups.bind_addr=ip-address to the Arguments field.
4 Restart the Web application server.
249
application server.
2 Add -Djgroups.bind_addr=ip-address to the Generic JVM arguments field.
3 Restart the Web application server.
file.
2 Add a JavaArgs_nn entry that is similar to the following:
JavaArgs_13=-Dsas.app.launch.picklist=picklist;"help\primary.picklist"
JavaArgs_14=-Djgroups.bind_addr=ip-address
Classpath=-cp "<VJRHOME>/eclipse/plugins/sas.launcher.jar"
251
14
SAS Configuration Scripting Tools
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
Special Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
Scripting Tool for WebLogic Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
Building the WebLogic Server Domain on Another Machine . . . . 254
Rebuilding the WebLogic Server Configuration . . . . . . . . . . . . . . . . . . . 256
Executing a Batch Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
Executing a Single Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
Executing Commands Interactively . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
Properties Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
Scripting Tool for JBoss Application Server . . . . . . . . . . . . . . . . . . . . . . 276
Building the Server Configuration on Another Machine . . . . . . . . . . 276
Rebuilding the JBoss Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
Configuring a Single Resource (Preproduction) . . . . . . . . . . . . . . . . . . 279
Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
Properties Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
Scripting Tool for WebSphere Application Server . . . . . . . . . . . . . . . 290
Building the WebSphere Application Server Cell
on Another Machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
Rebuilding the WebSphere Application Server Configuration . . 292
Adding, Updating, and Upgrading SAS Software . . . . . . . . . . . . . . . . . 292
Executing an Alternative Batch Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
Executing a Single Task . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Overview
The configuration scripting tools enable administrators to perform the following tasks:
n
Create the Web application server configuration rather than following the
manual instructions. If the automatic configuration option was disabled in the SAS
Deployment Wizard, then the SAS Deployment Wizard provides an Instructions.html
file that describes the configuration steps to perform the Web application server
configuration. You can use the configuration scripting tools to perform these steps
automatically instead of manually.
Rebuild the Web application server configuration. The results are identical to
what is performed by the SAS Deployment Wizard and SAS Deployment Manager.
The SAS configuration scripting tools also enable an administrator to perform the
following additional tasks:
n
Edit property files that are associated with specific resources and then update the
resources with the configuration scripting tools.
Special Considerations
253
Use existing property files as templates for creating additional resources. For
example, an administrator can copy the definitions for SASServer1 to a new file and
then use it as a template to create a new server instance.
Special Considerations
n
If you are rebuilding or reconfiguring a Web application server, then make sure that
all the Web application servers are stopped. For deployments that use WebLogic
Server, also stop the administrative server and the nodemanager server. For
deployments that use WebSphere Application Server, stop all the applications in the
cell. This includes the deployment manager and the nodeagent server.
For reconfiguration tasks and adding servers, make sure that you avoid port number
conflicts.
The configuration scripting tools do have the ability to perform administration like
starting and stopping servers. However, the tools are not intended to replace the
administration utilities provided by the Web application server vendor or the start and
stop scripts provided by SAS.
If you encounter errors while configuring resources such as a JDBC data source, it is
possible to use the administrative console for WebSphere Application Server or
WebLogic Server to delete the resource, check the settings in your properties files,
and try the configuration again.
If you encounter errors while configuring JBoss, review the properties that are being
used by the tool and rerun the tool. The tool can be run many times without deleting
the configuration between runs, so long as JBoss is not running. If JBoss starts in
between runs, there can be locks on files that prevent subsequent runs from
succeeding.
on the machine where the SAS Deployment Wizard was run. The following
commands are examples for a Windows environment:
mkdir c:\SAS\Config\Lev1\Web\Staging
mkdir
mkdir
mkdir
mkdir
255
c:\SAS\Config\Lev1\Web\Scripts
c:\SAS\Config\Lev1\Web\Common
c:\SAS\Config\Lev1\Web\Temp
c:\SAS\Config\Lev1\AppData
Note: These directory paths must be archived from the machine where the SAS
Deployment Wizard was run. The archive must be transferred to the Web application
server machine.
2 Extract the archive into the directories that were created in the previous step.
3 Open the Scripts\Weblogic\props\global.properties file in a text editor.
Review the properties to make sure that values for the JDK path, WebLogic Server
installation path, host names, and ports are accurate.
4 Begin the configuration by running saswlst.cmd wlsct.commands.txt.
If the Cache Credentials check box was not selected on the Web Application
Server: Scripting Configuration page in the SAS Deployment Wizard then monitor
the progress because the tool prompts you for credentials. The following code is an
example:
16 Dec 2011 14:28:08,730 - CredentialsDialogPrep-processCredentials: Determine
if credentials need to be solicited for those resources that require
authentication...
*=*=*=*=*=*=*
After the configuration scripting tool runs and WebLogic Server is configured, some
additional tasks must be performed manually on the machine where the SAS
Deployment Wizard was run. (For a multiple-machine deployment, this is the machine
where the middle-tier configuration was performed.) These tasks are recorded in the
Instructions.html file that is generated by the SAS Deployment Wizard. Before you
perform those tasks, confirm or correct the JDK_HOME environment variable that is
identified in SAS-config-dir\Lev1\level_env.bat . For UNIX deployments, the
file is named level_env.sh. Open the file in an editor and make sure that the value for
JDK_HOME identifies the path to a JDK or JRE.
In the batch script file, the commands take the following form:
<operation> <resource_type> <resource_name>
The following example shows the commands for undeploying and redeploying the SAS
Web Application Themes:
undeploy application sas.themes.ear
deploy application sas.themes.ear
257
Executing a single command from the command line uses the same three parts for the
command syntax.
If you are creating a resource that requires credentials, such as a data source,
remember to create property keys in the credentials.properties file.
The command syntax and operations can be found by entering help at the interactive
command prompt. The following display shows the results of the help command:
saswls operation resource_type resource_name [additional_options]
additional options that can appear anywhere on the command line to launch
the script:
credentials=file_name
promptMode=TEXT|GRAPHIC
valid resource types (supported operations):
application
connectionfactory
dataSource
domain
Properties Reference
Global Properties
Property files are used by the configuration scripting tool to configure the middle-tier
environment. These properties are found in SAS-config-dir/Lev1/Web/Scripts/
Weblogic/props. Each of the properties are described in the following list:
SASDomainName
is the name of the WebLogic Server domain that is used for the SAS Web
applications. This property is not used by the configuration scripting tool. This
property is used by SAS Deployment Wizard to generate documentation only.
SASWlstScriptHome
identifies the fully qualified path to the configuration scripting tool directory.
adminHost
is the host name of the administration server for this domain.
259
adminJvmOptions
is the list of JVM options for the administration server.
adminPort
is the port number that the administration server listens on.
adminSSLPort
is the port number for SSL communication with the administration server. This value
can be set in the properties file, but the configuration scripting tool do not support
configuring servers with SSL.
adminServerName
is the name of the administration server. This property is not currently used by the
configuration scripting tool. The name is always AdminServer.
adminServiceName
is the Windows service name for the administration server. This property is used to
generate the scripts that install Windows services.
adminUrl
is the URL that is used by the wlst command to connect to the administration
server.
applicationStagingDir
is the fully qualified path to the staging directory for the SAS Web applications. This
property is not used by the configuration scripting tool. This property is used to
generate documentation only.
autoConfigure
is a Boolean value. If set to false, then manual configuration is requested and the
SAS Deployment Wizard creates a sample domain and configures servers in off-line
mode only. All configuration steps that are run outside of SAS Deployment Wizard
and SAS Deployment Manager are automated regardless of this setting.
autoDeploy
is a Boolean value. If set to false, then the SAS Deployment Wizard does not
deploy the SAS Web applications. This property is not used by the configuration
scripting tool. This property is used by SAS Deployment Wizard to generate
documentation.
backupBinDir
identifies the fully qualified path to a directory that is used to save previous versions
of the scripts in the domain/bin directory.
bitwidthOption
is used to set the -d64 JVM option for machines that need this JVM option. This
property is used in the commEnvSAS.sh script.
configureJMSSecurity
is used by SAS Deployment Wizard to generate documentation only.
domainChanges
is used to generate a report of configuration changes in the instructions that are
generated by SAS Deployment Wizard or SAS Deployment Manager. It is not used
by the configuration scripting tool.
domainDir
identifies the fully qualified path to the domain to configure.
host
is the host name for this machine.
isAdminHost
is a Boolean value. If the administration server is installed on this machine, then set
this value to true.
javaHome
set this property to the same value as the JAVA_HOME environment variable. The
property is inherited by the managed servers and tool that are launched by the
configuration scripting tool.
javaVendor
identifies the Java vendor. Values include Sun, Oracle, IBM, BEA, and HP. The
values are case sensitive.
jdkBugWorkaround
is set to a JVM option that is required by most recent JDKs. Do not modify this
property.
261
loginModuleFile
identifies the path of the JAAS loginModuleFile that is set as a JVM option for
WebLogic managed servers.
midtierMulticastIpJavaOptions
is a list of JVM options that configure multicast communications with the SAS
Remote Services application. These values must match the values used by the SAS
Remote Services application.
minimumUlimit
is the minimum acceptable unlimit setting for file descriptors on UNIX machines. The
create domain operation fails if a lower setting is detected.
mwHomeDir
identifies the Oracle middleware home directory (MW_HOME). This is typically the
parent directory of the WebLogic Server installation directory, but the WebLogic
Server installers permit installing WebLogic Server in a different location.
nodeManagerPort
is the port number that the nodemanager server for this domain is listening on.
osLinuxVendor
is set to a valid Linux vendor name. Values are redhat or SuSE. The values are
case sensitive. On other operating systems, the value is set to UNKNOWN. This value
is used in the commEnvSAS.sh script.
osLinuxVersion
identifies the Linux operating system version number. On other operating systems,
the value is set to UNKNOWN.
osType
identifies the operating system type. Values are win or unx. The values are case
sensitive.
pythonCachedirOption
identifies the location of the Python cache. This value is passed to the wlst
command line.
rcFileName
identifies the fully qualified path to a file that is used by wlst commands to return
values in properties and return code status.
returnCodeProperties
identifies the fully qualified path to the return code properties file that maps return
code keys to numeric values. Do not change this property.
startScript
identifies the fully qualified path to the domain setup script. This file is named
setDomainEnv.cmd or setDomainEnv.sh.
templateDirectoryName
identifies the fully qualified path to the directory that contains the velocity templates.
The templates are used to create scripts in the domain/bin directory.
webappsrvScriptingCacheCredentials
is a Boolean value. If set to true, then credential values are cached in the
credentials.properties file. If set to false, then values are purged from
credentials.properties when the configuration scripting tool exits.
webauthIsComment
is set to the string or character that is used as a comment. Several lines are included
in commEnvSAS.cmd or commEnvSAS.sh for the support of Web authentication.
These lines are commented out unless you have manually modified the SAS
deployment to support Web authentication. If Web authentication is configured, then
this property contains an empty value.
weblogicBarName
is a string that is used to create the name of the Windows services in
installNodeMgrSvc.cmd and uninstallNodeMgrSvc.cmd.
weblogicHome
identifies the fully qualified path to the WebLogic Server installation. The WL_HOME
environment variable is set to this value in generated scripts.
263
weblogicInstalled
is a Boolean value. Set to true to indicate that WebLogic Server is installed on the
machine that is used for the SAS middle tier. This value is used to generate
documentation and is not used by the configuration scripting tool.
weblogicNodeManagerServiceName
is the Windows service name for the nodemanager server.
weblogicProdName
is the WebLogic product name that is used as part of the Windows service name for
the nodemanager server.
weblogicReconfigured
is a Boolean value. This property is set to true if the last SAS Deployment Wizard
run was a reconfiguration. This property is used to generate documentation only and
is not used by the configuration scripting tool.
weblogicSelectedVersion
is used by SAS Deployment Wizard to generate documentation only. It is not used
by the configuration scripting tool.
Credential Properties
All properties that are related to credentials are stored in the credentials.properties file.
The tool prompts you for these properties. This properties file does not need to be
edited directly. These values are cleared from the file after the tool completes if the
global property webappsrvScriptingCacheCredentials is set to false. When
stored, these values are stored in SAS base-64 encoding, not clear-text. If you chose to
store passwords in this file, then they are updated when you use the Update passwords
feature of the SAS Deployment Manager.
datasource.create_resource_passwd
is the data source user password.
datasource.create_resource_userid
is the data source user name.
domain.create_WeblogicAdmin_passwd
is the WebLogic Server administrator password.
domain.create_WeblogicAdmin_userid
is the WebLogic Server administrator user.
domain.createloginmodule_SASTrust_passwd
is the SAS Trusted User password.
domain.createloginmodule_SASTrust_userid
is the SAS Trusted User. This identity is used to configure the JAAS login module.
mailsession.create_SASMailSession_passwd
is the mail session user password.
mailsession.create_SASMailSession_userid
is the mail session user ID. This credential is used only if the mailsession property
mailsrvRequiresAuthentication is set to true.
user.create_resource_passwd
is the WebLogic Server user's password.
user.create_resource_userid
is the WebLogic Server default realm user ID.
Resource Properties
Each property file governs the configuration of a specific resource. The next section lists
and describes a group of properties that are common to many resources. The
subsequent sections identify properties that are specific to each resource type.
265
thisOperation
is a field that is used internally by SAS Deployment Wizard and SAS Deployment
Manager to manage resource files. It is not used by the configuration scripting tool.
thisTarget
is a field that is used internally by SAS Deployment Wizard and SAS Deployment
Manager to manage resource files. It is not used by the configuration scripting tool.
Application Properties
These resources represent applications deployed in a WebLogic Server domain. The
properties files are named in the pattern
application.application_name.properties. For information about how these
properties control WebLogic Server configuration, see the online Help in the WebLogic
Administration Console. More information is available in the WebLogic Server
documentation on the Oracle Web site. The WebLogic Server 10.3.3 documentation for
this resource is available at http://download.oracle.com/docs/cd/E14571_01/apirefs.
1111/e13952/taskhelp/applications/DeployEnterpriseApplications.html.
applicationName
is the name of the SAS Web application.
applicationPath
identifies the fully qualified path to the application archive file or directory.
compileMaxMemory
is the -Xmx option used on the weblogic.appc command line when compiling a
Web application.
docApplicationName
is the name of the application that is used in documentation. This property is used by
SAS Deployment Wizard to generate documentation. It is not used by the
configuration scripting tool.
loadOrder
is the application load order.
267
jdbcDriverJarDir
identifies the fully qualified path for the directory where the JDBC driver JAR files are
copied and used by the configuration.
jndiName
is the data source JNDI name. This name is configured in application configuration
files and should not be changed without corresponding changes to the applications
that use this datasource.
keepLogicalConnOpenOnRelease
is a Boolean value. If set to true, then it enables WebLogic Server to keep the
logical JDBC connection open for a global transaction when the physical XA
connection is returned to the connection pool.
keepXaConnTillTxComplete
is a Boolean value. If set to true, then it enables WebLogic Server to keep the
logical JDBC connection open for a global transaction when the physical XA
connection is returned to the connection pool. SAS applications might depend on
particular JDBC transaction settings. Do not change this property.
loginDelaySeconds
is the number of seconds to delay before creating each physical database
connection. This delay supports database servers that cannot handle multiple
connection requests in rapid succession.
maxCapacity
is the maximum number of physical connections that this connection pool can
contain.
needTxCtxOnClose
is a Boolean value. If set to true, it specifies whether the XA driver requires a
distributed transaction context when closing various JDBC objects (result sets,
statements, connections, and so on). This property applies only to connection pools
that use an XA driver. SAS applications might depend on particular JDBC
transaction settings. Do not change this property.
options
is a list of properties that are passed to the JDBC driver. The options are used to
create physical database connections.
shrinkFrequencySeconds
is the number of seconds to wait before shrinking a connection pool that has
incrementally increased to meet demand.
testConnectionsOnReserve
is a Boolean value. If set to true , then WebLogic Server can test a connection
before giving it to a client. (This feature requires that you specify a value for
testTableName.)
testTableName
is the name of the database table to use when testing physical database
connections. This name is required when you specify a Test Frequency and enable
Test Reserved Connections.
xaEndOnlyOnce
is a Boolean value. If set to true, then it specifies that XAResource.end() is called
only once for each pending XAResource.start(). This option prevents the XA driver
from calling XAResource.end(TMSUSPEND) and XAResource.end(TMSUCCESS)
successively. This property applies to data sources that use an XA driver only. SAS
applications might depend on particular JDBC transaction settings. Do not change
this property.
Domain Properties
Most domain configuration properties are defined in global.properties. The file
domain.domainName.properties contains properties needed exclusively to create
a new domain and is not required by operations on other resources.
domainTemplatePath
identifies the fully qualified path to the template JAR file that is used to create the
domain.
269
jdbcDriverJarDir
identifies the fully qualified path for the directory where the JDBC driver JAR files are
copied and used by the configuration.
jdbcProvider
is a name that is used to keep track of the JAR files related to this JDBC driver by a
particular application. This name must be unique in a WebLogic Server domain.
271
resourceType
is the type of JMS resource to be configured. Supported values are
ConnectionFactory, Queue, and Topic.
subdeploymentName
is the name of the subdeployment with which this resource is associated.
273
loginModuleCode
is the fully qualified class name for the login module.
loginModuleFlag
is one of the following values: required, requisite, sufficient, optional.
For more information, see http://download.oracle.com/javase/6/docs/api/javax/
security/auth/login/Configuration.html.
port
is the port number that the SAS Metadata Server is listening on for new connections.
repository
is the name of the repository that is set as the default repository. For the primary
authentication, the typical value is Foundation.
mailSessionJNDIName
is the JNDI name for the mail session. This name is configured in application
configuration files and should not be changed without corresponding changes to the
applications that use this mail session.
mailSessionName
is the name of the mail session resource.
mailSessionSMTPHost
is the host name of SMTP server for the mail session.
mailsrvRequiresAuthentication
is a Boolean value. Set to true if credentials are required to access this mail server.
Policy Properties
These resources represent a WebLogic default realm policy that is configured in a
WebLogic domain. The properties files are named in the pattern
policy.policyname.properties. For information about how these properties
control WebLogic Server configuration, see the online Help in the WebLogic
Administration Console. More information is available in the WebLogic Server
documentation on the Oracle Web site. The WebLogic Server 10.3.3 documentation for
this resource is available at http://download.oracle.com/docs/cd/E14571_01/apirefs.
1111/e13952/taskhelp/security/UseRolesAndPoliciesToSecureResources.html.
policyExpression
is the policy expression to set for the resource.
policyName
is the policy name. This property is set but is not used.
securedResource
is the resource ID.
Server Properties
Server resources are stored in properties files that are named in the pattern
server.servername.properties. For information about how these properties
control WebLogic Server configuration, see the online Help in the WebLogic
Administration Console. More information is available in the WebLogic Server
275
documentation on the Oracle Web site. The WebLogic Server 10.3.3 documentation for
this resource is available at http://download.oracle.com/docs/cd/E14571_01/apirefs.
1111/e13952/taskhelp/domainconfig/CreateManagedServers.html.
JDKOptions
is a list of JVM options for this server.
cmdLineChanges
is a list of command line changes. This property is used by SAS Deployment Wizard
to produce documentation. It is not used by the configuration scripting tool.
cmdLineScriptChanges
is a list of command line script changes. This property is used by SAS Deployment
Wizard to produce documentation. It is not used by the configuration scripting tool.
javaPolicySettings
is a list of JVM options to use when a Java security manager is used. This option is
not currently supported with WebLogic Server, and this property is ignored.
listenPort
is the port number that this server uses for HTTP connections.
managedServerName
is the name of the managed server.
scriptJDKOptions
is a list of JVM options for this server. This property is used by velocity templates to
create the setDomainEnv.cmd and setDomainEnv.sh scripts. The value is usually
identical to JDKOptions.
serverChanges
is used by SAS Deployment Wizard to produce documentation. It is not used by the
configuration scripting tool.
serviceName
is the Windows service name. This value is used to create a Windows service for the
server.
sslListenPort
is the port number that this server uses for SSL connections. The configuration
scripting tool does not currently support SSL configuration.
startScript
is the location of the domain setup script, setDomainEnv.cmd.
User Properties
These resources represent WebLogic Server users in the default realm. The properties
files are named in the pattern user.servername.properties. The credentials are
stored in the credentials.properties file. For information about how these properties
control WebLogic Server configuration, see the online Help in the WebLogic
Administration Console. More information is available in the WebLogic Server
documentation on the Oracle Web site. The WebLogic Server 10.3.3 documentation for
this resource is available at http://download.oracle.com/docs/cd/E14571_01/apirefs.
1111/e13952/taskhelp/security/DefineUsers.html.
description
is a description of the user.
277
on the machine where the SAS Deployment Wizard was run. The following
commands are examples for a Windows environment:
mkdir
mkdir
mkdir
mkdir
c:\SAS\Config\Lev1\Web\Staging
c:\SAS\Config\Lev1\Web\Scripts
c:\SAS\Config\Lev1\Web\Common
c:\SAS\Config\Lev1\AppData
Note: These directory paths must be archived from the machine where the SAS
Deployment Wizard was run. The archive must be transferred to the Web application
server machine.
2 Extract the archive into the directories that were created in the previous step.
3 Open the Scripts\JBoss\jbossScripting.properties file in a text editor.
Review the following properties to make sure that values for the JDK and JBoss
installation directory are accurate:
n
config.appserver.version
config.host.type.win
config.jboss.install.dir
config.jdk.install.dir
config.lev.dir
If the Cache Credentials check box was not selected on the Web Application
Server: Scripting Configuration page in the SAS Deployment Wizard, monitor the
progress because the tool prompts you for credentials. The following code is an
example:
...
configJBoss:
configJBoss:
configJBoss:
configJBoss:
configJBoss:
Enter Password
LoginModule=com.sas.services.security.login.OMILoginModule
trusteduser=sastrust@saspw
Password=
After the script completes, JBoss is configured with all the resources that are needed for
the SAS Web applications. All the applications are deployed. The servers are not
started automatically.
After the configuration scripting tool runs and JBoss is configured, some additional tasks
must be performed manually on the machine where the SAS Deployment Wizard was
run. (For a multiple-machine deployment, this is the machine where the middle-tier
configuration was performed.) These tasks are recorded in the Instructions.html file that
is generated by the SAS Deployment Wizard. Before you perform those tasks, confirm
or correct the JDK_HOME environment variable that is identified in SAS-config-dir
\Lev1\level_env.bat. For UNIX deployments, the file is named level_env.sh. Open
the file in an editor and make sure that the value for JDK_HOME identifies the path to a
JDK or JRE.
279
This example uses the default properties file, jbossScripting.properties. The properties
file must include the configuration settings for the property key server1. If you are
creating a resource that requires credentials, such as a data source, remember to
create property keys in the jbossScripting.properties file.
Command Syntax
Optional Arguments
The jbossScripting.bat command has optional arguments:
jbossScripting.bat [propertiesFile] [resourceType] [-n resourceName]
propertiesFile
If you want to use the default properties file, jbossScripting.properties, then you do
not need to provide this command argument. If you want to use a different properties
file, then provide the fully qualified path to the properties file. It must be the first
command argument.
resourceType
If you want to configure one type of resource only, then provide the command line
option for that resource type. For example, to configure applications only, use the -a
command line option. For the resource types, see the following table.
-n resourceName
If you are configuring one type of resource only, you can also choose to configure a
single instance of that resource too. For example, to configure SASServer2 only, use
the -s -n server2 command line options to configure only the named server,
SASServer2. The mapping between the property key (server2) and the server
instance name (SASServer2) is performed in the jbossScripting.properties file.
Short Option
Name
Description
--unconfigure
-a
--applications
-c
--connectionFactories
-d
--datasources
-e
--externalContexts
-h
--help
-l
--loginmodules
-m
--mailsessions
-n
--resource-name
Short Option
Name
Description
-q
--queues
-s
--servers
-t
--topics
Properties Reference
Common Properties
The following properties are common to a number of resource types.
config.jboss.install.dir
is the fully qualified path to JBoss.
config.jdk.install.dir
is the fully qualified path to the JDK.
config.jboss.bind.host
is a string that represents bind host for JBoss. The default value is -b 0.0.0.0.
config.host.type
is either win or unx.
config.tanuki.wrapper.dir
is the fully qualified path of the Tanuki service wrapper for deployments that use
Windows.
config.appserver.version
is a string that represents the JBoss version.
config.java.version
is a string that represents the JDK version.
config.lev.dir
is the fully qualified path to the SAS-config-dir/Levn directory.
281
config.loglevel
identifies the logging level. Values are DEBUG or INFO.
config.type
is either auto or manual. This value identifies whether the Web application server
was configured automatically by the SAS Deployment Wizard or configured
manually.
Server Properties
The resources are stored in the pattern server.servern.property
server
is a space-separated list of server instances (for example, server1 server2 server3,
and so on). This property is used by the configuration scripting tool to determine the
servers instance to configure.
server.servern.name
is the name of the server configuration such as SASServer1, SASServer2, and so
on.
server.servern.options
is a semicolon-separated list of JVM options for server instance n. Escape colon and
equal sign characters with a backslash (\).
server.servern.portIncrement
is an integer value that identifies the increment to add to the default set of port
numbers such as 0, 100, 200, 300, and so on.
TIP Do not set this property to a number other than zero and also set the other
port number-related properties to unique values. Either use this property to set an
offset from the default port numbers, or set this property to zero and set each of
the other port-related properties to the values that you want.
server.servern.source
identifies the template to use when creating server instance n (for example, default,
standard, all, and so on).
283
server.servern.transaction
indicates whether local or distributed transactions are configured. Use JTA to
indicate local transactions and JTS to indicate distributed transactions.
server.servern.jmssecurity
is a Boolean value that indicates whether JMS security needs to be configured. If set
to true, then passwords are used on JMS calls.
server.servern.all.policy.file
is the fully qualified path to a Java policy file. SAS recommends using a policy file
that has no restrictions.
server.servern.restrictive.policy.file
is the fully qualified path to a Java policy file with preset restrictions.
server.servern.port.webserverHttp
identifies the port to use for HTTP communication. The default value is 8080.
server.servern.port.webserverHttps
identifies the port to use for HTTPS communication. The default value is 8443.
server.servern.port.jndi
identifies the port to use for the JNDI naming server. The default value is 1099.
server.servern.port.rmi
identifies the port to use for RMI communication. The default value is 1098.
server.servern.service.dependency
is a string that is used to create a Windows Service dependency.
Application Properties
These properties represent the applications that are deployed in a JBoss server. The
resources are stored in the pattern application.applicationn.property.
application
is a space-separated list of application instances such as application1 application2
application3, and so on. This property is used by the configuration scripting tool to
determine the application instances to configure.
application.applicationn.appname
is the name of application instance n.
application.applicationn.deploymentdir
identifies the directory where the application is deployed
application.applicationn.pathtoear
is the fully qualified path to the EAR file for the application.
application.applicationn.explode
is a Boolean value. If set to true, then the EAR and WAR files contents are
extracted in the deployment directory.
application.applicationn.servername
identifies the name of the server configuration where the application is deployed,
such as SASServer1, SASServer2, and so on. Do not supply more than one value
for servername.
Credential Properties
All properties defining credentials are stored in the jbossScriptingCredentials.properties
file. The tool prompts you for these properties. This properties file does not need to be
edited directly. These values are cleared after the tool completes if the global property
webappsrvScriptingCacheCredentials is set to false. When stored, they are stored in
SAS base-64 encoding, not clear-text. If the option to cache credentials was enabled
when the SAS Deployment Wizard was run, then the credentials are updated when the
Update passwords feature of the SAS Deployment Wizard is used.
server.servern.jmssecurity.user
is a string that identifies the jmssecurity user ID.
server.servern.jmssecurity.password
is an encoded string that identifies the jmssecurity password.
server.servern.jmssecurity.encoding
is a Boolean value. Use this property to indicate whether the password needs to
remain encoded when used.
285
datasource.datasourcen.user
is the user ID that is passed to the datasource driver. This property is not used if a
security-domain is used as an option for the datasource.datasourcen.options
property.
datasource.datasourcen.password
is the password that is passed to the datasource driver. This property is not used if a
security-domain is used as an option for the datasource.datasourcen.options
property.
datasource.datasourcen.servername
is the name of the server configuration where the datasource is configured, such as
SASServer1, SASServer2, and so on. Do not supply more than one value for
servername.
datasource.datasourcen.xa
is a Boolean value. If set to true, then an xa-datasource-property is added as a
datasource property. If set to any other value, then a connection-property is added
as a datasource option. The default action is to add connection-property as the
datasource option.
datasource.datasourcen.options
is a comma-separated list of options for the datasource.
287
externalcontext.externalcontextn.servername
is the name of the server configuration where the externalcontext is configured, such
as SASServer1, SASServer2, and so on. Do not supply more than one value for
servername.
queue.queuen.servername
is the name of the server configuration where the queue is configured, such as
SASServer1, SASServer2, and so on. Do not supply more than one value for
servername.
289
loginmodule.loginmodulen.flag
is the flag for loginmodulen. Values include required, requisite, sufficient,
and optional.
loginmodule.loginmodulen.options
is a comma-separated list of options for the loginmodule. Escape equal sign
characters with a backslash (\).
loginmodule.loginmodulen.deleted
is a Boolean value that determines whether this entry needs to be deleted from the
login_config.xml file.
loginmodule.loginmodulen.servername
is the name of the server configuration where the loginmodule is configured, such as
SASServer1, SASServer2, and so on. Do not supply more than one value for
servername.
on the machine where the SAS Deployment Wizard was run. The following
commands are examples for a Windows environment:
mkdir c:\SAS\Config\Lev1\Web\Staging
mkdir c:\SAS\Config\Lev1\Web\Scripts
291
mkdir c:\SAS\Config\Lev1\Web\Common
mkdir c:\SAS\Config\Lev1\AppData
Note: These directory paths must be archived from the machine where the SAS
Deployment Wizard was run. The archive must be transferred to the Web application
server machine.
2 Extract the archive into the directories that were created in the previous step.
3 Open the Scripts\WebSphere\props\global.properties file in a text editor.
Review the properties to make sure that values for the JDK path, WebSphere
Application Server installation path, host names, and ports are accurate.
4 Begin the configuration by running Scripts\WASDriver.bat.
If the Cache Credentials check box was not selected on the Web Application
Server: Scripting Configuration page in the SAS Deployment Wizard, monitor the
progress because the tool prompts you for credentials. The following code is an
example:
[12/19/11 12:28:28:181 EST] - WASDriver-prepareTask: Task(s) to be
executed indicate operations on resourceType(s) require userIds and passwords
for authentication...
*=*=*=*=*=*=*
When the configuration scripting tool is used to create the WebSphere Application
Server cell, after the script completes, the environment is configured with all the
resources that are needed for the SAS Web applications. The configuration scripting
tool deploys the applications, but it does not start the servers.
After the configuration scripting tool runs and WebSphere Application Server is
configured, some additional tasks must be performed manually on the machine where
the SAS Deployment Wizard was run. (For a multiple-machine deployment, this is the
machine where the middle-tier configuration was performed.) These tasks are recorded
in the Instructions.html file that is generated by the SAS Deployment Wizard. Before you
perform those tasks, confirm or correct the JDK_HOME environment variable that is
293
TIP Put the commands file in the tasks directory. The WASDriver.bat file does
not accept the fully qualified pathname to the commands file. It accepts the name
of the commands file that must be in the tasks directory.
2 Invoke the command with the following command line options:
WASDriver.bat -e FILE -m AUTO -t cmds.txt
If you are creating a resource that requires credentials, such as a data source,
remember to create property keys in the Credentials.CELL.credentials.properties file.
Before this operation can run and succeed, a properties file that is named
Application.SERVER.SASThemes9.3.properties must exist. This properties file is used
by the configuration scripting tool to determine how to undeploy the application.
TIP The case for the resource type (-r), name (-n), and scope (-s) matter. These
arguments are used to locate properties files in the props directory as well as to look
up keys within the properties files.
Command Syntax
Four Parts of the Command Syntax
The command syntax in a task file has four parts:
<operation> <resourceType> <resourceName> <scope>
The following example shows the commands for creating a deployment manager profile
and a node profile:
create DmgrProfile SASDmgr01 CELL
Executing a single task uses the same four parts for the command syntax. However,
variables are used to indicate the operation, resource type, and so on.
Command Options
The command options for the WASDriver.bat file are provided in the following table:
Table 14.2
Short
Option
Name
Full Option
Name
Requir
ed
Values
Description
-h
-help
No
None
-e
-execType
Yes
FILE or RUN
-m
-execMode
Yes
AUTO or NOAUTO
-d
-directory
Yes
295
Short
Option
Name
Full Option
Name
Requir
ed
-t
-taskFile
No
-o
-operation
No
-r
-resourceType
No
-n
-resourceName
No
SASServer1,
SAS_Messaging_
Bus, and so on
-s
-scope
No
SERVER, NODE, or
CELL
-p
-promptMode
No
TEXT or GRAPHIC
Values
Description
Provide the name of the
task file to use when the
execution mode is FILE.
The default value is
websphere.configuration.t
asks.
Resource Types
The following table provides a list of resource types and identifies the operations and
scope that apply to the resource type.
Table 14.3
Resource Type
Operations
Scopes
ActivationSpec
create, delete
Application
deploy, undeploy
SERVER
DataSource
create, delete
DmgrProfile
create
CELL
JDBCProvider
create, delete
SERVER
JmsConnectionFactory
create, delete
JmsQueue
create, delete
JmsTopic
create, delete
LoginModule
create, delete
CELL
MailSession
create, delete
NodeProfile
create
NODE
ObjectCache
create, delete
Server
create, delete
SERVER
SIBus
create, delete
SERVER
297
Note: Many properties, such as the Web application server port number, are also
stored in the SAS Metadata Server. The configuration scripting tool does not modify
values in SAS metadata. Be careful that you do not create an inconsistency with SAS
metadata.
Managing Credentials
Credentials are required to configure resources within a CELL, NODE, or SERVER. The
following list identifies some of the credentials that might be needed:
n
the SAS trusted user password for SAS Web applications that connect to SAS
servers
By default, the SAS Deployment Wizard does not persist any of these credentials.
When you run the configuration scripting tool, you are prompted for all credentials that
are required to configure the resources. The credentials are temporarily stored in the
Credentials.CELL.credentials.properties file. The credentials are removed from the file
when the configuration scripting tool exits unless you enabled the Cache Credentials
check box on the Web Application Server: Scripting Configuration page in the SAS
Deployment Wizard. By default, prompts appear on the command line as each
credential is needed. An option is available to display a dialog box that prompts for
credentials. To display the dialog box for credential prompts, add the following
command option to the WASDriver.bat script:
-p GRAPHIC
If the option to cache credentials was enabled when the SAS Deployment Wizard was
run, then the credentials are stored in the Credentials.CELL.credentials.properties file.
In this case, the configuration scripting tool reads the credentials from the file rather
than prompting for them. When the Update passwords feature of the SAS Deployment
Manager is used, the passwords for the login modules and mail sessions are updated in
the credentials file. Passwords for data source definitions are not updated.
Log File
Details for the command execution are stored in the SAS-config-dir\Lev1\Web
\Scripts\WebSphere\logs\WASDriver.log file. The SAS Deployment Wizard
invokes the configuration scripting tool, so this already contains messages for an
installed system. This file can be useful for troubleshooting middle-tier configuration
tasks performed with the SAS Deployment Wizard and the SAS Deployment Manager.
Properties Reference
Modifying Properties
n
Be careful when editing properties files. If you make a change to a property in one
file, be sure to apply the same change to all occurrences of the property in all
properties files.
Do not change the value of properties that are not identified in this document. Some
undocumented properties are used for the creation of the Instructions.html file.
An asterisk ( *) beside the property name indicates that the property value is stored in
SAS metadata. If you change the property, then you create a difference with the
information that is stored in SAS metadata.
Global Properties
The following list defines the properties that are used in the websphere.global.properties
file.
appsrvnodename *
is the name of the node that contains the WebSphere Application Servers.
299
appsrvnodermiport *
is the RMI port number for the WebSphere Application Server node agent.
appsrvnodesoapport *
is the SOAP port number for the WebSphere Application Server node agent.
cellname *
is the name of the WebSphere Application Server cell.
config.lev.web.staging.dir *
identifies the fully qualified path to the SAS Web application EAR files. This path is
SAS-configdir/Lev1/Web/Staging.
defaultsibusname *
is the name for the service integration bus. The default value is
SAS_Messaging_Bus.
dmgrhttpport *
identifies the port to use for HTTP communication with the deployment manager
server. The default value is 9060.
dmgrhttpsport *
identifies the port to use for HTTPS communication with the deployment manager
server. The default value is 9043.
dmgrnodename *
is the name of the node that contains the deployment manager server. The default
value is SASDmgr01Node.
dmgrport *
identifies the port to use for communication with the deployment manager server.
The default value is 9060.
dmgrprofilename *
identifies the profile name for the deployment manager server. The default value is
SASDmgr01.
dmgrprotocol *
identifies the default protocol to use for communication with the deployment
manager server. Values are SOAP or RMI. The default value is SOAP.
dmgrrmiport *
identifies the RMI port number for the deployment manager server. The default value
is 9809.
dmgrrmiprops *
identifies the fully qualified path to the sas.client.props file in the deployment
manager profile. This file is used to set the RMI properties for the deployment
manager server.
dmgrrmitimeout *
is the time-out value in seconds for RMI communication from the deployment
manager server to the node agent. The default value is 900.
dmgrsoapport *
identifies the port to use for SOAP communication with the deployment manager
server. The default value is 8879.
dmgrsoapprops *
identifies the fully qualified path to the soap.client.props file in the deployment
manager profile. This file is used to set the SOAP properties for the deployment
manager server.
dmgrsoaptimeout *
is the time-out value in seconds for SOAP communication from the deployment
manager server to the node agent. The default value is 900.
globalPropsFileName
identifies the fully qualified path to the websphere.global.properties file.
mustCreateDmgrProfile
is a Boolean value. If set to true, then the configuration scripting tool creates the
deployment manager profile.
nodermiprops *
identifies the fully qualified path to the sas.client.props file in the node profile. This
file is used to set the RMI properties for the node.
nodesoapprops *
identifies the fully qualified path to the soap.client.props file in the node profile. This
file is used to set the SOAP properties for the node.
301
os.localhost.host.name *
is the short host name for the machine where the configuration scripting tool runs.
profilename *
is the profile name for the node.
scriptingDirectory
identifies the fully qualified path to the configuration scripting tool for WebSphere
Application Server.
webapp.auto_deploy *
is a Boolean value. If set to true, then the SAS Web applications are automatically
deployed to WebSphere Application Server. If set to false, then you must deploy
the SAS Web applications manually.
webappsrv.admin.host *
is the fully qualified domain name for the machine that is running the WebSphere
Application Server administration server.
webappsrv.admin.security.is_enabled *
is a Boolean value. If set to true, then WebSphere Application Server
administration security is enabled for the cell.
webappsrv.admin.url *
is the URL for the WebSphere Application Server administration console.
webappsrv.auto_configure *
is a Boolean value. If set to true, then the configuration scripting tool performs an
automatic configuration of an application server instance. If set to false, then you
must configure the application server instance manually.
webappsrv.host *
is the fully qualified domain name of the machine to configure with the configuration
scripting tool.
webappsrv.policy.use_restrictive *
is a Boolean value. If set to true, then Java 2 security is enabled for application
deployments.
webappsrv.scripting.cache_credentials *
is a Boolean value. If set to true, then the credentials that are required for
configuring resources are saved in a file.
webappsrv.server.admin.http.port *
identifies the port to use for HTTP communication with the deployment manager
server. The default value is 9060.
webappsrv.server.admin.https.port *
identifies the port to use for HTTPS communication with the deployment manager
server. The default value is 9043.
websphere.appsrv.logs *
identifies the fully qualified path to the directory for WebSphere Application Server
logs.
websphere.dmgr.logs *
identifies the fully qualified path to the directory for the deployment manager server
logs.
websphere.install.dir *
identifies the fully qualified path to the directory where WebSphere Application
Server is installed. Set this property to the same value that is used for the
WAS_INSTALL_ROOT variable.
websphere.profile.dir *
identifies the fully qualified path to the directory where the WebSphere Application
Server profiles are stored.
websphere.scripting.classpath
is the class path to use for the configuration scripting tool.
websphere.scripting.credentials
identifies the fully qualified path to the file that contains the credentials (user IDs and
passwords) that are required to configure resources.
websphere.scripting.dir
identifies the fully qualified path to the configuration scripting tool for WebSphere
Application Server.
303
websphere.scripting.jython
identifies the fully qualified path to the directory for the Jython procedures.
websphere.scripting.lib
identifies the fully qualified path for directory that contains the JAR file for the
configuration scripting tool.
websphere.scripting.logs
identifies the fully qualified path to the directory for the configuration scripting tool
logs.
websphere.scripting.props
identifies the fully qualified path to the directory for the configuration scripting tool
properties files.
websphere.scripting.scripts
identifies the fully qualified path to the directory for the configuration scripting tool,
WASDriver.sh or WASDriver.bat.
websphere.scripting.src
identifies the fully qualified path to the directory for the configuration scripting tool
Groovy source modules.
websphere.scripting.tasks
identifies the fully qualified path to the configuration scripting tool tasks directory.
websphere.scripting.tasks.file
identifies the fully qualified path to the configuration scripting tool tasks file.
websphere.temp.dir *
identifies the fully qualified path to the temporary directory for the configuration
scripting tool.
websphere.wsadmin.classpath
is the class path to use for the WebSphere Application Server wsadmin client
application.
websphere.wsadmin.jython
identifies the fully qualified path to the directory for the WebSphere Application
Server wsadmin client application Jython procedures.
webspherend.is_installed *
is a Boolean value. Set to true if WebSphere Application Server is installed on this
machine. Set to false, if it is installed on a remote machine.
wsadminProps
is a string that identifies common command-line options that are used to run the
wsadmin client application.
Credentials Properties
The following list defines the properties that are used in the
Credentials.CELL.credentials.properties file.
DataSource.create_scope_resource-identifier_passwd
is the data source user password.
DataSource.create_scope_resource-identifier_userid
is the data source user ID.
LoginModule.create_CELL_SAS-Trusted-user_passwd
is the password for the SAS trusted user identity. It is used for creating the JAAS
login module.
LoginModule.create_CELL_SAS-Trusted-user_userid
is the user ID for the SAS trusted user identity. It is used for creating the JAAS login
module.
MailSession.create_scope_SMTP-Mail-Server_passwd
is password for the user ID that is used to communicate with the SMTP mail server.
MailSession.create_scope_SMTP-Mail-Server_userid
is the user ID that is used to communicate with the SMTP mail server.
Application Properties
This section defines the properties that are needed to deploy a SAS Web application.
The properties files are named in the pattern
Application.SERVER.applicationName.properties.
appname
is the Web application name.
305
classloaderMode
identifies the class loader mode. Values are PARENT_LAST or PARENT_FIRST. The
default value is PARENT_LAST.
classloaderPolicy
identifies the class loader policy. Values are MULTIPLE or SINGLE. The default
value is MULTIPLE.
deployejb
is a Boolean value. If set to true, then Enterprise Java Bean (EJB) support is
requested for the installation.
deployws
is a Boolean value. If set to true, then Web services support is requested for the
installation.
loadorder
is an integer value that identifies the load order. The default value is 100.
pathtoear
is the fully qualified path to the EAR file for the Web application.
servername
is the name of the target WebSphere Application Server instance where the Web
application is installed.
pCpConnectionTimeout
is the value in seconds for the database connection pool time-out.
pCpMaxConnections
is the maximum number of connections for the database connection pool.
pCpMinConnections
is the minimum number of connections for the database connection pool.
pCpPurgePolicy
identifies the database connection pool purge policy.
pCpReapTime
is the value for the database connection pool reap time-out.
pCpTestConnection
is a Boolean value. If set to true, then the database connection pool is tested when
it is configured.
pCpTestConnectionInterval
is the value in seconds for the database connection pool testing interval.
pCpUnusedTimeout
is the value in seconds for the time-out that controls when unused connections are
returned to the connection pool.
pDsClassName
is the class name for the JDBC provider.
pDsClassPath
is the fully qualified path to each of the JAR files that are required for the JDBC
provider.
pDsConnectionUrl
is the JDBC connection URL.
pDsDataSourceName
is the name of the data source.
pDsDatabase
is the database product name.
307
pDsHelperClass
is the WebSphere Application Server helper class name for the JDBC provider.
pDsHost
is the host name for the machine with the database.
pDsJaasAliasName
is the name that is used to construct a JAAS alias entry. The entry contains the user
ID and password for the database connection.
pDsJdbcProviderName
is the name of the JDBC provider that is associated with this data source.
pDsJdbcProviderReuse
is a Boolean value. If set to true, then an existing JDBC provider definition with the
same name is reused. If set to false, then the existing definition is deleted and all
data sources associated with it, and a new JDBC provider is created.
pDsJdbcProviderType
identifies the JDBC provider type. It is a unique description for the JDBC provider,
such as "DB2 Universal JDBC Driver Provider."
pDsJndiName
is the JNDI name for this data source.
pDsOptions
is a comma-separated list of data source options for the data source.
pDsPort
is the port number for the database.
pDsPropEnableMultithreadedAccessDetection
is a Boolean value that controls whether to enable multi-threaded access detection
to the database using this data source.
pDsPropPreTestSQLString
is an SQL command that is used to test the database connection.
pDsPropValidateNewConnection
is a Boolean value. If set to true, then the configuration scripting tool attempts to
validate the new database connection.
pDsPropValidateNewConnectionRetryCount
identifies the number attempts to perform for validating a new connection.
pDsPropValidateNewConnectionRetryInterval
identifies the number of seconds to wait between attempts to validate a new
connection.
pDsStatementCacheSize
identifies the SQL statement cache size.
pDsXADataSource
is a Boolean value. Set to true if the data source supports JDBC XA.
scope
identifies the cope of the data source. Values are CELL, NODE, or SERVER.
servername
is the name of the server configuration where the data source is configured, such as
SASServer1, SASServer2, and so on.
309
WC_defaulthost
is the HTTP transport port for the deployment manager server.
WC_defaulthost_secure
is the HTTPS transport port for the deployment manager server.
create.dmgrprofile.response.file
identifies the fully qualified path for the file that contains all the responses that are
needed to create a deployment manager profile (dmgr) with the manageprofiles
command. For more information, see the description of the
create.DmgrProfile.CELL.responsedmgrProfileName.properties file in the next
section.
jvmOptions
is the list of JVM options for the deployment manager server.
global properties
isDefault
must have a null value so that the deployment manager server profile becomes the
default profile.
nodeName
use the value for dmgrnodename from the websphere.global.properties file.
profileName
use the value for dmgrprofilename from the websphere.global.properties file.
profilePath
concatenate the values for websphere.profile.dir and dmgrprofilename from the
websphere.global.properites file. Here is an example:C\:\\Program Files\\IBM
\\WebSphere\\AppServer\\profiles\\SASDmgr01.
templatePath
concatenate the values for websphere.install.dir from the
websphere.global.properties file with the "profileTemplates\\management." Here is
an example:C\:\\Program Files\\IBM\\WebSphere\\AppServer\
\profileTemplates\\management.
winserviceCheck
set to true when the deployment manager server profile is being created on
Windows.
winserviceStartupType
set to automatic when the deployment manager server profile is being created on
Windows.
311
connectionFactoryId
is a unique identifier for this JMS connection factory.
pagedTimeout
is the value in seconds for the JMS connection pool aged time-out.
pconnectionFactoryName
is the JMS connection factory name.
pconnectionFactoryType
is the JMS connection factory type. Values are Queue or Topic.
pconnectionTimeout
is the value in seconds for the JMS connection pool time-out.
pdataSource
is the name of a data source that has already been created. This data source is
used as a messaging data store.
pjaasAliasName
is the name of the JAAS alias definition that contains the user ID and password for
the data source when a messaging data store is used.
pjndiName
is the JNDI name for this JMS connection factory.
pmaxConnections
is the maximum number of JMS connection pool connections.
pminConnections
is the minimum number of JMS connection pool connections.
pproviderEndPoints
is the JMS provider endpoints string that is used for remote connections.
ppurgePolicy
is the JMS connection pool purge policy.
preapTime
is the value for the JMS connection pool reap time.
pschemaName
is the schema name for the data store when a messaging data source is used.
punusedTimeout
is the JMS connection pool unused connection time-out.
scope
is the scope for this JMS connection factory. Values are SERVER, NODE or CELL.
servername
is the name of the server configuration where the JMS connection factory is
configured, such as SASServer1, SASServer2, and so on.
313
psibusdestname
is the service integration bus destination name for this JMS queue.
psibusdesttype
identifies the service integration bus destination type. Set this property to Queue for
this resource.
ptimeToLive
is the time that a message has to live.
scope
identifies the scope for this JMS queue. Values are SERVER, NODE, or CELL.
servername
is the name of the server configuration where the JMS queue is configured, such as
SASServer1, SASServer2, and so on.
psibusdestname
is the service integration bus destination name for this JMS topic.
psibusdesttype
identifies the service integration bus destination type. Set this property to
TopicSpace for this resource.
ptimeToLive
is the time that a message has to live.
ptopicSpace
is the name for this topic space. This value is typically the same as the ptopicname
value.
ptopicname
is the name of for this topic definition.
scope
identifies the scope for this JMS topic. Values are SERVER, NODE, or CELL.
servername
is the name of the server configuration where the JMS topic is configured, such as
SASServer1, SASServer2, and so on.
315
JaasDebug
set this property to true to generate debugging information to the System.out
stream.
JaasDomain
identifies the domain in which this login module is authenticating. Requests to
authenticate users outside this domain are ignored.
JaasHoldOpenConnection
is a Boolean value. If set to true, then the authentication connection is held open
after the login module is driven to avoid TCP/IP overhead.
JaasHost
is the fully qualified domain name for the metadata server. Authentication requests
are sent to this host name.
JaasModuleClassName
is the class name for the login module.
JaasModuleFlag
identifies the flag for the login module configuration. Valid values are required,
requisite, sufficient, or optional.
JaasPort
identifies the network port that the metadata server is listening on for new
connections.
JaasRepository
identifies the repository name to use as the default repository when the connection is
returned. For the primary authentication, this repository is usually the foundation
repository.
mailSessionName
is the name for this mail session.
mailSessionSmtpHost
is the SMTP host name for this mail session.
scope
identifies the scope for this mail session. Values are SERVER, NODE, or CELL.
server.mailsrv.requires.authentication
is a Boolean value. Set to true if the SMTP server requires credentials for
authentication.
servername
is the name of the server configuration where the mail session is configured, such as
SASServer1, SASServer2, and so on.
properties in the
create.NodeProfile.NODE.response.profileName.properties file
317
create
must have a null value so that the manageprofiles command creates the node agent
profile.
cellName
use the value for cellname from the websphere.global.properties file
federateLater
must have a value of true so that the manageprofiles command does not federate
the node into the cell during the profile creation. The node is automatically federated
by the configuration scripting tool with processing that occurs later.
hostname
use the value for webappsrv.admin.host from the websphere.global.properties file.
nodeDefaultPorts
must have a null value to force the manageprofiles command to create the default
ports for the nodeagent server.
nodeName
use the value for appsrvnodename from the websphere.global.properties file.
profileName
use the value for profilename from the websphere.global.properties file.
profilePath
use the value for websphere.profile.dir and the value for profilename. Both values
are read from the websphere.global.properites file. For example: c\:\\Program
Files\\IBM\\WebSphere\\AppServer\\profiles\\SAShost01Node.
templatePath
use the value for websphere.install.dir from websphere.global.properties file and the
characters "profileTemplates\\management." For example: c\:\\Program Files
\\IBM\\WebSphere\\AppServer\\profileTemplates\\management.
winserviceCheck
used only when the node profile is being created on Windows. This value must be
set to true.
winserviceStartupType
used only when the node profile is being created on Windows. This value must be
set to automatic.
Server Properties
This section defines the properties that are needed to configure a WebSphere
Application Server. The properties files are named in the pattern
Server.SERVER.serverName.properties.
BOOTSTRAP_ADDRESS
is the RMI bootstrap address for the Web application server.
SOAP_CONNECTOR_ADDRESS
is the SOAP port for the Web application server.
WC_adminhost
is the port number for the deployment manager server administrative console.
WC_adminhost_secure
is the port number for secure access to the deployment manager server
administrative console.
WC_defaulthost
is the HTTP transport port for the deployment manager server.
WC_defaulthost_secure
is the HTTPS transport port for the deployment manager server.
enforceJava2Security
is a Boolean value. Set to true to indicate that Java 2 security must be enforced for
all Web applications on this Web application server.
jvmOptions
is the list of JVM options for the Web application server.
319
scope
set this value to SERVER.
serverid
identifies the server ID of the server configuration where the application is deployed,
such as server1, server2, and so on.
servername
identifies the name of the server configuration where the application is deployed,
such as SASServer1, SASServer2, and so on.
SIBus Properties
This section defines the properties that are needed to configure the SAS Service
Integration Bus. The properties files are named in the pattern
SIBus.SERVER.SIBusIdentifier.properties.
SIBusname
is the name for the Service Integration Bus. The default value is
SAS_Messaging_Bus.
reuseSIBusMember
is a Boolean value. Set to true to indicate that if a definition with the same name
already exists, then reuse the existing definition.
servername
identifies the name of the server configuration where the service integration bus is
deployed, such as SASServer1, SASServer2, and so on. The Web application
server with the name is added as a new member.
321
Appendix 1
Configuring the SAS Environment File
About the SAS Environment File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
Configuring the SAS Environment File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
Customizing the SAS Environment File . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
Element Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
The service registry that is specified in the file enables desktop client applications to
determine the location of required services on the middle tier. It also enables the
applications to obtain a list of services available in the environment. Note that this sasenvironment.xml file resides on an HTTP server, but the configuration in the file refers to
the Web application servers and their port numbers.
If SSL is configured at your site, specify the https protocol and the SSL port number for
the service registry.
323
If your site has multilingual users, you can configure the sas-environment.xml file to
include localized descriptions. In the next example, the Blue environment is specified in
German:
<environment name="Blue">
<desc>test2 Blue</desc>
<desc xml:lang="de">Blau</desc>
<service-registry>http://blue.na.sas.com:7001/SASWIPClientAccess
/remote/ServiceRegistry</service-registry>
</environment>
Element Description
The following list identifies and describes the elements that can be used in the sasenvironment.xml file:
environment
has a name attribute that cannot contain space characters. This attribute is used
internally by SAS software to identify each of the environments that are available in
the deployment. This element has an attribute that is named default. This attribute is
used to identify a default environment for client applications. If more than one
environment element has this attribute set to true, then the last environment in the
file with the attribute set to true is set as the default environment. It is not necessary
to set the attribute to false for all other environments.
desc
used in the client applications to provide a menu of environment choices. As shown
in the previous example, this field can provide a localized message when the
xml:lang attribute is set.
service-registry
contains the URL to the service registry for the environment. Use the protocol, host
name, and port number of the Web application server that is running the SAS Web
Infrastructure Platform.
325
Glossary
alert
an automatic notification of an electronic event that is of interest to the recipient.
authentication
See client authentication
authentication domain
a SAS internal category that pairs logins with the servers for which they are valid.
For example, an Oracle server and the SAS copies of Oracle credentials might all be
classified as belonging to an OracleAuth authentication domain.
authentication provider
a software component that is used for identifying and authenticating users. For
example, an LDAP server or the host operating system can provide authentication.
base path
the location, relative to a WebDAV server's URL, in which packages are published
and files are stored.
client authentication
the process of verifying the identity of a person or process for security purposes.
client-side pooling
a configuration in which the client application maintains a collection of reusable
workspace server processes.
content mapping
the correspondence of the SAS metadata folder structure to a content repository
system. SAS metadata folders are generally mapped to a WebDAV such as the SAS
Content Server repository, or to a local file system.
credentials
the user ID and password for an account that exists in some authentication provider.
deploy
to install an instance of operational SAS software and related components. The
deployment process often includes configuration and testing as well.
foundation repository
the metadata repository that is used to specify metadata for global resources that
can be shared by other repositories. For example, a foundation repository is used to
store metadata that defines users and groups on the metadata server.
foundation services
See SAS Foundation Services
hot deployment
the process of upgrading an application or component in a client-server environment
while the server is running. Hot-deployed components are made available
immediately, and do not require the server to be restarted.
identity
See metadata identity
Java Development Kit
See JDK
Java RMI
See remote method invocation
327
A portal's personalization features enable each user to configure and organize the
interface to meet individual or role-based needs.
portlet
a Web component that is managed by a Web application and that is aggregated with
other portlets to form a page within the application. Portlets can process requests
from the user and generate dynamic content.
puddle
a group of servers that are started and run using the same login credentials. Each
puddle can also allow a group of clients to access the servers.
remote method invocation
a Java programming feature that provides for remote communication between
programs by enabling an object that is running in one Java Virtual Machine (JVM) to
invoke methods on an object that is running in another JVM, possibly on a different
host. Short form: RMI.
remote service deployment
a service deployment that supports shared access to a set of SAS Foundation
Services that are deployed within a single Java Virtual Machine (JVM), but which are
available to other JVM processes. Applications use the remote service deployment
to deploy and access remote foundation services.
repository
a storage location for data, metadata, or programs.
RMI
See remote method invocation
SAS Application Server
a logical entity that represents the SAS server tier, which in turn comprises servers
that execute code for particular tasks and metadata objects.
329
331
trusted user
a privileged service account that can act on behalf of other users on a connection to
the metadata server.
unrestricted identity
a user or group that has all capabilities and permissions in the metadata
environment due to membership in the META: Unrestricted Users Role (or listing in
the adminUsers.txt file with a preceding asterisk).
user context
a set of information about the user who is associated with an active session. The
user context contains information such as the user's identity and profile.
Web-distributed authoring and versioning
a set of extensions to the HTTP protocol that enables users to collaboratively edit
and manage files on remote Web servers. Short form: WebDAV.
WebDAV
See Web-distributed authoring and versioning
WebDAV repository
a collection of files that are stored on a Web server so that authorized users can
access them.
333
Index
A
alert notification
SMS 82
alerts
default delivery type 79
anonymous access 42
anonymous Web user 199
Apache HTTP Server
cache control for static content
40
application server
updating JBoss configuration
149
updating WebLogic
configuration 149
updating WebSphere
configuration 149
ARM (application response
measurement)
enabling for SAS Logon
Manager 160
SAS Logon Manager 160
audit 99
auditing 86, 88
for Web applications 86
relational tables for 86
authenticated users 94
authentication 34, 198
backups
SAS Content Server 165
bind address 246
branding 207
cache control
time-out values for static
content (Apache) 40
cascading style sheets (CSS)
205
migrating 224
channels
334 Index
sample middle-tier
deployment scenarios 21
SAS environment file 322
scripting tools 252
shared between middle and
server tiers 57
SharedServices DSN 60
SMTP mail server for middle
tier 58
Web application server, to
enable JMX client access
116
Web services for Java 193
WebLogic application server
149
WebSphere application server
149
Configuration Manager 73
deleting Web services 193
example 75
properties for SAS Web
Report Studio 75
summary of steps for 74
connection parameters
for HTTP and HTTPS
sessions 84
content
See also SAS Content Server
See also static content
loading manually 168
moving and sharing 165
updating manually 169
custom logoff message 149
custom themes
See themes
Index
data sources 59
configuring for middle tier 59
configuring SharedServices
DSN 60
database persistence 183
DAVTree utility 104
adding resources to WebDAV
105
advanced features 107
connecting to a WebDAV
location 104
copying or moving files in
WebDAV 107
editing text files in WebDAV
107
starting 104
debugging
Package Clean-Up utility 113
Web application logging levels
142
Default theme 206
demilitarized zone (DMZ) 32
deployment
EAR files 16
manually deploying content to
SAS Content Server 165
redeploying Web applications
129
e-mail
configuring SMTP server 58
sending to users 95
EAR files
deploying in correct order 16
exploded, in development
environment 138
names 128
redeploying 129
encryption 33
environment
See also middle-tier
environment
restoring to use default
restrictive policy files 51
environment file, configuring
322
exploded directories 126
335
336 Index
files
adding to SAS Content Server
178
deleting 179
permissions for WebDAV files
175
firewalls 32
folders
creating 177
deleting 179
permissions for WebDAV
folders 175
forcing users to log off 95
HTTP servers
load balancing for 33
proxy plug-in between Web
application server and 39
serving static content 39
static content deployed in
reverse proxy 25
HTTP sessions
affinity 31
auditing 88
configuring 37
connection parameters for 84
force users to log off 96
time-out interval 151
HTTP transport-level security
199
HTTPS sessions
connection parameters for 84
I
G
J
H
heap size 35
Java
Index
JSR 168 15
JVM options
default values 36
JBoss 282
SAS Content Server 164
SAS Workflow 11
WebLogic 275
WebSphere 318
load balancing 33
loading content manually 168
locked settings 77
log files
changing location of 141, 143
logging 140
changing logging levels 142
for Web applications 139
logging contexts 144
Package Clean-Up utility 113
service settings for Web
applications 139
logging off
forcing users to log off 95
login sessions
system maintenance tools for
managing 96
logoff message
configuring custom message
149
337
338 Index
third-party software
components 4
Web applications 13
migrating themes 224
cascading style sheets (CSS)
224
images 225
SAS Logon Manager 226
theme descriptors 226
theme templates 225
monitoring users 94
moving content 165
multicast options 238
configuring 239
multicast properties 241
multicast security 43, 238
authentication token for 243
online documentation
See documentation
Oracle WebLogic Server
See WebLogic
Index
339
340 Index
WebSphere 135
relational databases
with middle tier 62
relational tables
for auditing 86
reports
See SAS Web Report Studio
resources
adding to WebDAV repository
105
managing SAS resources with
JConsole 116
managing SAS resources with
JMX tools 115
restrictive policy files 46
creating for JBoss 49
creating for WebSphere 49
customizing permissions for
socket access 53
disabling for JBoss 52
disabling for WebSphere 52
example files for JBoss and
WebSphere 47
permissions for custom
portlets and Web
applications 53
restoring default policies 51
reverse proxy
static content deployed in 25
roles
Comments:Administrator 72
Job Execution Services 68
Index
341
342 Index
sas-environment.xml,
configuring 322
Secure Sockets Layer
See SSL (Secure Sockets
Layer)
security
HTTP transport-level 199
logon audit 88
middle tier 42
multicast 43, 238
restrictive policy files 46
SAS Anonymous Web User
42
SAS Comment Manager 72
Single Sign-On 44
SSL 45
transport-level 201
Web services 198
WS-Security message-level
199
Server MBean 120
server tier
configuration shared with
middle tier 57
server-side pooling 62
ServerFactory MBean 118
servers
See SAS servers
session affinity 31
session time-out interval 151
SharedServices database 59
on SAS Framework Data
Server 61
SharedServices DSN 59
configuring 60
Index
test environment
deploying themes in 218
testing themes 219
text files
editing in WebDAV 107
theme descriptors 205
migrating 226
343
344 Index
naming 218
rebuilding 218
testing 219
third-party software 4
time-out interval 151
transport-level security 201
tuning Web application servers
36
UNIX
support for Web applications
4
UpdateDefaultTheme.sas
program 221
UpdateTheme.sas program
222
updating content manually 169
URLs
adjusting directive URLs
manually 170
users
appearing in SAS Web
Administration Console 94
authenticated 94
forcing users to log off 95
monitoring with SAS Web
Administration Console 94
prohibit log on sessions 98
sending e-mail to 95
system maintenance tools for
managing login sessions
96
system users 94
warning message
inactive user sessions 155
Web application servers 4
bind address and JGroups
246
configuring a cluster of 28, 37
deploying themes on different
server 221
enabling JMX client access
116
multicast options 240
proxy plug-in between HTTP
server and 39
reconfiguring 137, 252
tuning 36
Web applications deployed in
single server 22
Web application themes
See themes
Web applications 13
access permissions for
foundation service-enabled
53
auditing for 86
changing location of log files
141, 143
changing logging levels 142
configuring custom logoff
messages 149
Index
345
346 Index
z/OS
support for Web applications
4