Vivid Data Objects
Authors
Johannesen, Alex Henning ; Volstrup, Jacob
Term
4. term
Education
Publication year
2007
Abstract
Dette speciale præsenterer VDO-rammeværket, som forenkler kommunikationen mellem “forms-over-data”-applikationer og et relationsdatabasestyringssystem (RDBMS). Forms-over-data-apps viser og redigerer primært data via enkle formularer og har derfor kun et begrænset behov for avancerede forespørgsler. Motivation stammer fra det såkaldte “impedance mismatch” mellem objektorienteret kode og relationelle tabeller samt de praktiske udfordringer ved at bruge RDBMS-data i et objektorienteret miljø. VDO håndterer disse forhold ved automatisk at generere et specialiseret API, der anvender fire velkendte designmønstre og indeholder en synkroniseringsmekanisme. Mekanismen understøtter en letvægtsmodel for samtidighed, så lokale data holdes konsistente med ændringer i RDBMS'et. Vi dokumenterer rammeværket grundigt og evaluerer dets styrker og begrænsninger. Konklusionen er, at VDO hjælper udviklere med at undgå unødigt dobbeltarbejde, når de bygger applikationer, der sikkert skal interagere med et RDBMS sammen med andre klienter.
This thesis presents the VDO framework, which streamlines communication between forms-over-data applications and a relational database management system (RDBMS). Forms-over-data apps mostly display and edit data through simple forms and therefore require only limited query capabilities. Our motivation comes from the impedance mismatch between object-oriented code and relational tables, and the practical hurdles of using RDBMS data inside an object-oriented environment. VDO addresses these issues by automatically generating a specialized API that applies four established design patterns and includes a synchronization mechanism. This mechanism supports a lightweight concurrency model that keeps local data consistent with changes in the RDBMS. We document the framework in detail and evaluate its strengths and limitations. We conclude that VDO helps application developers avoid repeated effort when building applications that need to interact safely with an RDBMS alongside other clients.
[This abstract was generated with the help of AI]
Documents
