Gegevenskoppelingen Bezint eer ge verbindt…
Jasper Grannetia Trainer/Consultant
Top 3 Uitspraken over ‘koppelingen’
“Hebben jullie een koppeling met [product x]?”
(ja, bijna altijd bijna)
“We hebben een webservice, dus het is geregeld.”
(dat is een mooi begin,maar…)
“De koppeling is stuk.”
(of doet de koppeling eigenlijk precies wat hij móet doen?)
Agenda • Wat is ‘een koppeling’? • Technische begrippen • Hoe ontwikkel je ‘een koppeling’? • Voorbeelden
Soorten koppelingen We spreken van een koppeling wanneer twee of meer applicaties gegevens uitwisselen. Bijv.: • • • •
Gebruikersgegevens uitwisselen Resultaten terugkoppelen Inloggen (Single Sign On/Single Log On) SSO voor methodesite
Gebruikersgegevens uitwisselen Soorten koppelingen
Administratie
Naam Email Klas etc.
ELO
Resultaten terugkoppelen Soorten koppelingen
Administratie
’Cijfers’
ELO
Inloggen (Single Sign On) Soorten koppelingen
ELO
Webmail
Roosters
?
Active Directory
SSO voor methodesite Soorten koppelingen
ELO
?
Methodesite
Wat is ‘een koppeling’? Conclusie
‘De koppeling’ bestaat niet.
Agenda • Wat is ‘een koppeling’? • Technische begrippen • Hoe ontwikkel je ‘een koppeling’? • Voorbeelden
Technische begrippen “Een koppeling is een proces dat (soms) wordt uitgevoerd door middleware die via webservices gegevens opvraagt bij de betrokken applicaties en op basis van business logic wijzigingen uitvoert in deze applicaties. Vaak wordt dit in een batch gedaan, maar soms ook op basis van events.”
Techniek • • • • •
Proces Middleware Webservices Business logic Batch vs. ‘event driven’
Proces Techniek
Het uitwisselen van gegevens is een proces en het proces is meer dan de computers die het uitvoeren. Dat de uitwisseling wordt uitgevoerd door computers is mooi meegenomen, maar als kabouters het zouden doen, dan was het ook goed geweest.
Middleware Techniek
Middelware is software die is ontworpen om andere systemen in te staan en deze systemen te verbinden.
Administratie
Middle ware
ELO
Middleware Techniek
Middelware is software die is ontworpen om andere systemen in te staan en deze systemen te verbinden.
Webservices Techniek
Een webservice is een ‘loket’ waar een applicatie via het web diensten aanbiedt aan andere applicaties.
App
App App
App
App
Webservices Techniek
Voorbeelden van webservices die wij bieden: Accountgegevens over Jasper ophalen In welke groepen zit Jasper?
Webservices Techniek
Business Logic Techniek
‘Business logic’ is IT-speak voor de regeltjes die de koppeling volgt. Bijv. • Een gebruiker wordt aangemaakt als… • Een groep wordt leeggemaakt als… • Een gebruikers wordt ingelogd als…
Batch vs. ‘event driven’ Techniek
In een batchgewijze aanpak wordt een bundel opdrachten achter elkaar verwerkt door het ontvangende systeem. In een event driven aanpak wordt een wijziging in het ene systeem direct doorgevoerd in het andere systeem.
Techniek “Een koppeling is een proces dat (soms) wordt uitgevoerd door middleware die via webservices gegevens opvraagt bij de betrokken applicaties en op basis van business logic wijzigingen uitvoert in deze applicaties. Vaak wordt dit in een batch gedaan, maar soms ook op basis van events.”
Agenda • Wat is ‘een koppeling’? • Technische begrippen • Hoe ontwikkel je ‘een koppeling’? • Voorbeelden
• • • •
Analyse & ontwerp Bouw Test Live
Live
Test
Analyse & ontwerp
Bouw
Hoe ontwikkel je een koppeling?
Analyse en ontwerp Hoe ontwikkel je een koppeling?
Requirements • Beschrijf wat de ‘business’ nodig heeft. Functioneel ontwerp • Beschrijf wat de koppeling moet doen. • Denk in levenscycli. • Moet bestaande data geconverteerd worden? Testplan • Pak het FO en zeg: ‘Oja? Laat maar eens zien!’
Voorbeeld Requirements Hoe ontwikkel je een koppeling?
“De relevante actuele persoonsgegevens van onze gebruikers moeten in de ELO beschikbaar zijn. De leerlingen worden in de ELO in klassen en clusters ingedeeld.”
“Ons administratiesysteem ‘X’ is leidend. De ELO volgt.” “De beheerder moet in logbestanden kunnen inzien wat de koppeling heeft gedaan.”
Voorbeeld Functioneel Ontwerp Hoe ontwikkel je een koppeling?
1. Voor de student wordt in de ELO een account aangemaakt wanneer deze in het administratiesysteem X de status ‘ingeschreven’ heeft of als hij is ingeschreven in een opleiding. 2. Als de student niet meer actief is volgens de bepaling onder 1), dan vindt het volgende plaats: a) b) c)
Het account van de student krijgt het licentietype ‘NO ACCESS’ Aan de naam van de student wordt de tekst ‘ (niet meer actief)’ toegevoegd De student wordt uit alle klassen en clusters gehaald en in de oudleerlingengroep geplaatst
3. De boomstructuur wordt als volgt opgebouwd: • School • Leerjaar • Klas
Voorbeeld Testplan Hoe ontwikkel je een koppeling?
1. Zet de status van de student op ‘Ingeschreven’ en kijk of voor de student een account wordt aangemaakt. 2. Deactiveer de student in de administratie en kijk of dit gebeurt: a) b) c)
Het account van de student krijgt het licentietype ‘NO ACCESS’ Aan de naam van de student wordt de tekst ‘ (niet meer actief)’ toegevoegd De student wordt uit alle klassen en clusters gehaald en in de oudleerlingengroep geplaatst
3. Controleer of de boom als volgt wordt opgebouwd: • School • Leerjaar • Klas
Hoe ga je eigenlijk live? Hoe ontwikkel je een koppeling?
• Test het proces zoals je het wilt uitvoeren. • Informeer betrokken eindgebruikers over: 1. Wat de koppeling doet 2. Wat de koppeling niet doet 3. Wanneer de koppeling wordt uitgevoerd
• Zorg dat support en beheerderd weten hoe de koppeling werkt!
Agenda • Wat is ‘een koppeling’? • Technische begrippen • Hoe ontwikkel je ‘een koppeling’? • Voorbeelden
Voorbeelden • ROC van Twente – Gebruikers en groepen beheren – SLB’ers importeren in het Pedagogisch Dossier – AMN PDF-rapporten importeren