Wikisage is op 1 na de grootste internet-encyclopedie in het Nederlands. Iedereen kan de hier verzamelde kennis gratis gebruiken, zonder storende advertenties. De Koninklijke Bibliotheek van Nederland heeft Wikisage in 2018 aangemerkt als digitaal erfgoed.
- Wilt u meehelpen om Wikisage te laten groeien? Maak dan een account aan. U bent van harte welkom. Zie: Portaal:Gebruikers.
- Bent u blij met Wikisage, of wilt u juist meer? Dan stellen we een bescheiden donatie om de kosten te bestrijden zeer op prijs. Zie: Portaal:Donaties.
Fluid Database Architecture (FDA)
Fluid Database Architecture (afgekort: FDA) is een methode voor het geautomatiseerd genereren van databasesystemen.
Inleiding
Databasesystemen bestaan doorgaans uit drie lagen: een interfacelaag, een codelaag en een datalaag. Normaal gesproken moet elke laag handmatig worden gebouwd. Met Fluid Database Architecture is het bouwen van maar één laag voldoende, de andere twee worden daarvan afgeleid en automatisch gegenereerd.
De handmatig gemaakte laag, binnen Fluid Database Architecture ook wel de 'blauwdruklaag' genoemd, staat dus eigenlijk model voor het hele databasesysteem.
Varianten
Er bestaan op dit moment twee varianten van Fluid Database Architecture: een topdown-variant en een bottomup-variant.
Bij de topdown-variant, ook wel de wysiwyg-variant genoemd, vormt een grafisch ontwerp van de interface de basis voor het uiteindelijke databassysteem. Speciale algoritmen analyseren de interface-elementen en genereren automatisch de bijbehorende code- en datalaag. Voor deze variant is weinig technische knowhow nodig. Daardoor is hij zeer bruikbaar voor niet-programmeurs. Picnic, een doe-het-zelf-platform voor het bouwen van webbased databasesystemen, is op deze topdown-variant gebaseerd.
De bottomup-variant werkt precies andersom. Een Entity Relationship Diagram (ERD) levert hier de informatie die nodig is voor het automatisch genereren van de bijbehorende code- en interfacelaag. Deze variant vereist meer kennis van datamodellering, maar vergt minder tijd. Deze methode wordt daarom met name toegepast door de wat meer ervaren databaseprogrammeurs.
Toepassingen
Fluid Database Architecture wordt met succes toegepast voor:
- het bouwen van nieuwe databasesystemen,
- het verbouwen van bestaande databasesystemen, en
- het herbouwen van databasesystemen.
Inmiddels zijn op Fluid Database Architecture gebaseerde platforms beschikbaar voor het ontwikkelen van database toepassingen in Microsoft Access, Microsoft SQL Server, PHP in combinatie met MySQL, Java en Oracle.
Voordelen
Voor het bouwen, verbouwen of herbouwen van een databasesysteem met Fluid Database Architecture zijn vergeleken met andere bouwmethoden over het algemeen veel minder manuren nodig, eenvoudigweg omdat een groot deel van wat voorheen handmatig moest gebeuren met Fluid Database Architecture geautomatiseerd plaatsvindt. Dat is sneller, maar het is ook minder foutgevoelig en leidt dus tot minder herstelwerk. Het bouwen, verbouwen of herbouwen van datasystemen met Fluid Database Architecture is dus vaak sneller en goedkoper.
Verder biedt Fluid Database Architecture een oplossing voor een fatale spagaat waarin veel softwareontwikkelprojecten terechtkomen:
Naarmate een project vordert
a. bestaat de software uit steeds meer, almaar omvangrijker en complexer wordende met elkaar interacterende lagen, waardoor het steeds moeilijker en tijdrovender wordt om aanpassingen door te voeren (zie ook Boehms cost of change curve),
en tegelijkertijd
b. gaat de gebruikersorganisatie steeds meer aanpassingsverzoeken indienen, omdat zij door tussentijdse opleveringen van de concrete software steeds meer hiaten gaat zien in haar denk- en ontwerpproces vooraf (voortschrijdend inzicht).
Anders gezegd: de gebruikersorganisatie verlangt gaandeweg softwareontwikkelprojecten steeds meer flexibiliteit van de softwareontwikkelaar, terwijl de softwareontwikkelaar gaandeweg het project juist steeds minder flexibel en wendbaar wordt. In veel softwareontwikkelprojecten wordt dan vroeg of laat het punt bereikt waarop de gebruikersorganisatie meer flexibiliteit en wendbaarheid vraagt dan de softwareontwikkelaar kan bieden. Dat is ook vaak het moment waarop projecten moeilijk beheersbaar worden en qua budget en doorlooptijd uit de hand gaan lopen.
Door gebruik te maken van Fluid Database Architecture blijven softwareontwikkelaars tot ver in een project flexibel: elk aanpassingsverzoek van de opdrachtgever kan immers eenvoudig worden gerealiseerd door de blauwdruklaag aan te passen en de software opnieuw te genereren. [1]