MDS: Hoe implementeer je Business Rules of bedrijfsregels?

Master Data Services (MDS) is super handig en wordt tegenwoordig ook vaak misbruikt voor het beheren van het meta-data model voor een Biml Framework. Ideaal! Zo krijg je gratis een handige Excel add-in, kun je werken met versies (nog nooit gebruikt) en kun je de entiteiten gemakkelijk beheren binnen de website van MDS. Wat veel mensen niet weten, is dat je met MDS ook ‘bedrijfsregels’ kunt toepassen op je velden….of te wel Business Rules.

Allereerst, hoe maak je nou zo’n bedrijfsregel aan?
1) Ga naar ‘System Administration’:



 


 

2) Klik via ‘Manage’ op ‘Business Rules’:



 


 

3) Vul vervolgens ‘Name’ en ‘Description’ in, om vervolgens de IF/THEN/ELSE te specificeren:



 


 

4) Klik hierboven op ‘Save’ om deze bedrijfsregel op te slaan.



 

In het bovenstaande scenario wil ik dat indien voor een specifieke kolom ‘UseEncryption’ op ‘Yes’ wordt gezet, MDS automatisch het datatype (en andere waarden) aanpast. Op deze manier zorg ik ervoor (geforceerd) dat mijn meta-data model niet ‘vervuild’ wordt of incorrecte waardes kan bevatten. Dit scheelt mij dan weer Biml-errors tijdens het genereren van de packages :)


Mocht je er een aantal aangemaakt hebben, dan zie je binnen MDS een duidelijk overzicht van alle bedrijfsregels. Vergeet niet om een goede duidelijke naam te kiezen én op ‘Publish All’ te klikken om deze bedrijfsregels te publiceren (en dus te activeren).



 

 

Oh een handige tip, zorg ervoor dat je regelmatig (en het liefst automatisch) exports maakt van het MDS model. Deze geëxporteerde modellen kun je vervolgens via CMD-line importeren mocht je ooit terug willen naar een vorige versie of simpelweg om te kunnen vergelijken. Meer weten?: https://clinthuijbers.wordpress.com/2017/08/07/how-to-automatically-exportbackup-the-mds-model/

 

Ikzelf heb nog niet eerder gewerkt met ‘Versies’ binnen MDS, dit komt vooral omdat je relatief snel MDS laadt en zelden wijzigt zodra het eenmaal gevuld is. MDS zelf is natuurlijk bedoelt om Master Data op te slaan en te beheren, ik zie hier dan wel eerder de toegevoegde waarde van versiebeheer. Meer weten?: https://www.mssqltips.com/sqlservertip/4327/sql-server-master-data-services-mds-versions/