Tijdreizen in uw zakelijke gegevens - De magie van de nieuwe middle-tier

pic-patrick-hofman
Sinds kort is er een nieuwe generatie middle-tiers. Door deze laag tussen database en applicatie hebben beheerders minder werken gebruikers meer mogelijkheden. Sommige middle-tiers maken zelfs tijdreizen’ in de zakelijke gegevens mogelijk.

Zowel DBA’s als gebruikers kennen bij het werken met databases een aantal steeds terugkerende problemen. Deze belemmeren hen in hun werk, zijn tijdrovend en kunnen het werk af en toe zelfs onmogelijk maken. Voor veel van deze problemen bestaat echter al enige tijd een oplossing: de middle-tier. Ook ontwikkelaars van databases kennen een aantal regelmatig terugkerende problemen. Denk bijvoorbeeld aan moeilijk te ontdekken en te herstellen menselijke fouten, of aan het traceren van gegevens of acties uit het verleden. Maar denk ook aan de confrontatie met databases die moeilijk of helemaal niet aan applicaties van derden te koppelen zijn en daarmee minder bruikbaar worden in een geïntegreerde zakelijke omgeving. Daarnaast hebben ook gebruikers kritiek op databasetoepassingen. Veelgehoorde klachten zijn traagheid bij het ophalen van informatie uit de database, meerdere applicaties/databases met afwijkende informatie over hetzelfde onderwerp en een gebrek aan begrijpelijkheid en vindbaarheid van de opgeslagen data. Dat wil zeggen: veel computertaal maar weinig ‘gewone mensentaal’. Het zijn nu precies dit soort problemen die ondervangen kunnen worden met een middle-tier, ook wel ‘business logic layer’ genoemd. De huidige generatie van middle-tiers is zelfs in staat om het grootste gedeelte van de frustraties uit de weg te ruimen.

Gebruiksvriendelijk

Een middle-tier slaat een brug tussen een database en een applicatie, werkt als doorgeefluik én vertaler van inkomende en uitgaande informatie. Het is vaak handiger voor gebruikers om informatie te benaderen via een middle-tier, omdat zij dan niet op de hoogte hoeven te zijn van bijvoorbeeld volgnummers. Dergelijke codes worden gekoppeld aan projecten of producten om ze beter handelbaar te maken in IT-systemen, maar komen de gebruiksvriendelijkheid vaak niet ten goede. Via een middle-tier kunnen gebruikers zoeken op basis van praktische terminologie, de tussenlaag maakt de vertaalslag voordat de zoektocht in de database gestart wordt. Zo kan een medewerker zoeken op een naam (bijvoorbeeld ‘M6 bout 5 cm’ of bouwproject Hoogdaelem’) zonder daarvoor een product- of projectnummer of zelfs een databasenummer te hoeven weten. Dit maakt werken en zoeken in de database een stuk gebruiksvriendelijker en sneller. Ook zijn middle-tiers in staat om databases aan elkaar te koppelen of applicaties met elkaar te laten communiceren. Daarnaast zijn sommige middle-tiers zelfonderhoudend. Dit maakt software-ontwikkeling een stuk efficiënter, in de lijn van extreme programming en Rapid Application Development.

Sommige middle-tiers maken zelfs ‘tijdreizen’ in de zakelijke gegevens mogelijk.

Bij de koppeling van een nieuwe database en bij iedere nieuwe applicatie die moet kunnen zoeken in de gegevens, wordt de middle-tier relatief eenvoudig uitgebreid. Zo’n zichzelf uitbreidende – dus als het ware upgradende – middle-tier maakt dat de gebruiker en beheerder van de databases niet meer afhankelijk zijn van softwareleveranciers. En mede daardoor is een middle-tier voor veel bedrijven uiteindelijk een stuk goedkoper dan traditionele oplossingen voor databasebeheer.

Tijdmachine

Zoals gezegd kan de nieuwe generatie middle-tier-oplossingen meer. De nieuwe middle-tiers voegen functies toe die de databasegebruikers ongekende mogelijkheden geven voor het vinden en gebruiken van informatie. Ten eerste is de nieuwe middle-tier in staat om verschillende oplossingen van verschillende leveranciers aan een gezamenlijke database te koppelen; de database is te benaderen vanuit meerdere mechanismen. Niet alleen vanuit een brede waaier aan software-applicaties, maar ook webservices (online software) en API’s (voor geautomatiseerde informatievragen) kunnen via de middle-tier op de database(s) worden aangesloten. Zo zorgt de tussenlaag ervoor dat allerlei verschillende programma’s eenvoudig kunnen communiceren met de database en met elkaar. Op die manier is de informatie eenvoudig uit het systeem te halen en blijft de informatie in de database altijd schoon en up-to-date.

De tussenlaag zorgt ervoor dat verschillende programma’s eenvoudig kunnen communiceren met de database.

