Logisch Data Warehouse
Modelgedreven data-warehouse ontwikkeling Laatst bijgewerkt: 29 oktober 2015

Ik ben een groot voorstander van modelgedreven softwareontwikkeling en het automatiseren van het software ontwikkelproces. Met behulp van softwareontwikkeling werken we al jaren aan het automatiseren van verschillende processen in een organisatie, maar het bouwen van de software zelf is vaak nog een grotendeels handmatig proces.

De voordelen van het modelgedreven, geautomatiseerd ontwikkelen van software, bijvoorbeeld een datawarehouse, zijn vergelijkbaar met de voordelen van het automatiseren van elk ander productieproces:

  • Een hogere voorspelbaarheid en uniformiteit van het eindproduct.
  • Minder fouten tijdens het ‘productieproces’.
  • Een kortere ontwikkeltijd, dus lagere ontwikkelkosten.

Daarnaast biedt modelgedreven softwareontwikkeling het voordeel dat je het product relatief goedkoop kunt herzien. Anders dan bij een fysiek product, verspil je bij de herziening van software geen grondstoffen, behalve dan de geïnvesteerde tijd. Een ander belangrijk voordeel van een modelgedreven aanpak vind ik dat het ontwerp altijd leidend is. Er is geen sprake meer van verouderde ontwerpdocumentatie omdat de software pas verandert als je het ontwerp aanpast.

In dit artikel wil ik aan de hand van een eenvoudige voorbeeldimplementatie laten zien hoe een modelgedreven aanpak kan worden geïmplementeerd met alleen technologie uit de Microsoft BI stack. Ik maak dus alleen gebruik van technologie die bekend is bij personen die BI-producten ontwikkelen met Microsoft. In hoofdlijnen komt de voorbeeldimplementatie neer op het volgende:

  • Een metamodel van de DWH oplossing, vastgelegd in een MS SQL-database.
  • Views en t-sql scripts om vanuit het metamodel de benodigde DDL te genereren.
  • Views en t-sql scripts om vanuit het metamodel de benodigde SSIS-packages te genereren met Biml.
  • Een SSRS-rapportage om de systeemdocumentatie te maken.

Voor de implementatie maak ik gebruik van de Adventureworks-database. Alle gebruikte programmacode kun je aan het eind van het artikel downloaden om zelf mee te experimenteren.

Biml? Wat is Biml?

Voordat ik de voorbeeldimplementatie beschrijf, is het goed om kort stil te staan bij Biml.

Biml staat voor Business Intelligence Markup Language en is een op XML gebaseerde open standaard voor het beschrijven van BI-systemen (datamodel en ETL). Biml is ontwikkeld door het bedrijf Varigence en wordt binnen Visual Studio onder andere ondersteund met behulp van de open source plugin Bidshelper. Met BidsHelper kun je SSIS-packages genereren op basis van een Biml bestand.

Meer informatie over Biml vind je onder andere op de volgende sites:

De Bidshelper plugin vindt je op de volgende site:
https://bidshelper.codeplex.com/

Willem Otten, Microsoft BI-consultant Kadenza


Whitepaper
DOWNLOAD