1 Title: Nikita og Noark 5 tjenestegrensesnittet tilbyr ny måte å tenke arkivering
3 Tags: norsk, standard, noark5
5 <p><em>av Thomas Sødring (OsloMet) og Petter Reinholdtsen (foreningen
8 <p>Nikita Noark 5-kjerne er et fri programvareprosjekt som tar i bruk
9 Arkivverkets spesifikasjonen for Noark 5 Tjenestegrensesnitt og tilbyr
10 et maskinlesbart grensesnitt (arkiv-API) til datasystemer som trenger å
11 arkivere dokumenter og informasjon. I tillegg tilbyr Nikita et
12 nettleserbasert brukergrensesnitt for brukere av arkivet. Dette
13 brukergrensesnittet benytter det maskinlesbare grensesnittet. Noark 5
14 Tjenestegrensesnitt er en ny måte å tenke arkivering, med fokus på
15 automatisering og maskinell behandling av arkivmateriale, i stedet for
16 å fokusere på brukergrensesnitt. En kan tenke på
17 tjenestegrensesnittet som arkivet uten brukergrensesnitt, der flere
18 aktører kan koble til ulike brukergrensesnitt, tilpasset ulike
21 <p>Historisk sett gjorde Noark standarden en veldig bra jobb med
23 papir til digital saksbehandling, men det har kommet til kort på andre
24 områder. Den teknologiske utviklingen har brakt oss ditt at vi kan og
25 skal forvente langt mer fra en arkivkjerne enn før, men det offentlig
26 er ofte konservativ når det gjelder nytenking. For lengst skulle
27 begreper som samvirke mellom datasystemer, metadata, prosess og
28 tjenestegrensesnitt (API) vært dominerende når systemer kjøpes
29 inn. Dessverre er det slik at ikke alle ønsker samvirke mellom
30 datasystemer velkommen, og det kan være trygt å kjøpe «svarte bokser»
31 der du slipper å ta stilling til hvordan man skal få flere systemer
32 til å virke sammen. Men IT-arkitektur er et begrep arkivfolk også
33 begynner å ta inn over seg.</p>
35 <p>Slike systemer for å organisere metadata bør ha nettbaserte
36 tjenestegrensesnitt der brukergrensesnitt er tydelig adskilt fra
37 bakenforliggende system. Det finnes mange rapporter som snakker om å
38 bryte ned siloer i forvaltningen og standardiserte tjenestegrensesnitt
39 er det viktigste virkemiddel mot datasiloer og legger til rette for
40 økt samvirke mellom systemer. Et standardisert tjenestegrensesnitt er
41 et viktig middel for å få systemer til å samhandle da det sikrer at
42 ulike produsenters systemer kan snakke sammen på tvers. Samfunnet
43 fungerer ikke uten standardisering. Vi har alle samme strømstyrke og
44 kontakter i veggene og kjører alle på høyre side av veien i Norge. Det er i en slik
45 sammenheng at prosjektet «Noark 5 Tjenestegrensesnitt» er veldig
46 viktig. Hvis alle leverandører av arkivsystemer forholdt seg til et
47 standardisert tjenestegrensesnitt kunne kostnadene for arkivering
48 reduseres. Tenk deg at du er en kommune som ønsker et fagsystem integrert
49 med arkivløsningen din. I dag må fagsystemleverandøren vite og
50 tilpasse seg den spesifikke versjonen og varianten av arkivløsningen
51 du har. Hvis vi antar at alle leverandører av arkivkjerner har solgt
52 inn enten SOAP eller REST-grensesnitt til kunder de siste 10 årene og
53 det kommer endret versjon av grensesnittet innimellom, så gir det
54 veldig mange forskjellige tjenestegrensesnitt en fagsystemleverandør
55 må forholde seg til. Med 12 leverandører og kvartalsvise oppdateringer
56 kan det potensielt bli 96 ulike varianter hvert eneste år. Det sier
57 seg selv at det blir dyrt. Men det blir faktisk verre. Hvis du senere
58 ønsker å bytte ut arkivsystemet med et annet så er du avhengig å få
59 alle integrasjonene dine laget på nytt. Dette kan gjøre at du velger å
60 forbli hos en dårlig leverandør framfor å skaffe nytt system, fordi
61 det blir for vanskelig og dyrt å bytte. Dermed etableres det «små»
62 monopolsituasjoner som er vanskelig å bryte ut av. Dårlige valg i dag
63 kan ha uante kostander på sikt. I Nikita-prosjektet har vi kun jobbet
64 opp mot Noark 5 Tjenestegrensesnittet. Det har tatt en god del
65 ressurser å sette seg inn i spesifikasjonen og ta den i bruk, spesielt
66 på grunn av uklarheter i spesifikasjonen. Hvis vi måtte gjøre det
67 samme for alle versjoner og varianter av de forskjellige
68 tjenestegrensesnittene ville det blitt veldig tidkrevende og
71 <p>For deg som arkivar er digitalisering og systemer som skal virke
72 sammen en del av den nye hverdagen. Du har kanskje blitt skånet for
73 det ved å kjøpe svarte bokser, men du risikerer at du gjør deg selv en
74 bjørnetjeneste. Det kan oppleves som kjedelig å fortelle kolleger at
75 du skal sette deg inn i et tjenestegrensesnitt, men dette er faktisk
76 veldig spennende. Tjenestegrensesnittet er på en måte blitt levende og
77 det er spesielt et begrep du bør merke deg: OData. Å trekke inn deler
78 av OData-standarden som en måte å filtrere entitetsøk i et arkivsystem
79 var et nyttig trekk i prosjektet. Følgende eksempel er en
80 OData-spørring det går an å sende inn til en standardisert
84 .../sakarkiv/journalpost?filter=contains(tittel, 'nabovarsel')
87 <p>Spørringen over vil hente en liste av alle dine journalposter der
88 tittelen til journalposten inneholder ordet 'nabovarsel'. Alle
89 leverandører som implementerer tjenestegrensesnittet vil måtte tilby
90 dette. Det betyr at hvis du lærer dette språket for et system, vil det
91 være gjeldende for alle. Dette er egentlig en ny måte å søke i
92 arkivdatabasen på og vil være svært nyttig, for eksempel kan søk i
93 tjenestegrensesnittet antagelig brukes til å hente ut offentlig
94 postjournal. I arkivverden pleier vi å like teknologier som er
95 menneskelesbart, da vet vi det er enkelt og nyttig! OData er også
96 viktig fordi det kan bli en ny måte å svare innsynsforespørsler på i
97 tråd med offentlighetsloven § 9, der retten til å kreve innsyn i
98 sammenstilling fra databaser er nedfelt. I dag ser vi
99 forvaltningsorganer som avviser slike krav fordi det «ikke kan gjøres
100 med enkle framgangsmåter». Bruken av OData i tjenestegrensesnittet,
101 sammen med maskinlesbar markeringsformater kan være et viktig bidrag
102 til å åpne arkivene i tråd med prinsippene om en åpen og transparent
105 <p>Standardisering er viktig fordi det <em>kan</em> sikre samvirke.
106 Men den effekten kommer kun hvis standardiseringen sikrer at alle
107 forstår standarden på samme måte, dvs. at den er entydig og klar. En
108 god måte å sikre en entydig og klar spesifikasjon er ved å kreve at
109 det finnes minst to ulike implementasjoner som følger spesifikasjonen
110 og som kan snakke sammen, det vil si at de snakker samme språk, slik
111 IETF krever for alle sine standarder, før spesifikasjonen anses å være
112 ferdig. Tilbakemelding fra miljøet forteller at både leverandører og
113 kunder har et avslappet forhold til Noark 5 Tjenestegrensesnitt og det
114 er så langt kun Evry som har visst offentlig at de har en
115 implementasjon av tjenestegrensesnittet. Evry, HK Data og Fredrikstad
116 kommune er igang med et pilotprosjekt på Noark 5
117 Tjenestegrensesnitt. For å redusere kostnadene for samvirkende
118 datasystemer betraktelig, er det veldig viktig at vi kommer i en
119 situasjon der alle leverandører har sine egne implementasjoner av
120 tjenestegrensesnittet, og at disse oppfører seg likt og i tråd med det
121 som er beskrevet i spesifikasjonen.</p>
123 <p>Det er her fri programvare spiller en viktig rolle. Med en uklar
124 standard blir det som en polsk riksdag, der ingenting fungerer. Nikita
125 er en fri programvareimplementasjon av tjenestegrensesnitt og kan
126 fungere som teknisk referanse slik at leverandører enklere kan se og
127 forstå hvordan standarden skal tolkes. Vi har i Nikitaprosjektet
128 erfart å ende opp med vidt forskjellige tolkninger når
129 prosjektmedlemmene leser spesifikasjonsteksten, en effekt av en uklar
130 spesifikasjon. Men Nikitaprosjektet har også utviklet et test-program
131 som sjekker om et tjenestegrensesnitt er i samsvar med standarden, og
132 prosjektet bruker det hele tiden for å sikre at endringer og
133 forbedringer fungerer. Egenerklæringsskjemaenes dager kan være talte!
134 Snart vil du selv kunne teste hver oppdatering av arkivsystemet med en
137 <p>Fri programvare representerer en demokratisering av kunnskap der
138 tolkning- og innlåsingsmakt flyttes fra leverandør til allmenheten.
139 Med fri programvare har du en litt annerledes verdikjede, der selve
140 produktet ikke holdes hemmelig for å tjene penger, slik en gjør med
141 ufri programvare og skytjenester som ikke bruker fri programvare, men
142 du kan tjene penger på andre deler av verdikjeden. Med fri programvare
143 kan samfunnet betale for å videreutvikle nyttig
144 fellesfunksjonalitet.</p>
146 <p>Nikita er en fri programvareimplementasjon av tjenestegrensesnittet og
147 kan fungere som en referanseimplementasjon dersom det er ønskelig.
148 Alle har lik tilgang til koden og det koster ingenting å ta den i bruk
149 og utforske det. Nikitaprosjektet ønsker tjenestegrensesnittet
150 velkommen og stiller veldig gjerne opp i diskusjoner om tolkning av
151 tjenestegrensesnittet. Nikita er bygget på moderne
152 programmeringsrammeverk og utviklet i full åpenhet. Men Nikita er ikke
153 noe du kan kjøpe. Nikita er først og fremst et verktøy for forsking og
154 utvikling laget for å fremme forskning på arkivfeltet. Systemer som
155 virker sammen har alltid vært hovedfokus og vil være det fremover.
156 Det brukes som undervisningsverktøy der studentene ved OsloMet lærer
157 om administrativt oppsett, saksbehandling, uttrekk og samvirkende
158 datasystemer. Det brukes også som forskningsobjekt der vi ser på
159 import av dokumentsamlinger, bruk av blokkjede og andre nyskapende
160 måter å tenke arkiv på. Det er dog helt greit om andre tar Nikita og
161 pakker det for å selge det som produkt. Forvaltningsorganer med
162 sterke drift- og utviklingsmiljøer kan også se på Nikita og utforske
163 hva som er mulig. Dette kan de gjøre uten å måtte betale for
164 bruksrettigheter eller tilgang til konsulenter. Men arkivering blir
165 ikke gratis på grunn av Nikita. Det trengs fortsatt folk med
166 kompetanse og tid til å ta i bruk Nikita.</p>
168 <p>Nikita har nylig kommet med en ny utgave, den sjette i rekken.
169 Systemet er ikke ferdig, mest på grunn av at API-spesifikasjonen for
170 Noark 5 Tjenestegrensesnitt ikke er ferdig, men allerede i dag kan en
171 bruke Nikita som arkiv. Vi har laget eksempelsystem for å importere
172 data fra deponi-XML og slik gjøre eksisterende arkivdata tilgjengelig
173 via et API. Vi har også laget en testklient som importerer epost inn
174 i arkivet med vedlegg der epostenes trådinformasjon brukes til å legge
175 eposttråder i samme arkivmappe, og en annen testklient som henter
176 epost ut av en arkivmappe på mbox-format slik at en vanlig epostklient
177 kan brukes til å lese igjennom og svare på epostene i en
178 arkivmappe. De som vil ta en titt på Nikita kan besøke
179 <a href="https://nikita.oslomet.no">https://nikita.oslomet.no</a> og
180 logge inn med brukernavn «admin@example.com» og passord «password».
181 Dette gir tilgang til det forenklede brukergrensesnittet som brukes
182 til undervisning. De som heller vil ta en titt under panseret kan
184 <a href="https://nikita.oslomet.no/browse.html">https://nikita.oslomet.no/browse.html</a>
185 og der se hvordan API-et fungerer mer i detalj. Innloggingsdetaljer
186 her er det samme som for brukergrensesnittet.</p>
188 <p>Fremover er fokuset på forbedring av spesifikasjonen Noark 5
189 Tjenestegrensesnitt. De som skrev tjenestegrensesnittet gjorde et
190 interessant og framtidsrettet grep, de skilte sak fra arkiv.
191 Tjenestegrensesnittet består av flere "pakker", der noen er
192 grunnleggende mens andre bygger på de grunnleggende pakkene. Pakkene
193 som er beskrevet så langt heter «arkivstruktur», «sakarkiv»,
194 «administrasjon», «loggogsporing» og «moeter» (dessverre
195 <a href="https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/pull/120">planlagt
196 fjernet</a> i første utgave). Etter hvert håper vi å utforske
197 prosses- og metadatabeskrivelser til flere fagområder og bidra til at
198 tjenestegrensesnittet kan legge til flere pakker som «byggarkiv»,
199 «barnevern», «personal», «barnehage», der arkivfaglig metadata- og
200 dokumentasjonsbehov er kartlagt og standardisert.</p>
202 <p>Nikita utvikles av en liten prosjektgruppe, og vi er alltid
203 interessert å bli flere. Hvis en åpen, fri og standardisert tilnærming
204 til arkivering høres interessant ut, bli med oss på veien videre. Vi
205 er tilstede på IRC-kanalen #nikita hos FreeNode (tilgjengelig via
207 <a href="https://webchat.freenode.net?channels=#nikita">https://webchat.freenode.net?channels=#nikita</a>),
208 og har en e-postliste nikita-noark@nuug.no hos NUUG (tilgjengelig for
209 påmelding og arkiv på
210 <a href="https://lists.nuug.no/mailman/listinfo/nikita-noark">https://lists.nuug.no/mailman/listinfo/nikita-noark</a>)
211 der en kan følge med eller være med oss på den spennende veien videre.
212 Spesifikasjonen for Noark 5 Tjenestegrensesnitt vedlikeholdes på
214 <a href="https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/">https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/</a>.</p>
216 <p>Som vanlig, hvis du bruker Bitcoin og ønsker å vise din støtte til
217 det jeg driver med, setter jeg pris på om du sender Bitcoin-donasjoner
219 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>