SAS 9.4 middle tier architecture: need a map?

My family are all Lord of the Rings Trilogy fans. As a novice in the world of SAS administration, I find discussing the SAS middle tier architecture a little like traveling through Middle Earth. For me, it’s new and fascinating terrain. And like other travelers, I would find it useful to have a map of my SAS environment.

My journey started with this question recently posed to the SAS Deployment community: “Is there a plan to support WebSphere again as an SAS 9.4 midtier web application server?”

Both replies are correct. With SAS 9.4, you won’t have the added cost, installation and maintenance of a third-party web application server, such as JBoss, WebSphere, or WebLogic. The SAS 9.4 Intelligence Platform license includes its own embedded web server and web application server:

But there’s more to the middle tier story. As SAS administrators, you’ll appreciate these new capabilities and features that simplify your life:

Middle tier components are installed as a single unit and configured automatically.

Multiple web application servers are clustered and load-balanced by default.

Web servers are optimized and tuned to meet the requirements of SAS workloads.

Patch management has been streamlined.

SAS Technical Support is the single point of contact for support issues and questions.

Everything you need to build a robust cloud platform is included in the box.

These new capabilities are available because of architectural and software changes between SAS 9.3 middle tier and SAS 9.4 middle tier. Here are some maps and travel guides you might find useful:

Let’s take a closer look at the middle tier components and how they interact:

SAS Web Application Server
SAS Web Application Server is a lightweight server dedicated to running SAS web applications. Its deployment footprint is reduced because the embedded web application server functions as a web container, which is a small part of the overall functionality included in third-party commercial web application servers.

SAS 9.4 also simplifies deploying and managing a web application server because the server and the software that automates server configuration tasks are packaged together. You’ll use the SAS Deployment Wizard to install and to apply updates or SAS hot fixes, just as with any other piece of SAS software. Additionally, the configuration tools that are packaged with the software are designed to interact with the SAS Metadata Server and other SAS software products to maintain reliability and reduce administration of the SAS deployment.

The SAS deployment tools can install and configure the SAS Web Application Server for horizontal and vertical clustering.

SAS Web Server
SAS Web Server is an HTTP server that is configured as a single connection point for SAS web applications. Using the SAS Deployment Wizard you can configure it with the following features:

load-balancing proxy server when the SAS Web Application Server is clustered

HTTPS support for SAS Web Server with CA-signed certificates

cache static web content like JavaScript files, cascading style sheets, and graphics files.

SAS Cache Locator
The SAS Cache Locator software is used to tell new, connecting members like SAS Web Application Server where running members are located and provides load balancing for server use. Whether one or two locators are installed depends on your deployment topology:

In a single machine deployment, the SAS Deployment Wizard prompts for a cache locator port on the Web Application Server: Cache Locator Configuration and Scheduling Services Cache Locator pages. If you specify different port numbers, then two locators are configured.

In a multiple machine deployment, two locators are configured. One is configured on the primary middle-tier machine and one is configured on the server-tier machine.

The SAS Deployment Wizard does not install and configure more than two locators. The two locators are peers and when one is down, the other can do all the work. The two locators provide a failover support.

SAS JMS Broker
A SAS JMS Broker instance is configured as a server on the machine that is used for the SAS middle tier. This software fully implements the Java Message Service 1.1 specification and acts as a message broker. Some SAS web applications use JMS connection factories, queues and topics for implementing business logic. These resources are configured in SAS Web Application Server for use by the SAS web applications. SAS JMS Broker also provides advanced features such as clustering, multiple message stores and the ability to use file systems and databases as a JMS persistence provider.

SAS Environment Manager
SAS Environment Manager software includes an agent process that is installed on each server-tier and middle-tier machine in the deployment. Each agent gathers performance metrics and sends the data to a server process that runs on a middle-tier machine. The server process includes a web application server that provides a web-based administrative interface. Administrators use the SAS Environment Manager Web Application to monitor and manage numerous components in the SAS environment.

Additionally, plug-ins have been created to interact with SAS specific parts of the deployment. For example the SAS plug-ins collect metrics on the SAS Metadata Server such as journal usage, client connections, CPU usage, and memory utilization.

Java Runtime Environment
A Java environment is included in the SAS 9.4 middle tier, eliminating the need to install a separate JRE.

Other Components
The SAS 9.4 middle tier may include other components such as the SAS Web Infrastructure Platform, SAS web applications and other SAS products and solutions.

Additional Information:

SAS 9.4 Intelligence Platform: Middle-Tier Administration Guide

Architecture of the SAS Intelligence Platform

Monitoring 101: New Features in SAS 9.4 for Monitoring Your SAS Intelligence Platform

SAS Environment Manager: The buzz around SAS 9.4

Migrating SAS Institute, Inc. Java EE Applications from WLS/WAS/JBoss to Pivotal tc Server

SAS 9.4 middle tier architecture: need a map? was published on SAS Users.