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