Externe Interactie Inzet van front-end applicaties buiten CS Hans Janssen Expertisecentrum SaNS Agenda • Front-end en back-end • Waarom een extern front-end? • Diverse front-ends in gebruik bij de SaNS instellingen • Complexiteit • ‘Open API’ aanpak (voor MijnUvA app) • Voor- en nadelen externe front-ends • Portaal oplossingen • Conclusie Externe Interactie met CS 2 SaNS • SaNS: ‘Samenwerking nieuw SIS’: - Universiteit van Amsterdam - Hogeschool van Amsterdam - Universiteit Leiden • Gebruikers: - 100.000 reguliere studenten en steeds meer niet-reguliere - 10.000 docenten en studiebegeleiders - 1000 administratieve gebruikers • Instellingen gebruiken ‘Vanilla SaNS-CS’: voor iedereen gelijke kopie • Expertisecentrum SaNS - Gezamenlijk beheer en ontwikkeling, kennisdeling • CS 9.0 bundle #41 met PT 8.55.11, Oracle 12 • Infrastructuur in beheer bij MCX Externe Interactie met CS 3 Componenten van een informatiesysteem • Front-end - Gebruikersschermen (webpagina’s): raadplegen en invoeren van gegevens • Back-end - Webserver, die de webpagina’s beschikbaar stelt - Applicatie, met de bedrijfslogica, processen - Database, met de in tabellen opgeslagen gegevens Front-end en Back-end Front-end Back-end Webserver Externe Interactie met CS 4 Applicatieserver Database server Front-end en back-end in CS • In Campus Solutions heet dat PIA: PeopleSoft Internet Architecture • Pagina’s worden door de webserver gegenereerd • Gebruiker ziet de schermen in z’n browser • Geen andere applicaties dan CS nodig Externe Interactie met CS 5 Front-end buiten CS • Raadpleeg/invoerschermen worden niet in CS gegenereerd • Native app’s op een smartphone Extern Front-end voor CS Front-end met eigen app CS (Back-end) JSON/REST JSON/REST Webserver Applicatieserver Database server Extern Front-end voor CS • Externe applicatie Front-end (webbrowser) Front-end applicatie HTML Externe Interactie met CS 6 CS (Back-end) SOAP/XML Front-end plus integratie-oplossing • Inzet van een integratielaag (inQdo Connect) • Zorgt voor sluisfunctie: Extern Front-end voor CS - Beveiliging Front-end (App) - Performance Integratie (conversie) CS (Back-end) SOAP/XML JSON/REST inQdo Connect JSON/REST Extern Front-end voor CS Front-end Front-end applicatie Integratie (conversie) (webbrowser) HTML JSON/REST SOAP/XML inQdo Connect Externe Interactie met CS 7 CS (Back-end) Front-end soorten Dimensies in de kenmerken van een Front-end A. In back-end CS gerealiseerd of daarbuiten B. Basisgegevens of geaggregeerde gegevens (transacties versus dashboards) C. Alleen raadplegen, of ook invoeren/muteren/verwijderen D. Met een directe koppeling naar CS-gegevens, of uit een kopie-bestand E. Puur CS-gegevens, of ook informatie uit andere bronnen; of zelfs gecombineerd F. Alleen tonen/invoeren van gegevens, of ook eigen functionaliteit G. Voor studenten, voor docenten of voor administratieve medewerkers H. Voor PC, laptop, tablet of smartphone (verschillende ‘form factors’), of allemaal (responsive) I. Techniek gebruikt voor de interactie • Andere smaken: - Inlezen van bestanden via een proces-pagina - Excel to CI Externe Interactie met CS 8 Redenen voor een extern front-end • Behoefte aan een app op een smartphone, of andere mobiele toepassingen • Gegevens uit het SIS combineren met gegevens uit andere systemen • Binnen CS kan iets niet (mooi genoeg of gebruiksvriendelijk genoeg) getoond worden • Eigen huisstijl • Onderdeel van een portaal-oplossing - Voor docenten - Voor studenten Externe Interactie met CS 9 Webservices voor koppeling extern front-end • NUR - Webservices voor het aanmaken van een nieuwe gebruiker • CWS - Webservices voor het vastleggen van persoonsgegevens • AAWS - Webservices voor het vastleggen van een aanmelding - Webservice voor het uploaden van documenten - Webservice voor LOV, list of values • QAS - Webservice voor het ophalen van query-resultaten Externe Interactie met CS 10 Beveiliging: inzet inQdo Connect • Sluis en poortwachtersfunctie • Vertaling van SOAP/XML naar JSON/REST • Uitgegroeid tot een ESB Externe Interactie met CS 11 Front ends binnen CS • Selfservice • Administratieve schermen • Beheerschermen • Upload van bestanden • Rapportages maken en tonen • Workcenters, activity guides en related contend • Pagelets Externe Interactie met CS 12 Front-end buiten CS: • Diverse smaken: - App’s voor studenten met alleen SIS gegevens (resultaten, inschrijven) - App’s voor studenten waarin SIS gegevens worden gecombineerd met andere informatie - Invoerschermen voor docenten - Dashboards voor studieadviseurs en management - Portalen voor studenten en docenten - Landelijke invoersystemen van student- en aanmeldingsgegevens - Door studenten zelf gemaakte app’s Externe Interactie met CS 13 Resultaten App • 3 verschillende implementaties (met zelfde webservice) HvA Externe Interactie met CS UvA 14 Leiden Vakaanmelden UvA Externe Interactie met CS 15 NRA: Niet-reguliere aanmelding (UvA/HvA) Aanmeldscherm voor niet-reguliere studenten - Gebruikt diverse CS webservices: AAWS, CWS, NUR, QAS - inQdo Connect als middenlaag - Aanmelden voor opleidingen - Gebruikt ‘staging’ tabellen en search/match - Gebouwd als eigenstandige applicatie met eigen database en beheertabellen - Geschikt voor tablet en laptop/PC Externe Interactie met CS 16 Complexiteit van front-end oplossingen Bij NRA betrokken componenten (op hoofdlijnen) UvA/HvA: Admission Applications for non-regular students Users CS Environment HTTPS/HTML x4 x8 admin Webserver Non-regular students admissions Appl. Server Mediation: inQdo-connect On Line configure QAS & EWS webservices Loadbalancer Queue Database Database SOAP/XML JSON/REST NR students Loadbalancer Apache/Tomcat Maintenance: External developer Responsible: UvA AC Externe Interactie met CS 17 x2 Loadbalancer Mediator x4 x4 Webserver with Appl. Server with Webservices Integration Broker Amazon cloud SaNS-EC/MCX inQdo SaNS-EC UvA Data • Extern front-end • Geaggregeerde data • Kopiebestand uit SIS • Alleen raadplegen Externe Interactie met CS 18 Oracle BI CLoud Analyse oplossing van Oracle - Kopiegegevens uit CS - Kan automatisch worden ververst - Voor studiebegeleiders en management Externe Interactie met CS 19 UvAnose en DataNose (UvA) • Portaal voor docenten - Onderwijslogistieke gegevens - Maar ook resultateninvoer - Import uit SIS van vakgegevens - Export naar SIS van beschrijvingen en resultaten - Eigen database Externe Interactie met CS 20 uCheck (Leiden) • Web scraping van CS - Gemaakt door een student - Haalt gegevens uit CS middels ‘web scraping’ - Ook voor aanmelden - Verzamelt gegevens van meerdere studenten ! Externe Interactie met CS 21 uSIS Mobiel (Leiden) • Web-app voor studenten - Gebruikt webservices van CS - Inzet van inQdo Connect - Ook inschrijven voor vakken en tentamens Externe Interactie met CS 22 uSIS Student • QAS Webservice Externe Interactie met CS 23 MijnHvA in Sharepoint HvA Externe Interactie met CS 24 Van <https://play.google.com/store/apps/details?id=nl.hva.hvapp> MijnHvApp • Portaal op je smartphone Externe Interactie met CS 25 Oracle App • Standaard CS selfservice functionaliteit in een standaard native app • Werkt out of the box (als je geen maatwerk hebt) Externe Interactie met CS 26 Studielink Invoer van gegevens voor SIS Externe Interactie met CS 27 Open API ontwikkelingen 1 • Probleem: veelheid aan verschillende webservices en app’s Externe Interactie met CS 28 Open API ontwikkeling 2 • Oplossing: standaardiseren van aan te bieden webservices: Open API • Afgesproken formaat en inhoud • Altijd beschikbaar • Deels openbaar • Deels achter account/wachtwoord Externe Interactie met CS 29 Beschikbare open API’s Externe Interactie met CS 30 inQdo Connect levert OpenAPI Externe Interactie met CS 31 MijnUvA app • Toegang tot veelgevraagde informatie uit diverse systemen • Op OpenAPI-principe gebaseerd • Kenmerken: - Naast SIS-gegevens (resultaten) ook gegevens uit Blackboard, roostersysteem, vrije werkplekken, mededelingen - Speciaal voor smartphone en tablet Externe Interactie met CS 32 Vergelijking van de diverse externe front-ends • Maken vaak gebruik van webservices • Maken vaak gebruik van inQdo Connect als tussenlaag • Veel hergebruik van bestaande CS-webservices • Vooral voor het ophalen van gegevens • Sommige toepassingen ook voor het aanmelden op vakken • Meestal gemaakt door de instelling, niet door studenten zelf Externe Interactie met CS 33 Voor- en nadelen van externe front-ends • Voordelen - Meer vrijheid in functionaliteit en look & feel dan CS - Schermen beperken tot alleen de gewenste functionaliteit - Combineren met andere informatie - Bij inzet OpenAPI meer standaardoplossing mogelijk - Belangrijke bouwstenen voor doelgroep-portalen (student, docent) • Nadelen - Vergroting van de complexiteit - Lastiger te beheren keten - Logica moet op twee plaatsen onderhouden worden - Problematiek bronsysteem Externe Interactie met CS 34 Nieuwe mogelijkheden in CS • Fluid - Betere navigatie - Responsive: werkt op alle formaten en devices - Makkelijker van een huisstijl te voorzien • Simplified analytics - Dashboards met SIS-gegevens - In te zetten als zoeksysteem • Eigen invoerschermen samenstellen - Workcenters - Activity Guides - Related content • Interaction Hub - Portaalfunctionaliteit in CS zelf Externe Interactie met CS 35 Fluid in CS voor selfservice front-end • Modern front-end • In CS zelf Externe Interactie met CS 36 Fluid: voorbeelden van Oracle • Homepage voor studenten Van CS 9.0 naar CS 9.2 Externe Interactie met CS 37 Fluid: voorbeelden van Oracle • Studievoortgang Externe Interactie met CS 38 Fluid voorbeelden van Oracle • Student Activity Guide Externe Interactie met CS 39 Fluid voorbeeld SaNS: Aanmelden Leiden Externe Interactie met CS 40 Inzet Pivot Grids voor Dashboards • Basis voor dashboards • Te gebruiken als toegang naar andere schermen Externe Interactie met CS 41 Portaal functionaliteit anders bekeken en Front-endPortaal Front-end als ‘portaal’ CSPortaal Front-end Combinatie SISSIS Combinatie SIS X Proces Y YProces Y X XProcesProces Proces Proces functionaliteit functionaliteit functionaliteit functionaliteit functionaliteit DataData Data DataData Data Data Data Data Campus Campus Solutions Solutions Externe Interactie met CS Campus Y XSysteem Solutions Y Systeem Systeem X Systeem Systeem Y X Systeem 42 Beter inzetten mogelijkheden van CS • Waarom geen portaal in CS zelf (evt. in combinatie met de interactie hub)? • Serieuze concurrent van andere portaalsystemen? • Kunnen we samen laten zien dat veel van die externe systemen overbodig zijn? Externe Interactie met CS 43 Peoplesoft Interaction Hub Externe Interactie met CS 44 Vragen en aanmelding Hans Janssen [email protected] Externe Interactie met CS 45