Daarnaast hebben sommige nieuwe middle-tier-oplossingen een functie waarmee de gebruiker als het ware door de tijd kan reizen. De nieuwe tussenlaag maakt het namelijk mogelijk om de exacte situatie en gegevens van een tijdstip uit het verleden op te roepen. Het is bijvoorbeeld van belang de status van een bepaald project op 31 maart 2005 om 2 uur ‘s middags te reconstrueren. Dan kunnen datum en tijd van dat moment in de middle-tier worden ingevoerd, waarna alle gegevens zich automatisch terugzetten naar de situatie op die datum. Zo werkt de middle-tier als een soort tijdmachine voor de databasegegevens.Deze functie heeft een aantal grote voordelen. Aangezien het mogelijk wordt om gegevens en zelfs complete situaties van ieder gewenst tijdstip terug te roepen, zijn allerlei analyses beter mogelijk zoals data mining ten behoeve van een audit. De middle-tier zorgt ervoor dat goed te zien is welke acties een gebruiker heeft ondernomen. Maar ook is te zien waar deze eventueel is vastgelopen of is afgehaakt.Ook breidt de nieuwe middle-tier de rapportagemogelijkheden uit. Als bijvoorbeeld blijkt dat de export van gegevens naar een programma is mislukt, kan de situatie van dat moment opgeroepen worden om de export, met exact dezelfde data, alsnog correct uit te voeren. Deze mogelijkheid zorgt er overigens ook voor dat export van gegevens om voortgang te ‘loggen’ minder nodig is, omdat de voortgang eenvoudig via de middle-tier te monitoren of terug te roepen is.

Ook versiebeheer geeft geen problemen meer omdat oude versies van documenten, mits beheerd via de middle-tier, terug te halen zijn. Zo kunnen wijzigingen eenvoudig ontdekt worden en gekoppeld aan de juiste gebruiker en zijn eerdere versies gemakkelijk te hergebruiken. Gebruikers kunnen met de tijdreisfunctie van de middle-tier dus veel meer zelf terugvinden en herstellen. Er hoeft dus ten eerste minder logica in de software gebouwd te worden. Dat maakt de ontwikkeling van software eenvoudiger en minder kostbaar. Daarnaast krijgt de beheerder minder verzoeken omtrent het terugplaatsen van een backup van de database om gegevens terug te halen, wat meestal een tijdrovende kwestie is. Dus nemen ook de beheerkosten van de database aanzienlijk af, omdat de beheerder zijn tijd nuttiger kan besteden. De middle-tier zorgt overigens in het algemeen voor een historiebewuste database met exactere en meer volledige gegevens dan een door een beheerder teruggeplaatste database. Als een gebruiker terugkijkt in de tijd, dan heeft dit geen invloed op hetgeen andere gebruikers zien. Zo combineert de middle-tier optimale vrijheid met buitengewone mogelijkheden.

Conclusie

De middle-tier van tegenwoordig heeft naast uitbreiding van de mogelijkheden nog meer voordelen ten opzichte van de oude variant. Met name de kosten voor de opdrachtgever zijn aanzienlijk afgenomen. Vroeger was het aankopen en implementeren van een middle-tier-oplossing pas rendabel bij een project van een paar ton in euro’s. Tegenwoordig is het inzetten van een middle-tier-oplossing al rendabel bij projecten van enkele duizenden euro’s. Dat komt met name omdat er niet veel maatwerk meer geleverd hoeft te worden. Veelal gebeurt de installatie automatisch, met weinig menselijke interventie. Invantive heeft bijvoorbeeld een soort ‘plug-and-play’ middle-tier die zelfgenererend is en ook applicaties voor informatieanalyse kan genereren.

Sowieso kan het voor kleinere bedrijven verstandig zijn om met een middle-tier aan de slag te gaan. Als een applicatie en database klein zijn kan een ‘houtje-touwtje-oplossing’ weliswaar prima functioneren; op het moment dat de database uitbreidt of het aantal gebruikers en applicaties toeneemt wordt de situatie penibel. Dan wordt de vorige, provisorische oplossing ineens een desinvestering en kan het bedrijf alsnog de overstap naar een gevestigd systeem niet omzeilen. Een middle-tier is schaalbaar en daardoor uitermate geschikt voor groeiende organisaties. Eigenlijk zou iedere organisatie die onderhevig is aan veranderingen er verstandig aan doen een middle-tier te gebruiken. En welk bedrijf is dat tegenwoordig niet?

De middle-tier zal niet de oplossing zijn voor alle frustraties of knelpunten die rondom databasebeheer hangen. ICT-oplossingen kunnen nu eenmaal nooit alle problemen ondervangen. Maar deze oplossing draagt wel in hoge mate bij aan een effectief en gebruiksvriendelijke manier van omgaan met databases.

Invantive heeft al een aantal van deze ‘tijdreizende’ middle-tiers geïmplementeerd onder de naam Invantive Producer. Tot op heden kan deze tussenlaag alleen worden aangeboden in combinatie met Oracle-producten, maar andere varianten zijn in de maak.

Dit artikel is ook als PDF beschikbaar

Publicatie Patrick Hofman Database Magazine – Nummer 2 – maart 2008