Building an Analytics Experience

with SAS and HTML5

Nikola Markovic

Boemska

1st Feb 2017

We are a software company & SAS Partner consultancy. Amongst other things we specialise in building bespoke Analytics Apps with our clients.

 

From dashboards and one-off simple applications, to Progressive Web Applications and Mobile Apps, to large-scale Information Systems, our focus is on the productionisation of Analytics while considering the importance that User Experience plays in its adoption.

 

 

What I will talk about

What HTML5 Apps are (+ demos)

How they work

Why?

The Future & The Questions

What do you mean by Apps?

What is a HTML5 App

An App that loads and runs in the browser

 

and

 

Any 'native-ish' App that uses those same browser technologies
(ie. most apps today)

How a HTML5 App works

How a SAS-powered HTML5 App works

What is H54S

A poorly named open-source library that lets HTML5 developers & SAS developers easily develop  HTML5-based Enterprise Analytics Apps.

Boemska HTML5 Data Adapter for SAS

How a HTML5 SAS App works

How a HTML5 SAS App works

%include '/pub/sasautos/h54s.sas';

%hfsGetDataset(datain,work.additions);

data back;
  set sashelp.class 
    (obs=3 keep=name sex weight) 
    work.additions;
run;

proc sort data=mydata; by name; run;

%hfsHeader;
  %hfsOutDataset(rtrnd, work, back);
%hfsFooter;
var adapter = new h54s({hostUrl: 'myServer:8080/'});

var myFirstTable = [
  { name: 'Allan', sex: 'M', weight: 101.1 },
  { name: 'Abdul', sex: 'M', weight: 133.7 }
];

var tables = new h54s.Tables(myFirstTable, 'datain');


adapter.call('/Apps/myFirstService', 
        tables, function(err, res) {
  if(err) {
    console.log(err);               
  } else {
    console.log(res.rtrnd);
  }
});

H54S Features & Examples

  • Bidirectional Data Transport

uses datasets as primary atomic format
​(superseding parameters)

  • Clientside logging & system messaging facility

​(making apps so much easier to support)

H54S Features & Examples

  • Handling of clientside sessions & SASLogon Redirects
     
  • Continuous, predictable User Experience
     
  • Simple integration with most APIs, Open Source libraries and 3rd Party visualisation tools (AngularJS, Highcharts, Google Maps, Postgres/PostGIS, everything)

Architecture Benefits

(Enterprise Integration)

  • Out-Of-Box Single Sign-On
     
  • Pre-configured Transport Level Security
     
  • Per-request Authorisation
     
  • Granular, role based Metadata security

(happy to talk about this for hours)

Deployment & BAU Benefits

 

  • Easily deployed and updated with SAS 9.4:
    Web/WebServer/htdocs & a SAS .spk
     
  • User & role management is controlled by Metadata & governed by existing SAS JML procedures
     
  • No additional platform work required, Zero up-front infrastucture cost. Uses existing kit.
     
  • Easily supported and updated by widely available skillsets: JavaScript frontend + SAS backend.
    No proprietary lock-in.

Why?

  • Business users love SAS.

Questions