QVD als tussenlaag - ROC Tilburg - saMBO-ICT

advertisement
HET GEBRUIK VAN QVD’S VOOR
SNELLE APPLICATIEONTWIKKELING
Frank van Dijk
Onderwijsgroep Tilburg
(ROC Tilburg)
HISTORIE
Voorjaar 2013
Resultatenbox MBO
Inrichten Qlikviewserver
Directe databasekoppeling naar Eduarte
KOPEN of ONTWIKKELEN?
OORSPRONKELIJKE ARCHITECTUUR
Publicatie
DWH
SQL-Server
Extractie, Transformatie, Laden (ETL)
Eduarte
AFAS/HRM
AFAS/Fin
Magister
WebUntis
…
HUIDIGE ARCHITECTUUR
Qlikviews
Gestandaardiseerde QVD’s
Extractie, Transformatie, Laden (ETL)
Eduarte
AFAS/HRM
AFAS/Fin
Magister
WebUntis
QVD
QVD
QVD
…
VOORDELEN QVD ARCHITECTUUR
1. Eén omgeving, één technologie


Minder schakels dus minder kans op fouten
Goedkoper (kennis/training, exploitatie)
2.
3.
4.
5.
Krachtige importfunctionaliteit
Extractie/transformatie geüniformeerd
Kleine bestanden (portable)
Rete-snel!
6. Ontwikkelsnelheid Qlikviews!



Geen trage database (verversen van Qlikviews)
Voorwerk (extractie/transformatie) is al gedaan
“Hergebruik” van code
NADELEN QVD ARCHITECTUUR
•
•
•
•
Gesloten architectuur
QVD’s lastig te browsen
Debuggen applicatie is lastig
Beperkte metadata
ONTWERPKEUZE: DIRECTE DATABASE-TOEGANG
QVD
QVD
QVD
ONTWERPKEUZE: INDIRECTE TOEGANG VIA RAPPORTAGE-TOOL
Applicatiegebonden
Rapportage-tool
QVD
QVD
QVD
WAAR MOET JE OP LETTEN (1)?
CONVENTIES
 Zorg voor duidelijke(!), unieke variabele-namen
 Gebruik een uniforme methodiek voor naamgeving
 Markeer sleutelvelden
Versus
WAAR MOET JE OP LETTEN (2)?
STRUCTUUR (doordacht data-model)
WAAR MOET JE OP LETTEN (3)?
GENERIEKE TRANSFORMATIES
 Bewerkingen die je vaak nodig hebt -> voorbereiden in een QVD
STABILITEIT
 Eenmaal in gebruik, niet al te vaak meer aanpassen
PRIVACY !!!!!
 Welke gegevens zijn toegankelijk voor wie?
VOORBEELD: SIMPEL DATA LADEN
OM TE DEBUGGEN: STORETEXT
// Deze sub kan worden aangeroepen om een CSV bestand te maken van een tabel;
SUB STORETEXT(FileNaam)
/***************************************
Voorbeeldaanroep :
één tabel:
call STORETEXT (‘Inschrijvingen');
alle tabellen:
call STORETEXT ('_ALL_');
***************************************/
IF FileNaam = '_ALL_' then
For i=0 to NoOfTables()-1
Let t='['&TableName($(i))&']';
Let dmp='DMP_'&TableName($(i))&'.csv';
Store $(t) into $(dmp) (txt, delimiter is ';');
next i;
ELSE
Let t='[' & FileNaam & ']';
Store $(t) into DMP_$(FileNaam).csv (txt, delimiter is ';');
ENDIF;
ENDSUB
DEMO
1. Opleidingen QVD
2. STORETEXT
Download