Bedrijfslogica Extractie
In het voorjaar van 2003 zijn wij begonnen aan
ons afstudeeronderzoek. We wilden beiden naast
het theoretische gedeelte ook graag wat ervaring
opdoen bij een bedrijf. Mede dankzij een zeer
interessant seminar (in samenwerking met
Microsoft) viel ons oog al snel op Info Support.
Na een stevig selectiegesprek mochten wij daar
beginnen aan ons onderzoek.
In overleg met een van de architecten van Info
Support die de rol van opdrachtgever had hebben
we een onderzoeksvoorstel geformuleerd. Het werd
een onderzoek naar een methode om de
bedrijfsregels (business rules) van een
applicatie uit de broncode te extraheren en vast
te leggen in een (meer) declaratief formaat. Een
veelvoorkomend probleem is namelijk dat binnen
een applicatie dezelfde bedrijfslogica in
verschillende applicatielagen gemplementeerd moet
worden. Bovendien zijn veel bedrijfsregels
verstopt tussen broncode die puur technisch van
aard is (loopjes, constructors, exception
handling, hulp variabelen, etc.).
Uiteindelijk hebben wij een Business Rule Engine
(BRE) gemaakt die bovenstaande problemen voor de
bedrijfslogica en presentatielaag oplost. In de
BRE worden de regels vastgelegd in een
implementatieonafhankelijke declaratieve-taal.
De BRE zorgt ervoor dat er runtime een geschikte
implementatie wordt gegenereerd. Voor de
bedrijfslogica laag is dit .NET code, voor de
presentatielaag Javascript. Voor de datalaag zou
de BRE een database schema kunnen genereren, maar
dit hebben we buiten de scope van de
proof-of-concept implementatie gehouden.
We zijn uiteindelijk na vijf maanden bij Info
Support afgestudeerd. Gelijk met ons waren nog
vier andere afstudeerders gestart, wat het heel
gezellig maakte. Gedurende ons onderzoek werden
we op technisch vlak naast onze opdrachtgever ook
nog begeleid door een docent van het Info Support
kenniscentrum. De afstudeerders zijn zelf ook
gehuisvest op het kenniscentrum, waar een heel
informele sfeer heerst. Hierdoor konden we
gebruik maken van de expertise van verschillende
docenten. We kregen meteen het gevoel dat we als
volwaardige collega's werden beschouwd. Op het
kenniscentrum kregen we ook de kans een aantal
.NET cursussen te volgen. Deze kwamen later goed
van pas bij het behalen van een certificatie van
Microsoft. Na de stage periode is ons een baan
aangeboden, die wij beiden hebben geaccepteerd.
Inmiddels werken we al weer twee jaar met veel
plezier bij Info Support.
Hidde Andriessen (hiddea@infosupport.com)
Sander Molenkamp (sanderm@infosupport.com)