Girl computer small

Gebruikersvriendelijke web-applicaties met SAS-content

SAS is een geavanceerde software die technische know-how vergt. Echter, het wordt door een scala aan mensen gebruikt, en daarom moeten de functionaliteiten en content voor iedereen toegankelijk zijn. Notilyze ontwierp hiervoor een veelzijdige web app-template die gebruikt kan worden om SAS-content te integreren, waarmee het in een eenvoudige, gebruiksvriendelijke webapplicatie verandert.

Om de web app te ontwerpen en te testen, werd een kleine casestudy in gang gezet. Deze case bestond uit een chatbot en twee rapporten voor een fictieve school, die een dataset heeft met de cijfers van de leerlingen. Het eerste rapport moet de cijfers van een student bevatten, waarbij de toegang tot de cijfers van andere studenten moet worden beperkt. Het tweede rapport moet de cijfers van alle leerlingen in de klas van een leraar bevatten, waardoor de toegang tot de cijfers van andere leerlingen weer wordt beperkt. Er werd een chatbot gebruikt om cijfers van studenten in de dataset in te voeren.

Om de SAS-content in de web app te integreren, hebben we de beschikbare SAS Software Development Kits (SDK) gebruikt. Deze SDK's zijn verzamelingen van JavaScript-functies die SAS API's gebruiken om SAS-content en data van de server te verzamelen en deze in HTML/CSS/JavaScript-objecten te laden. Wanneer de SDK's in de web app zijn geladen, kan SAS-content eenvoudig geïntegreerd worden. De volgende HTML-code kan bijvoorbeeld een SAS-dashboard integreren:

  authenticationType="credentials"
  url="{PUBLIC_SAS_ENVIRONMENT_URL}"
  reportUri="/reports/reports/{PUBLIC_SAS_REPORT_ID}">

SAS SDK's vragen om SAS-inloggegevens bij het laden van de inhoud van een SAS-server. Vaak hebben gebruikers geen SAS-inloggegevens, maar gebruiken ze externe authenticatie om verbinding te maken met de SAS-server (bijv. Microsoft Azure/OpenID Connect). Om deze users gebruik te laten maken van de web app, hebben we de SAS Authentication Library voor de browser gebruikt. Eerst controleert de web app of de gebruiker al is geauthenticeerd met SingleSignOn (SSO). Als dit niet het geval is, vraagt een pop-up de gebruiker om in te loggen met de authenticatiemethode die verbonden is met de SAS-server. Dit werkt zowel met SAS-inloggegevens als met externe authenticatie.

Demo dashboard

Om de casestudy af te ronden, werd er gebruik gemaakt van twee voorbeelddashboards en een chatbot. In de afbeelding hierboven is een screenshot van de studentendashboard te zien. Sommige instellingen op de SAS-server zelf moesten worden gewijzigd om de API-requests te kunnen verifiëren, zoals de cross-site cookies (CORS) en webbeveiligingsinstellingen (CSRF). Tenslotte werd row-level security (RLS) ingezet om ervoor te zorgen dat gebruikers alleen toegang hebben tot hun eigen cijfers (of die van hun eigen leerlingen).

Het resultaat van dit project is een herbruikbare en robuuste web app-template die kan worden gebruikt voor interactie met SAS-content. De vereiste instellingen van de SAS-server zijn goed gedocumenteerd, zodat toekomstige servers sneller kunnen worden ingesteld. Dit template zal veel van onze aankomende projecten een vliegende start geven!

// Contact

Notilyze B.V.
Stationsplein 45 A4.004
3013 AK Rotterdam
+31 10 798 62 95
info@notilyze.com

// Stel een vraag