Denne artikel stammer fra det trykte Computerworlds arkiv. Artiklen blev publiceret den Computerworld d. 15. januar 2002.
En renlivet XML-database kører nu i produktion i Danmark. Den ligger bag et Java-baseret system til spørgeskemaundersøgelser via web.
Med tjenesten Defgo.net kan web-brugere selv udarbejde og gennemføre spørgeskemaundersøgelser. Alle data gemmes i en database, der arbejder direkte med XML. Folkene bag systemet er godt tilfredse med kombinationen af XML og Java - blandt andet betyder den, at de har fået tre års udviklingsarbejde forærende.
InterResearch A/S, som datalogerne Richard Amdi Madsen og Ole Engele Nielsen oprettede i 1997, udfører spørgeskemaundersøgelser på internet. I år 2000 besluttede de at skrotte deres eksisterende web-system og begynde helt forfra.
- Vores gamle system var meget afhængigt af Java-applets, der kørte i browseren. Det gav et stort arbejde med at sikre, at programmet nu også virkede på alle versioner af de forskellige browsere. Så det var dejligt at kunne smide det hele ud og begynde på en frisk, fortæller Ole Engele Nielsen.
Ren HTML til brugerne
De valgte at opbygge det nye system som Java-servlets, der kommunikerede med data i XML-format. Der sendes udelukkende almindelig HTML kombineret med lidt Javascript ud til brugerens browser.
- Vi valgte teknologier ud fra, at de både skulle være fremtidssikrede og spændende for os at arbejde med, siger direktør Richard Amdi Madsen.
Defgo anvender XML-databasen Tamino fra Software AG. Det er en ren XML-database i modsætning til de velkendte relationsdatabaser, der udstyres med XML-grænseflade.
- Da vi undersøgte markedet, var XML-indgangene til relationsdatabaserne stadig noget meget nyt. Ingen af leverandørerne kunne henvise til danske kunder. Så vi valgte i stedet at satse på en rent XML-produkt, fordi vi regnede med, at Software AG ville være interesseret i at hjælpe en tidlig kunde. Og vi har fået rigtig god service fra dem, siger Ole Engele Nielsen.
De spørgsmål, der til sammen udgør et spørgeskema, ligger gemt som et dokument i Tamino. Herfra henter en Java-servlet dem frem via en søgning i XQuery-sproget.
Når servletten har hentet spørgeskemadokumentet ind i hukommelsen, skal en del af det sendes ud til brugeren i form af en HTML-formular. Oversættelsen fra XML-format til HTML har InterResearch valgt at lade en anden servlet stå for:
- Vi overvejede at bruge XSL (Extensible Stylesheet Language, red.), men vi valgte ikke at gøre det. Det skyldes blandt andet, at der er mange gode Java-værktøjer til at transformere XML med, siger Ole Engele Nielsen.
Fik udvikling forærende
Beslutningen om at basere hele systemet på XML viste sig at være en stor fordel, da InterResearch skulle definere, hvordan spørgeskemaer skulle gemmes i XML-format. Opskriften på, hvordan et dokument er opbygget, hedder i XML-verdenen en DTD (Document Type Definition).
- Vi søgte på nettet og opdagede, at der allerede fandtes en DTD til spørgeskemaer. Den er udviklet under et treårigt EU-forskningsprojekt, så vi fik reelt tre års udvikling forærende, siger Richard Amdi Madsen.
Ole Engele Nielsen ser det som en stor fordel ved at bruge en XML-baseret database, at hele databasestrukturen er beskrevet eksternt i forhold til databasen. Det gør det blandt andet nemt at genetablere databasen.
Ingen tabeller
Hvor en traditionel relationsdatabase gemmer data som poster i tabeller, gemmer en XML-database dokumenter i såkaldte collections. Relationerne mellem forskellige dataelementer fremgår af DTD'erne, der kan henvise til hinanden: For eksempel kan den DTD, der beskriver spørgeskemaet, henvise til den, der beskriver en kunde.
- Det er en fordel, at hele Tamino-systemet er URL-baseret. Der skal ikke installeres noget software hos databaseadministratoren og udviklerne, alt kører over web. Det betyder også, at vi ikke har problemer med at have driftserveren stående hos vores netudbyder, siger Ole Engele Nielsen.
Fra starten frygtede de, at ydeevnen ville give problemer. Men systemet har vist sig at køre tilfredsstillende. Det har dog været nødvendigt at optimere undervejs, blandt andet ved at udnytte cachen, så dokumenter ikke skal hentes fra databasen, hver gang de skal anvendes.
Billedtekst: - Vi var fra starten usikre på, hvor godt en XML-database kunne klare de mange regneopgaver, der indgår i behandling af spørgeskemaer. Men erfaringen viser, at det går fint, siger Ole Engele Nielsen.
Foto: Torben Klint