Het is met de economische waarde van programmacode net als met onroerend goed. De belangrijkste drie bepalende factoren zijn: locatie, locatie en locatie. Waar (en hoe lang) de programmeercode wordt gebruikt bepaalt de levensduur en de waarde van deze code.
Kijken we naar de leeftijd van alle in nog in bedrijf zijnde software, vermoed ik dat 90 procent – van alles wat ouder is dan 25 jaar – draait in de database zelf, niet in middleware- of front-end-applicaties. In moderne crm- en erp-systemen wordt systeeminrichting gedaan in de applicatie. Structurele ‘customization’ van de applicatie zelf is nooit mogelijk. Hierdoor zijn de gemaakte attributen van de inrichting vaak ‘second class citizens’ in de web-api van de applicatie in vergelijking tot de basisfunctionaliteit zelf. Soms zie je allerlei configuratie/implementatie-attributen zelfs alleen maar terug in de gui’s/frontends. Gevolg is dat je bij iedere front-end-migratie weer heel veel configuratie opnieuw mag doen en dat de configuratie niet overal beschikbaar voor is, maar op zijn best als data en nooit als dynamiek in de structuur.
Daar waar de applicatie zelf gebruik moet maken van web-api’s kan dat ook niet ver genoeg achter in de database gebeuren. Een dramatische versimpeling kan worden gecreëerd door een http-webrequest stored procedure beschikbaar te maken in de database. In T-SQL kan dit met een clr stored procedure in C#. In andere databases zullen ongetwijfeld soortgelijke oplossingen mogelijk zijn.
Programmastappen
Door de bedrijfsprocessen en overige vakmaterie van de toepassing zoveel mogelijk in te bedden in de database, kan de web-api middleware zich beperken tot het assembleren van algemene scripts die gebruik maken van de in de betreffende database aanwezige stored procedures. In powerautomation/flow gebouwde middleware kan daardoor het aantal programmastappen worden terug gebracht tot onder de tien, twintig, terwijl halen en brengen van en naar de database in opvolgende stappen vaak tot trage en hopeloos complexe structuren leidt.
Door de vakmaterie-deskundigen van de opdrachtgever al in het vroegste stadium bij de ontwikkeling van de stored procedures te betrekken, kan het project functioneel haast in zijn structuur worden ge-customized, niet uitsluitend op implementatie/inrichtingsniveau. Een uitgelezen manier om kroonjuwelen en het tafelzilver van elk project volkomen tijdloos te maken.