Alle modelentiteter skal modelleres med persistent, unik identifikation

Nummer:
6.1
Version:
1.1.0
Release Candidate
Regel

Alle entiteter skal modelleres med persistent, unik identifikation.

 

Rationale

Alle dataobjekter og dataobjekters attributter samt relationer, skal kunne identificeres entydigt på tværs af den samlede grunddatamodel og de mange delmodeller der anvendes som input til den samlede model.

 

Ofte vil data-objektet, ud over den unikke identifikation, have en eller flere forretningsnøgler, fx har en matrikel et matrikelnummer. Men forretningsnøglerne kan ikke stå alene, da grunddatamodellen generelt skal understøtte historik, hvilket betyder, at data-objektet kan have forskellige forretningsnøgler over tid, ligesom den samme forretningsnøgle løbende kan indgå i flere forvaltningsobjekter.

Derfor er det essentielt, at objektets identifikation er persistent i hele data-objektets levetid.

 

Til brug for entydig og uforanderlig identifikation har anvendelse af HTTP-URI vist sin værdi gennem mange års praktisk anvendelse, blandt andet i XML Schema.

En HTTP-URI har yderligere den fordel at den kan anvendes som URL, Uniform Resource Locator. Når HTTP-URIen anvendes som URL, og dermed som et link, gøres det muligt at tilgå yderligere oplysninger om det HTTP-URIen identificerer. URI’en er blevet “opløsbar” ( http://en.wikipedia.org/wiki/Dereferenceable_Uniform_Resource_Identifier )

 

Dette giver det globale id to funktioner:

  • Global entydig identifikation af en entitet på tværs af Grunddatamodellen og på tværs af øvrige modeller.

  • Mulighed for at referere direkte til data-objektet, således at et givet data-objekt potentielt kan adresseres direkte - også vha. en generisk web-applikation.

Implikationer

Alle entiteter skal modelleres med attributten ‘globalID’, med typen GlobalID - Datatypen stilles til rådighed af modelsekretariatet - se http://digitaliser.dk/resource/2742281

 
globalID
Betydning Unik identifikation af objektet
Værdi Objektets unikke id
Datatype GlobalID
Krav Obligatorisk

Eksempel:

Datatypen GlobalID.

 

En instans af GlobalID er sammensat af en instans af attributten namespace og en instans af attributten lokalID. Begge disse er specialiseringer af den standardiserede type CharacterString. Yderligere gælder det, at namespace og lokalID skal kunne kombineres til en HTTP-URI, som specificeret i IETF RFC 3986 (http-scheme). Denne skal være universelt unik, og vil være opløsbar.

 

En HTTP-URI kan sammensættes på følgende måde - baseret på IETF RFC 3986, afsnit 3, Syntax Components:

 

Skemaangivelse + “://” + Autoritet + “/” + Sti + “#” + Objektidentifikator

 

Indhold:

Komponenter i GlobalID
Komponent Værdi
Skemaangivelse "http"
Autoritet "data.gov.dk"
Sti Valgfri, men se nedenfor
Objektidentifikator Værdi, som i det mindste er unik inden for domænet

 

HTTP-URI’en skal i sin helhed være universelt unik.

Dette kan opnås på en række måder:

 

 

Det er domænets ansvar, at sikre, at den samlede, identificerende HTTP-URI er universelt unik.

Det er væsentligt, at den samlede identifikator er stabil over tid. Derfor kan elementerne Autoritet og Sti ikke opfattes som afspejlende en gældende administrativ kontekst for dataobjektet, som eventuelt ville skulle ændres hvis datas ejerskab eller indhold ændredes. Elementerne udstiller udelukkende semantiske informationer om data, dvs deres logiske struktur og betydning.

Komponenterne Skemaangivelse, Autoritet og Sti kan sammensættes til et Namespace, som modelleres med attributten namespace. Objektidentifikatoren modelleres med attributten lokalID

 

namespace
Betydning Identifikation af et namespace inden for hvilket lokalId er unik
Værdi En HTTP-URI uden Objektidentifikator (Skemaangivelse + “://” + Autoritet + “/” + Sti)
Datatype CharacterString
Krav Obligatorisk
lokalID
Betydning Identifikation af objektet
Værdi Objektets id
Datatype CharacterString
Krav Obligatorisk

 

Permanent URL til denne artikel: http://arkitekturguiden.digitaliser.dk/node/858