8.9 KiB

marp paginate theme description
true true default npx @marp-team/marp-cli -o ./theme/slides.html

Data Controller for SAS

Allan Bowe

bg right:33% height:250

Why Build Web Apps on SAS?

  • Self-Contained Environment
  • Data Management & Analytics
  • Enterprise Security & Scalability bg right:50% height:700

Problems with Desktop Apps

  • Security
  • Scalability
  • Governance

bg right:50% vertical height:200 bg right:50% height:200 bg right:50% height:200

HTML5 App Architecture

bg right:65% height:370

Deployment Strategies

  • Free for all
  • Centralised Deployment
  • Automated Deployment

Benefits of Automated Deployment

  • Stable Operating Environment
  • Faster Feature Delivery
  • Happier, More Productive Teams

Release Management

  • Jenkins / MS Release Manager
  • Bitbucket / Gitlab Pipelines
  • Github Actions

Making it Happen

SASjs Framework

  • @sasjs/core - Macro library
  • @sasjs/adapter - Connectivity
  • @sasjs/cli - CI/CD and Automated Deployment

Sonic the Hedgehog

bg right:50%

Rock Roller

bg right:50%

Viya Token Generator

bg right:50%

SASjs Core

  • Make Services, Folders, Groups & more
  • Base SAS, Metadata, Viya
  • npm install @sasjs/core

SASjs Adapter

  • Authentication
  • Bidirectional communication with SAS
  • npm install @sasjs/adapter


  • Project Setup
  • Automated Deployments
  • npm install --global @sasjs/cli

sasjs add

  • Define a Target
  • Client / Secret
  • App Location (appLoc)

sasjs folder

  • sasjs folder create /some/folder -t target
  • sasjs folder move /some/folder /new/folder
  • sasjs folder delete /new/folder

sasjs run

  • sasjs run

bg right:60% height:450

Command Description
add Provides a series of prompts used to define a SAS target along with the relevant connection details (if SAS Viya)
build takes all of the input jobs and services and creates a build pack
compile Extracts all the dependencies and input programs for each service / job and includes them in a single file ready for deployment
context List, export, create, edit, and delete SAS Compute contexts
create Initialise a SASjs repository, either in plain form or using a range of templates
deploy Perform the actual deployment of a SASjs project into SAS 9 or Viya
folder Management of logical Viya folders
job Manage & Execute SAS Jobs
run Run arbitrary SAS code in a Viya Compute Session, directly from the terminal (or commandline session)
servicepack The SASjs Service Pack is a collection of services and folder objects. The servicepack command lets you deploy them easily

Allan Bowe, Head of SAS Apps