Institutionen för Datavetenskap
Linköpings universitet





Examensarbete

Databaskopiering via XML


Patrik Erikson, Magnus Jansson



Sammanfattning

Examensarbetet handlar om överföring av data mellan två databaser med likadant schema via en mellanlagring i märkordsspråket XML. XML är ett på senare år starkt kommande format att lagra data i. Eftersom det precis som programspråket java är plattformsoberoende, och därmed portabelt, är det lämpligt att använda om applikationen som det ingår i ska kunna fungera i många miljöer.

Examensarbetet initierades av Intentia AB i Linköping som ville utöka sin befintliga applikation JCpyDta. Applikationen kopierar i sitt ursprungsutförande data mellan två databaser via nätverkskommunikation. Nu ville man ha ett tillägg där kopieringen sker med mellanlagring i XML. Formatet på XML-dokumententen utformades så att det lätt kan användas för nya versioner, och databasscheman skiljda från Intentias egen produkt Movex.

En viktig aspekt i arbetet har varit att få applikationen att fungera tillfredställande i avseenden som tidskrav och minnesanvändning. Eftersom en mellanlagring i XML innebär väsentligt fler steg i en kopiering av data innebär det att varje funktionalitet måste ifrågasättas och optimeras. Kravet att klara en fullständig kopiering av en volymmässigt typisk användardatabas på cirka 4 timmar har uppfyllts med god marginal. En sådan kopiering tar i nuläget maximalt 30 minuter beroende på miljö som applikationen körs i.

Vår utökning har inneburit att dels ny kod har skrivits och lagts till programmet och dels att tidigare kod har modifierats. Vad som lagts till och vad som ändrats är beskrivet i rapporten.

Slutsatsen är att mellanlagring i XML visserligen ger en prestandaförlust jämfört med direkt kopiering men medger istället portabilitet av en applikations data mellan olika databaser och plattformar.