Allan Bowe
Phil Mason
SAS Geek with a passion for HTML5 Web Apps.
Contributions include:
SASjs.io
Sasensei.com
Data Controller for SAS®
Phil Mason has used SAS a very long time.
He has written lots of papers and a few books about SAS and is currently developing web apps at Lloyds in London.
Separation of front and backend is non-negotiable!
<script src="https://cdn.jsdelivr.net/npm/sasjs@2.1.0/index.js"
integrity="sha256-aO07O1dqIVfURrXrgsYbCxneXml0Q+kMQI/RpGKR3mo="
crossorigin="anonymous">
</script>
Use SubResource Integrity (SRI) hashing to avoid Man-In-The-Middle attacks
A Framework for HTML5 App Development on SAS
SAS Utility Macros for Application Development
Bi-directional data transfer between JS and SAS
Setup, build & deploy SAS projects
SAS 9 | SAS VIYA |
---|---|
Stored Processes | Job Execution Service |
WKS / STP Servers | Compute Server only |
Client / System Identities | Client / System* Identities |
Metadata | Postgres |
* System account available with Viya 3.5+
sasjs-cli
See Documentation. Consider Browser limits (6 connx in chrome)
Send only the data you need to send!
Avoid browser-freeze! When showing tables of data, divide into 'pages' that can be stepped over.
Server side data caching significantly improves the responsiveness for large queries - simply store the output data alongside a hash of the input query
filename _webout cache;
yourserver/SASStoredProcess/?_action=1063&_path=/your/path