Table Of ContentAcademiejaar 2013–2014 Faculteit Ingenieurswetenschappen en Architectuur
Valentin Vaerwyckweg 1 – 9000 Gent
Opzetten van een cloud based
business intelligence solution
Masterproef voorgedragen tot het behalen van het diploma van
Master in de industriële wetenschappen: informatica
Gylian VERSTRAETE
Tim VAN GOETHEM
Promotoren: ing. Pieter-Jan MAENHAUT
ing. Peter SEYNAEVE (Deloitte Accountancy BC & IT)
Jeroen BLANCKAERT (Deloitte Accountancy BC & IT)
Begeleider: Johan VLAMINCKX (Deloitte Accountancy BC & IT)
Powered by TCPDF (www.tcpdf.org)
ii
De auteurs geven de toelating deze scriptie voor consultatie beschikbaar te stellen en delen
ervan te kopi¨eren voor persoonlijk gebruik. Elk ander gebruik valt onder de beperkingen van
het auteursrecht, in het bijzonder met betrekking tot de verplichting uitdrukkelijk de bron te
vermelden bij het aanhalen van resultaten uit deze scriptie.
The authors give the permission to use this thesis for consultation and to copy parts of it for
personal use. Every other use is subject to the copyright laws, more specifically the source
must be extensively specified when using from this thesis.
Gent, juni 2014
Gylian Verstraete
Tim Van Goethem
iv
Woord vooraf
Een thesis vormt het sluitstuk van een opleiding. Een masterproef laat toe om een eigen
toets te geven aan de studie door een onderwerp te kiezen in een domein dat je interesseert.
Deze thesis heeft ons veel kennis bijgebracht in de domeinen van cloud computing en business
intelligence. Een thesis maak je niet alleen en daarom dient er een dankwoord geschreven te
worden.
Vooreerstwillenwijonzedankbetuigenaanonzeinternepromotoring. Pieter-JanMaenhaut.
Wij bedanken hem voor zijn begeleiding tijdens deze masterproef en zijn technische hulp en
kennis die hij meermaals aan ons ten dienste heeft gesteld.
Vervolgens richten wij onze oprechte dank aan onze externe promotoren Jeroen Blanckaert en
ing. Peter Seynaeve. Ze stonden ons bij tijdens onze masterproef met zowel functionele als
technische hulp. Zij maakten het ook mogelijk dat wij dit boeiend project konden aanvatten.
Verder willen we ook Johan Vlaminckx bedanken. Als partner van Deloitte BC&IT is hij
diegene die dit project mogelijk maakte voor ons.
Ten slotte nog een speciaal woord van dank aan onze families. Ze stonden ons niet alleen in
dit project bij, maar ook in de rest van ons leven. Wij richten hierbij een woord van dank
aan Flo Vandenbussche voor het meehelpen aan de poster voor dit project. In het bijzonder
bedanken we de moeder en de zus van Tim en de moeder van Gylian voor het nalezen van
deze thesis.
Gylian Verstraete
Tim Van Goethem
Gent, juni 2014
v
vi
Inleiding
Wat is de cloud? Wat houdt multitenancy in? Wat wordt er bedoeld met business intel-
ligence? Hoe kan een bestaande toepassing omgebouwd worden naar een cloud applicatie?
Wat zijn de veiligheidsrisico’s bij cloud toepassingen? Hoe kan een cloud applicatie toch
goed beveiligd worden? Hoe gebeurt dit performant? Hoe zit het met de schaalbaarheid van
dergelijke applicaties?
Deze thesis zal met behulp van een concrete applicatie trachten een antwoord te bieden op al
deze vragen.
Eenbegripdatenigszinslosstaatvandecloud,isbusiness intelligence1. Business intelligence,
afgekort BI, is een collectie van applicaties en technologie¨en om gegevens te verzamelen, te
bewaren, te analyseren en beschikbaar te stellen aan het management. Zij kunnen dan op die
manier meer gegronde beslissingen nemen.
TijdensdemasterproefwerdinsamenwerkingmetDeloitte2 een‘proof of concept’ uitgewerkt,
waarbij een bestaande applicatie, de Deloitte Controlling Template (DCT) genaamd, werd
omgevormd naar een cloud variant.
Wat de DCT is en waarvoor men het gebruikt, wordt uitlegd in het eerste hoofdstuk. In het
tweede hoofdstuk worden een aantal functionele vereisten opgelijst die aangepast zijn aan een
multi-tenant omgeving. Zo wordt besproken hoe tenants beheerd worden en hoe de applicatie
dynamisch kan worden aangepast aan de noden van de klant.
In het derde hoofdstuk wordt de cloud vanuit verschillende perspectieven bekeken. Als eerste
komt multitenancy aan bod waarbij een historische schets wordt gemaakt. Een tweede aspect
bestaat uit de verschillende implementatiemodellen zoals een publieke en een private cloud
en een beknopte inleiding in gedistribueerde clouds en inter-cloud architecturen. Vervolgens
wordendeverschillendeservicemodellentoegelicht. DebelangrijkstehierbijzijnInfrastructure
as a Service, Platform as a Service en Software as a Service. Als vierde topic worden de
verschillende kostenmodellen uit de doeken gedaan, gevolgd door Service Level Agreements
1Zie ook: http://www.techopedia.com/definition/345/business-intelligence-bi
2http://www2.deloitte.com/be/en.html
vii
viii
(SLAs) en de problematiek rond privacy en wetgeving. Tot slot wordt er een keuze gemaakt
over hoe de cloud er voor de DCT moet uitzien.
In het vierde hoofdstuk wordt eerst een overzicht gegeven van de gebruikte technologie¨en om
vervolgens de logische opbouw van de applicatie te bekijken. De verschillende lagen worden
uitgelegd en er wordt bekeken hoe de logging met behulp van Aspect-Oriented Programming
(AOP)3 kan verweven worden in de code. Ten slotte wordt Microsoft Azure kort toegelicht,
waarbij onder andere gekeken wordt naar de beperkingen die hierbij worden opgelegd aan de
applicatie.
Inhetvijfdehoofdstukwordenenkeledatamodellenvanbestaandebusinessintelligencesoluti-
ons geanalyseerdenwordteeneigendatamodeluitgewerktvoorzowelderelationeledatabank
als het datawarehouse4.
In het zesde hoofdstuk worden allerhande technieken bekeken die de performantie van de ap-
plicatie verhogen. Zo zal er aan server-side paginering, filtering en sortering worden gedaan.
Verder wordt asynchroon programmeren in C#.NET en ASP.NET MVC uitgediept. Hierbij
wordteerstuitgelegdwanneerasynchroonprogrammerenvoordelenbiedttenopzichtevanhet
klassieke synchroon programmeren. Vervolgens worden enkele programmeerpatronen bespro-
ken en om dit topic af te sluiten, wordt een codevoorbeeld uitgewerkt waarbij een asynchrone
file upload ge¨ımplementeerd wordt.
Hetvervolgvanhoofdstukzeshandeltoverdeverschillendepartitioneringscriteriaen-modellen
en de voordelen van partitioneren. Het hoofdstuk wordt afgesloten met een woordje uitleg
over state servers en load balancers.
In het zevende en laatste hoofdstuk wordt gekeken naar de verschillende veiligheidsmaat-
regelen die genomen zijn. Deze maatregelen gaan van het scheiden van de tenants tot het
toekennen van rollen binnen een tenant en zelfs tot het weren van kwaadaardige acties.
3Aspect-OrientedProgramming iseenmaniervanprogrammerenwaarbijmendemodulariteitwilverhogen
door de zogehete cross-cutting concerns zo veel mogelijk te scheiden.
4Een datawarehouse is een databank, gebruikt voor het analyseren en rapporteren van data.
Abstract (Nederlands)
Hetdoelvandezemasterproefisomeenbestaandfinancieelrapporteringsplatformomtevor-
men naar een multi-tenant applicatie in de cloud. Hierbij stelt elke tenant een bedrijf voor en
elkbedrijfkaneenaantalentiteitenbevatten. Bijhetrapporterenkunnenbepaaldeentiteiten
gegroepeerd worden tot consolidaties. Het is vereist dat de bestaande functionaliteiten uit de
Deloitte Controlling Template (DCT) beschikbaar zijn in deze online oplossing. De gebruiker
moet via een performante en gebruikersvriendelijke user interface toegang krijgen tot zijn
gegevens en deze verder kunnen gebruiken/manipuleren om tot de gewenste rapportering te
komen. Hierbij is het uiteraard de bedoeling dat een gebruiker geen impact ondervindt van
anderegebruikers. Samen metperformantie behoren beveiligingen schaalbaarheidtot dedrie
grootste aandachtspunten binnen deze thesis.
ix
x
Description:NET en ASP.NET MVC uitgediept. Hierbij wordt eerst uitgelegd wanneer asynchroon programmeren voordelen biedt ten opzichte van het klassieke Woord vooraf v. Introductie vii. Abstract (Nederlands) ix. Abstract (English) xi. Inhoudsopgave xvii. 1 Huidige applicatie. 1. 2 Functionele vereisten. 5.