Fælles modelregler

Skrevet 9/7-2018 af

Nikolaj S. Malkov

 

Jeg vil gerne slå et slag for de fælles regler for begrebs- og datamodellering (modelreglerne), som er udarbejdet under den fællesoffentlige digitaliseringsstrategi 2016-2020. Formålet er at sikre sammenhængende data på tværs af den offentlige administration og via genbrug at minimere ressource- og tidsforbrug på udvikling og vedligehold af it-løsninger. Noble formål. Men giver det nu virkelig også værdi, eller er det bare overhead på modelleringen af data og begreber? Er det overhovedet indsatsen værd at sætte sig ind i modelreglerne? Hvorfor skulle jeg egentlig gøre noget andet, end jeg altid har gjort?

 

Fordi at det giver mening!

 

Min erfaring med modelreglerne er:

 

  • Ja, det bliver lettere at genbruge eksisterende modeller.
  • Ja, det vil kunne bidrage til sammenhængende data.
  • Nej, det er ikke så komplekst at bruge, som man måske kunne forledes til at tro.
  • Men, hvis der skal hentes gevinster, kræver det en indsats fra alle involverede parter.

 

 

Ja, det bliver lettere at genbruge

 

Modelreglerne kan anvendes på tre niveauer; niveau 1 ’Formidling’, niveau 2 ’Genbrug’ og niveau 3 ’Sammenhæng’.

 

Niveau 1 ’Formidling’ foreskriver blot et mindre antal basale regler om dokumentation, grafisk udtryk og udstilling af modellen online. Selvom det egentlig først er niveau 2, der hedder ’Genbrug’, vil jeg påstå, at der allerede på niveau 1 er gevinster at hente i form af lettere genbrug. Helt oplagt er det, at et simpelt krav om, at modellen kan findes online vil lette genbrug igennem simpel tilgængelighed.

 

I arbejdet med begrebs- og datamodeller er det tit en udfordring at finde eksisterende modeller. De ligger ofte gemt som bilag til kravspecifikationer eller er utilgængelige for offentligheden i en organisations interne modelleringsværktøj. Derfor er min erfaring, at man tit i forbindelse med begrebs- og datamodellering ender med at definere begreber, der allerede er defineret andet sted. Ikke af ond vilje men blot fordi, at eksisterende modeller ikke er tilgængelige. Finder man frem til eksisterende modeller, kan det også være svært at vurdere, hvilken godkendelsesstatus den har. Derfor er det også i forhold til at vurdere modellens egnethed til genbrug en fordel, at vi bliver mindet om at udstyre modellerne med oplysninger som godkendelsesstatus, seneste dato for modificering og domæneansvarlige organisation.

 

Derfra vil det gøre det endnu nemmere at genbruge, hvis modellerne udarbejdes på niveau 2 af reglerne. For så skal der også være en eksport-fil, som man kan importere i eget modelleringsværktøj og arbejde videre med modellerne. Den slags filer kan nogle gange være problematiske at importere, fordi modelsprog som UML rummer mange anvendelsesmuligheder, som forskellige modellører har en tendens til at anvende og fortolke forskelligt, og som måske endda er forskelligt understøttet i forskellige modelleringsværktøjer. Her er modelreglernes præcisering og indsnævring af brugen af UML en stor fordel, som muliggør, at det faktisk lader til at kunne lade sig gøre at arbejde videre med modellerne i andre værktøjer.

 

 

Ja, vi kan få bedre sammenhængende data

 

Det er egentlig først på niveau 3, at modelreglerne sigter imod ’Sammenhæng’. Her vil jeg dog påstå, at vi allerede på niveau 2 får bedre sammenhæng. Begreber og data modelleret efter modelreglerne skal udstyres med et namespace i form af en unik identifikator (http-URI’er), som anvendes til reference på tværs af begreber og data. Modelelementer kan dermed mikses på tværs af modeller og samtidig holde styr på ophav med http-uri’erne. Jeg kan fx tage en ”Generisk Person” fra grunddata ind i min model og lade http-uri’en fortælle, hvad ophavet er. Det kan man selvfølgelig også med tidligere modelleringspraksis, men med modelreglerne og de obligatoriske http-urier på alle modelelementer, bliver ophavet mere håndfast i og med, at man rent faktisk referer til et namespace.

 

På niveau 3 bliver det lidt avanceret med tilføjelse af RDF (Resource Description Framework), der er en standard til beskrivelse af data og relationer mellem data til UML-modellerne. Det åbner perspektiver for data, der selv finder ud af at hænge sammen, fordi de er tilstrækkeligt præcist beskrevet. Med RDF får man en datamodel, der er så præcist beskrevet, at den kan repræsenteres i forskellige udvekslingsformater som fx XML eller JSON. Så med brugen af UML som modelsprog og RDF bagved, får vi faktisk modeldreven datastandardisering.

 

 

Nej, det er ikke så komplekst at gå til

 

Der er god hjælp at hente til anvendelsen af reglerne. Det betyder, at det faktisk ikke er så svært tilgængeligt, som man ellers kunne forledes til at tro, når man ser de 52 regler, som udgør modelreglerne. Jeg har brugt Sparx Enterprise Architect med plusprofilen, der er lavet som hjælpeværktøj til modelreglerne. Det har været nogenlunde ligetil og nemt at gå til. Det er langt henad vejen business as usual i forhold til begrebs- og datamodellering med UML som modelsprog. Bare med en velkommen præcisering og indsnævring i tilladte modelelementer og en række obligatoriske metadata. Når man lige har fået styr på, hvad de enkelte metadata dækker over, hvor de helt rigtige felter er placeret og hvordan man referer mellem modeller, er det bare at modellere derud af.

 

 

Men gevinsterne kommer ikke uden en indsats

 

Jeg vil ikke lyve og sige, at det ikke kræver en vis initiel indsats at få modelreglerne under huden. Der er en del indtastning, og jeg har da også været nogle iterationer igennem for at finde de rigtige indtastningsfelter til de krævede metadata. Rapportskabelonerne som følger med plusprofilen, og som kan generere afrapporteringen af modellerne, har også skullet bearbejdes lidt for at få et brugbart output. Sekretariatet for FDA i Digitaliseringsstyrelsen har i den forbindelse været yderst imødekommende og hjælpsomme, så de tvivlsspørgsmål, der er opstået undervejs, har været lette at få afklaret.

 

Der vil helt sikkert være gevinster i form af bedre modeller og bedre data. Men det kræver også lidt af de forskellige involverede aktører:

 

  • De offentlige forretningsejere skal anvende og følge modelreglerne og bestille begrebs- og datamodellering udført efter dem.
  • Begrebs- og datamodellørerne skal være villige til at følge reglerne – også selvom det måske rykker lidt i de kendte rutiner.
  • Sekretariatet bag den fællesoffentlige digitale arkitektur skal fortsætte med at lave og vedligeholde gode vejledninger og hjælpeværktøjer, så det bliver endnu nemmere at følge modelreglerne.

 

Modelreglerne forpligtiger kun formelt for projekterne under digitaliseringsstrategien. Men det lader til, at alle aktører i en fællesoffentlige digitalisering kunne have gavn af at følge dem og dermed gøre det nemmere at finde, genbruge og skabe sammenhæng i begreber og data fællesoffentligt. Specielt når det nu faktisk slet ikke er så svært at gå til.