17.11.2012 Views

Lokasjons- og kontekstbaserte tjenester - Department of Computer ...

Lokasjons- og kontekstbaserte tjenester - Department of Computer ...

Lokasjons- og kontekstbaserte tjenester - Department of Computer ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

2 STATE OF THE ART 11<br />

2.2.1 Hierarkisk organisert data<br />

I en hierarkisk data modell (hierarchical data model) er data organisert i en tre<br />

struktur p˚a en slik m˚ate at den ikke kan ha for mange relasjoner. Attributter er<br />

knyttet til en instans av en post, <strong>og</strong> alle postene inneholder de samme attributtene.<br />

Denne strukturen tillater repeterende informasjon ved˚a bruke foreldre\barnrelasjoner<br />

(parent\child relations). Instanser er relatert til hverandre ved ˚a bruke<br />

1:N (leses: en til mange) relasjoner. En slik struktur har <strong>of</strong>te en instans p˚a toppen<br />

av treet, kalt en rotnode.<br />

Et eksempel p˚a hierarkisk organisert data er: En organisasjon har mange ansatte.<br />

Organisasjonen vil da organisere de ansatte i en tabell (instans) “Ansatte”.<br />

Tabellen vil inneholde kolonner (attributter) for fornavn, etternavn, telefon,<br />

adresse osv. En organisasjon kan ha flere ansatte (forelder), mens en ansatt kan<br />

kun tilhøre en organisasjon (barn), <strong>og</strong> det er disse to delene som lager et hierarki.<br />

I dette eksemplet er det organisasjonen som er rotnoden.<br />

Fordelen med ˚a lage hierarkiske relasjoner mellom forskjellige typer data er at det<br />

kan gjøre det enkelt ˚a besvare noen spørsm˚al. Ulempen er at det kan bli svært<br />

vanskelig ˚a svare p˚a andre. I tillegg m˚a man overholde en til mange relasjonen,<br />

hvis ikke blir hierarkiet et nettverk.<br />

2.2.2 Tre-lags modellen<br />

“Tre lags modellen” (Three-tier eller Three-layer) er <strong>of</strong>te brukt i systemutvikling<br />

som en metode for ˚a skille brukergrensesnittet, forretnings l<strong>og</strong>ikk <strong>og</strong> datalagring,<br />

hhv. presentasjonslag, l<strong>og</strong>ikklag <strong>og</strong> datalag (derav navnet tre-lags modellen). Disse<br />

er <strong>of</strong>te implementert som selvstendige moduler, <strong>og</strong> derfor <strong>og</strong>s˚a utviklet <strong>og</strong> vedlikeholdt<br />

uavhengig av de andre lagene. Modellen er en klient-server arkitektur,<br />

der de forskjellige lagene kan kjøre p˚a forskjellige plattformer. Tre-lags modellen<br />

er ansett som ˚a være en s<strong>of</strong>tware arkitektur (s<strong>of</strong>tware architecture) <strong>og</strong> et s<strong>of</strong>tware<br />

design mønster (s<strong>of</strong>tware design pattern).<br />

Bortsett fra de vanlige fordelene med modulær s<strong>of</strong>tware, med godt definerte<br />

grensesnitt, er intensjonen med tre-lags modellen at det skal være mulig ˚a oppgradere<br />

eller bytte ut lagene uavhengig av hverandre. Velger man˚a bytte database,<br />

skal dette kun p˚avirke datalaget. Noen mener at det ˚a dele opp pr<strong>og</strong>rammer p˚a<br />

denne m˚aten er en ulempe, da en enkel databasespørring fra grensesnittet m˚a igjennom<br />

l<strong>og</strong>ikklaget for ˚a kunne kommunisere med datalaget. Det er mulig ˚a spørre<br />

direkte fra presentasjonslaget, <strong>og</strong> dermed slippe ekstra kode i b˚ade l<strong>og</strong>ikklag <strong>og</strong><br />

databaselag.<br />

I enkelte tilfeller velger man ˚a dele opp l<strong>og</strong>ikklaget i flere lag. Dette kalles en<br />

multilag arkitektur (n-tier architecture).

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!