Toepassingen van webservices Hans Janssen, SaNS-Expertisecentrum
2 Toepassingen van Webservices: App s en meer Even voorstellen: SaNS en Hans Webservices voor applicatie-integratie Iedereen z n eigen SOA Mobiele toepassingen (HvA, UvA en Leiden) Gegevens en functionaliteit extern inzetten (UvA, Zadkine, VUB) Gegevensbronnen combineren (UvA) Koppelen met externe systemen (betalen met Ideal) Beheer en andere ellende Ontwikkelingen binnen PeopleSoft (CS) Vrijheid of alles in eigen hand
3 SaNS: Samenwerking Nieuw SIS 4 HO-instellingen: TiU, HvA, UvA, LEI 100.000 studenten 10.000 docenten en studiebegeleiders 1000 administratieve medewerkers Oracle PeopleSoft Campus Solutions Zowel Inschrijf als Volg Gezamenlijk beheer en onderhoud Live sinds 2009/2011 Instellingen gebruiken Vanilla SaNS-CS
4 Webservices Manier om gegevens in een systeem extern beschikbaar te stellen Toegang van buitenaf Ook geschikt voor het leveren van functionaliteit Inschrijven op vakken Berekenen van lesgeld Werking: Je stuurt een bericht met een verzoek Je krijgt een bericht met een antwoord retour Beschikbaar stellen van webservices op CS aan extern systeem Aanroepen van webservices van andere applicaties
5 Webservices binnen standaard CS AAWS (Admissions Application Web Service): studie aanmelding EWS (Enrollment Web Service): vakaanmelding EPI (Electronic Payment Integration): digitaal betalen QAS (Query Access Services): toetsresultaten SAIP (Student Admin Integration Pack): koppeling met ELO Studielink Component Interfaces (CI) Bestaat al langer Voor elke component kun je een CI maken die als webservice kan worden gebruikt
6 Resultaten-App App ontwikkeld door HvA, UvA en Leiden Maakt gebruik van Reporting webservices Studenten kunnen hun eigen resultaten zien Geen native app maar een website voor smartphone-schermen Ontwikkeld samen met studententeam Leiden gaat nog een stapje verder: Tonen rooster Nieuws uit het SIS (verzoekschriften, resultaten, inschrijvingen)
ResultatenApp HvA en UvA 7
App Leiden: resultaten, nieuws, rooster 8
9 Reporting webservices Query Access Services Heel krachtige techniek Elke query kan extern aangeroepen worden Je kunt ook query s maken vanuit een externe applicatie Aanvraagbericht bevat naam query en evt parameters Antwoordbericht bevat resultaat van de query
Service-request voorbeeld 10 <soapenv:body> <qas:qas_exeqry_sync_req_msg> <qas1:qas_exeqry_sync_req> <QueryName>S030_W_QAS_VAK_AANMELDINGEN</QueryName> <Prompts> <PROMPT> <PSQueryName>S030_W_QAS_VAK_AANMELDINGEN</PSQueryName> <UniquePromptName>BIND1</UniquePromptName> <FieldValue>10209344</FieldValue> </PROMPT> <PROMPT> <PSQueryName>S030_W_QAS_VAK_AANMELDINGEN</PSQueryName> <UniquePromptName>BIND2</UniquePromptName> <FieldValue>2121</FieldValue> </PROMPT> <PROMPT> <PSQueryName>S030_W_QAS_VAK_AANMELDINGEN</PSQueryName> <UniquePromptName>BIND3</UniquePromptName> <FieldValue>DUT</FieldValue> </PROMPT> </Prompts> </soapenv:body>
11 Aanmelden voor vakken Studenten zijn niet tevreden over Selfservice in CS Lastig de juiste vakken te vinden Te veel klikken voor een aanmelding rond is Alternatief: applicatie voor PC, laptop en tablet Studenten hebben aangegeven hoe ze zoeken naar vakken en zich aanmelden Combinatie van CS-gegevens, studiegidsgegevens en roostergegevens Eenvoudig zoeken binnen alle vakken van de instellingen Inzage in al aangemelde vakken Aanmelding op een vak loopt via EWS en de Enrollment Engine van CS
Demo Aanmeldapplicatie UvA 12
13 EWS: Enrollment Webservices Standaard webservice binnen CS Laat je een vakaanmelding doen en afmelding Kan ook alle aanmeldingen ophalen Biedt ook de functionaliteit van het winkelwagentje Kleine aanpassing gedaan aan de standaard: systeemuser Webservice roept binnen CS de Enrollment Engine aan Alle standaard controles worden uitgevoerd Als antwoordbericht komt het bericht van de Enrollment Engine Eenvoudige aanroep: studentnummer, periode, loopbaan en classnr
14 Aanmelden voor opleidingen Maakt gebruik van AAWS Vooral bedoeld voor nieuwe studenten/leerlingen Ook controle of iemand al bekend is Geeft je de mogelijkheid een eigen aanmeldwebsite te maken Gegevens aanmelder en aanmelding komen in staging tabellen Instelling bepaalt zelf hoe die worden doorgeboekt: met regels of helemaal handmatig
Zadkine aanmelding 15
VUB aanmelding 16
Glasgow aanmelding 17
Plantijn aanmelding 18
19 AAWS: Admissions Application Web Service Diverse webservice-operaties: Registratie: nieuwe gebruiker Logon: aanmelden bij CS met standaard controles Aanmelding opleiding vastleggen, opvragen, aanpassen Documenten uploaden epayment, koppeling met SF en GL List of Values: beschikbaar stellen opzoeklijsten vanuit CS Staging tabellen Aanmeldingen
AAWS in schema 20
AAWS: aanmelden voor opleidingen 21
Webservice: Digitaal betalen via Ideal 22
Voorbeeld CY2 23
24
25
26
27 EPI: Electronic Payment Integration Koppeling naar externe betaalprovider Integratie met Student Financials
28 Raadvoorwaarden Weten hoe je de Integration Broker in moet richten Slimme query s ontwikkelen, met veel functionaliteit WebApp: Aparte applicatie buiten CS (beheer!) Native App: beschikbaar stellen en onderhouden Kennis van App-ontwikkeling (of inhuren) Beveiliging goed regelen Beheerafspraken maken met ketenpartners
29 Beheerketen Webpagina (HTML5) Webservices (JSON/REST) Webservices (XML/SOAP) CS Eindgebruikers Authenticatie Lokale server voor mobiele toepassingen InQdo- Connect Campus Solutions Instellingen SaNS-EC
Beheerketen 30 FB Instellingen HvA/2AT SaNS-EC inqdo/cloud UCI/Nijmegen AD Server HvA UvA WS HvA AS HvA DB HvA CAS inqdo-connect LDAP Leiden Server UvA inqdo Loadbalancer Firewall UCI WS UvA AS UvA DB UvA inqdo-connect SURF ULCN Server LEI WS LEI AS LEI DB LEI
31 Haken en ogen Bedrijfsregels op meer plaatsen onderhouden Harmonisatie van systemen Anders lukt het combineren niet: vakken die wel in de studiegids staan maar niet in CS, andere codes in SyllabusPlus etc. Minder mogelijkheden voor overrulen Geen pagina waarop de administratie alles mag
32 Beveiliging Toegangscontrole Performance Authenticatie
33 Ontwikkelingen binnen PeopleSoft (CS) Doorontwikkeling AAWS en EWS New User Registration Framework Nieuwe webservices in de maak (??) Framework om eenvoudig webservices aan te passen
34 Vrijheid of alles in een hand? Webservices vrijgeven? Studenten bouwen hun eigen app Levert vaak de beste oplossingen Goedkoop: geen bouwkosten Is dat veilig genoeg? Aanpassingen zorgen voor verspreide problemen Voorbeeld: Avans Hogeschool Zelf alle toepassingen ontwikkelen Strakke regie; alles in eigen handen Veel werk Niet de beste oplossingen
Contactgegevens spreker(s): Hans Janssen hans.janssen@sans-ec.nl