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)
7
ResultatenApp HvA en UvA
8
App Leiden: resultaten, nieuws, rooster
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 <soapenv:Body>
S030_W_QAS_VAK_AANMELDINGEN … S030_W_QAS_VAK_AANMELDINGEN BIND1 10209344 S030_W_QAS_VAK_AANMELDINGEN BIND2 2121 S030_W_QAS_VAK_AANMELDINGEN BIND3 DUT …
10
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
16
VUB aanmelding
17
Glasgow aanmelding
18
Plantijn aanmelding
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
20
AAWS in schema
21
AAWS: aanmelden voor opleidingen
22
Webservice: Digitaal betalen via Ideal
23
Voorbeeld CY2
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)
Eindgebruikers
Authenticatie
Lokale server voor mobiele toepassingen
Instellingen
Webservices (XML/SOAP)
InQdoConnect
CS
Campus Solutions SaNS-EC
30
Beheerketen FB Instellingen
SaNS-EC
HvA/2AT inQdo/Cloud
AD
UCI/Nijmegen
Server HvA
UvA
WS HvA
AS HvA
DB HvA
WS UvA
AS UvA
DB UvA
WS LEI
AS LEI
DB LEI
CAS inQdo-Connect LDAP Server UvA
inQdo Loadbalancer
Firewall UCI
Leiden inQdo-Connect
SURF
ULCN
Server 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 [email protected]