Lokasjons- og kontekstbaserte tjenester - Department of Computer ...
Lokasjons- og kontekstbaserte tjenester - Department of Computer ...
Lokasjons- og kontekstbaserte tjenester - Department of Computer ...
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).