Building Web Apps on Desktop SAS

Allan Bowe

4GL Apps

  • Modernise legacy AF/SCL and SAS/Intrnet
  • Migrate SAS Apps from SAS 9 to Viya
  • Manifest new SAS Apps & DevOps tools
  • SAS App Support


Demo - Data Controller

SASjs Framework

Tool Box for SAS Apps & Solution Development

  • @sasjs/adapter - Connectivity
  • @sasjs/cli - CI/CD and Automated Deployment
  • @sasjs/core - Macro library
  • @sasjs/server - Web Server & REST API for Base SAS

SASjs Server

A Web Server and REST API for Base SAS

  • SASjs Drive for content
  • SASjs Studio for code execution
  • SASjs AppStream for deployed Apps

HTML5 App Architecture

SAS Platform Comparison

Item Viya 4 SAS 9 EBI SASjs Server
Web Server External Only Internal Only (htdocs) Internal / External
App Server Job Execution Service Stored Process Server SASjs Session Manager
Execution Unit Jobs Stored Processes Stored Programs
Technology Go Java NodeJS

Demo - Deployment & Configuration

Demo - SASjs Server Interfaces

Demo - AppStream

Prepending these urls with "" will create a temporary container instance for that repo

Demo - SASjs Server for Running Tests

Tests can be written for SAS Macros, Jobs & Services.


  • Okta Authentication (Server mode)
  • Folder Permissions (Server mode)
  • Syntax Highlighting
  • Data Browser

Allan Bowe, Chief SAS App Officer

TRANSCRIPT Necessity is the mother of invention!