- <title>Nikita og Noark 5 tjenestegrensesnittet tilbyr ny måte å tenke arkivering</title>
- <link>http://people.skolelinux.org/pere/blog/Nikita_og_Noark_5_tjenestegrensesnittet_tilbyr_ny_m_te___tenke_arkivering.html</link>
- <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Nikita_og_Noark_5_tjenestegrensesnittet_tilbyr_ny_m_te___tenke_arkivering.html</guid>
- <pubDate>Fri, 21 Jun 2019 11:30:00 +0200</pubDate>
- <description><p><em>av Thomas Sødring (OsloMet) og Petter Reinholdtsen (foreningen
-NUUG)</em></p>
-
-<p>Nikita Noark 5-kjerne er et fri programvareprosjekt som tar i bruk
-Arkivverkets spesifikasjonen for Noark 5 Tjenestegrensesnitt og tilbyr
-et maskinlesbar grensesnitt (arkiv-API) til datasystemer som trenger å
-arkivere dokumenter og informasjon. I tillegg tilbyr Nikita et
-nettleserbasert brukergrensesnitt for brukere av arkivet. Dette
-brukergrensesnittet benytter det maskinlesbare grensesnittet. Noark 5
-Tjenestegrensesnitt er en ny måte å tenke arkivering, med fokus på
-automatisering og maskinell behandling av arkivmateriale, i stedet for
-å fokusere på brukergrensesnitt. En kan tenke på
-tjenestegrensesnittet som arkivet uten brukergrensesnitt, der flere
-aktører kan koble til ulike brukergrensesnitt, tilpasset ulike
-behov.</p>
-
-<p>Historisk sett gjorde Noark en veldig bra jobb med overgangen fra
-papir til digital saksbehandling, men det har kommet til kort på andre
-områder. Den teknologiske utviklingen har brakt oss ditt av vi kan og
-skal forvente langt mer fra en arkivkjerne enn før, men det offentlig
-er ofte konservativ når det gjelder nytenking. For lengst skulle
-begreper som samvirke mellom datasystemer, metadata, prosess og
-tjenestegrensesnitt (API) vært dominerende når systemer kjøpes
-inn. Dessverre er det slik at ikke alle ønsker samvirke mellom
-datasystemer velkommen, og det kan være trygt å kjøpe svarte bokser
-der du slipper å ta stilling til hvordan man skal få flere systemer
-til å virke sammen. Men IT-arkitektur er et begrep arkivfolk også
-begynner å ta inn over seg.</p>
-
-<p>Slike systemer for å organisere metadata bør ha nettbaserte
-tjenestegrensesnitt der brukergrensesnitt er tydelig adskilt fra
-bakenforliggende system. Det finnes mange rapporter som snakker om å
-bryte ned siloer i forvaltningen og standardiserte tjenestegrensesnitt
-er det viktigste virkemiddel mot datasiloer og legger til rette for
-økt samvirke mellom systemer. Et standardisert tjenestegrensesnitt er
-et viktig middel for å få systemer til å samhandle da det sikrer at
-ulike produsenters systemer kan snakke sammen på tvers. Samfunnet
-fungerer ikke uten standardisering. Vi har alle samme strømstyrke og
-kontakter i veggene og kjører alle på høyre side. Det er i en slik
-sammenheng at prosjektet «Noark 5 Tjenestegrensesnitt» er veldig
-viktig. Hvis alle leverandører av arkivsystemer forholdt seg til et
-standardisert tjenestegrensesnitt kunne kostnadene for arkivering
-reduseres. Tenk at du er en kommune som ønsker et fagsystem integrert
-med arkivløsningen din. I dag må fagsystemleverandøren vite og
-tilpasse seg den spesifikke versjonen og varianten av arkivløsningen
-du har. Hvis vi antar at alle leverandører av arkivkjerner har solgt
-inn enten SOAP eller REST-grensesnitt til kunder de siste 10 årene og
-det kommer endret versjon av grensesnittet innimellom så gir det
-veldig mange forskjellige tjenestegrensesnitt en fagsystemleverandør
-må forholde seg til. Med 12 leverandører og kvartalsvise oppdateringer
-kan det potensielt bli 96 ulike varianter hvert eneste år. Det sier
-seg selv at det blir dyrt. Men det blir faktisk verre. Hvis du senere
-ønsker å bytte ut arkivsystemet med et annet så er du avhengig å få
-alle integrasjonene dine laget på nytt. Dette kan gjøre at du velger å
-forbli hos en dårlig leverandør framfor å skaffe nytt system, fordi
-det blir for vanskelig og dyrt å bytte. Dermed etableres det små
-monopolsituasjoner som er vanskelig å bryte ut av. Dårlige valg i dag
-kan ha uante kostander på sikt. I Nikita-prosjektet har vi kun jobbet
-opp mot Noark 5 Tjenestegrensesnittet. Det har tatt en god del
-ressurser å sette seg inn i spesifikasjonen og ta den i bruk, spesielt
-på grunn av uklarheter i spesifikasjonen. Hvis vi måtte gjøre det
-samme for alle versjoner og varianter av de forskjellige
-tjenestegrensesnittene ville det blitt veldig dyrt.</p>
-
-<p>For deg som arkivar er digitalisering og systemer som skal virke
-sammen en del av den nye hverdagen. Du har kanskje blitt skånet for
-det ved å kjøpe svarte bokser, men du risikerer at du gjør deg selv en
-bjørnetjeneste. Det kan oppleves som kjedelig å fortelle kolleger at
-du skal sette deg inn i et tjenestegrensesnitt, men dette er faktisk
-veldig spennende. Tjenestegrensesnittet er på en måte blitt levende og
-det er spesielt et begrep du bør merke deg: OData. Å trekke inn deler
-av OData-standarden som en måte å filtrere entitetsøk i et arkivsystem
-var et nyttig trekk i prosjektet. Følgende eksempel er en
-OData-spørring det går an å sende inn til en standardisert
-arkivkjerne:</p>
-
-<p><blockquote>
-.../sakarkiv/journalpost?filter=contains(tittel, 'nabovarsel')
-</blockquote></p>
-
-<p>Spørringen over vil hente en liste av alle dine journalposter der
-tittelen til journalposten inneholder ordet 'nabovarsel'. Alle
-leverandører som implementerer tjenestegrensesnittet vil måtte tilby
-dette. Det betyr at hvis du lærer dete språket for et system, vil det
-være gjeldende for alle. Dette er egentlig en nye måte å søke i
-arkivdatabasen på og vil være svært nyttig, for eksempel kan søk i
-tjenestegrensesnittet antagelig brukes til å hente ut offentlig
-postjournal. I arkivverden pleier vi å like teknologier som er
-menneskelesbart, da vet vi det er enkelt og nyttig! OData er også
-viktig fordi det kan bli en ny måte å svare innsynsforespørsler på i
-tråd med offentlighetsloven § 9, der retten til å kreve innsyn i
-sammenstilling fra databaser er nedfelt. I dag ser vi
-forvaltningsorganer som avviser slike krav fordi det «ikke kan gjøres
-med enkle framgangsmåter». Bruken av OData i tjenestegrensesnittet,
-sammen med maskinlesbar markeringsformater kan være et viktig bidrag
-til å åpne arkivene i tråd med prinsippene om en åpen og transparent
-forvaltning.</p>
-
-<p>Standardisering er viktig fordi det <em>kan</em> sikre
-samvirke. Men den effekten kommer kun hvis standardiseringen sikrer
-at alle forstår standarden på samme måte, dvs. at den er entydig og
-klar. En god måte å sikre en entydig og klar spesifikasjon er ved å
-kreve at det finnes minst to ulike implementasjoner som følger
-spesifikasjonen og som kan snakke sammen, det vil si at de snakker
-samme språk, slik IETF krever for alle sine standarder, før
-spesifikasjonen anses å være ferdig. Tilbakemelding fra miljøet
-forteller at både leverandører og kunder har et avslappet forhold til
-Noark 5 Tjenestegrensesnitt og det er så langt kun Evry som har visst
-offentlig at de har en implementasjon av tjenestegrensesnittet. For å
-redusere kostnadene for samvirkende datasystemer betraktelig, er det
-veldig viktig at vi kommer i en situasjon der alle leverandører har
-sine egne implementasjoner av tjenestegrensesnittet, og at disse
-oppfører seg likt og i tråd med det som er beskrevet i
-spesifikasjonen.</p>
-
-<p>Det er er her fri programvare spiller en viktig rolle. Med en uklar
-standard blir det som en polsk riksdag, der ingenting fungerer. Nikita
-er en fri programvareimplementasjon av tjenestegrensesnitt og kan
-fungere som teknisk referanse slik at leverandører enklere kan se og
-forstå hvordan standarden skal tolkes. Vi har i Nikitaprosjektet
-erfart å ende opp med vidt forskjellige tolkninger når
-prosjektmedlemmene leser spesifikasjonsteksten, en effekt av en uklar
-spesifikasjon. Men Nikitaprosjektet har også utviklet et test-program
-som sjekker om et tjenestegrensesnitt er i samsvar med standarden, og
-prosjektet bruker det hele tiden for å sikre at endringer og
-forbedringer fungerer. Egenerklæringsskjemaenes dager kan væræ talte!
-Snart vil du selv kunne teste hver oppdatering av arkivsystemet med en
-uavhengig sjekk.</p>
-
-<p>Fri programvare representerer en demokratisering av kunnskap der
-tolkning- og innlåsingsmakt flyttes fra leverandør til almenheten.
-Med fri programvare har du en litt annerledes verdikjede, der selve
-produktet ikke holdes hemmelig for å tjene penger, slik en gjør med
-ufri programvare og skytjenester som ikke bruker fri programvare, men
-du kan tjene penger på andre deler av verdikjeden. Med fri programvare
-kan samfunnet betale for å videreutvikle nyttig
-fellesfunksjonalitet.</p.
-
-<p>Nikita er en fri programvareimplementasjon av tjenestegrensesnittet og
-kan fungere som en referanseimplementasjon dersom det er ønskelig.
-Alle har lik tilgang til koden og det koster ingenting å ta den i bruk
-og utforske det. Nikitaprosjektet ønsker tjenestegrensesnittet
-velkommen og stiller veldig gjerne opp i diskusjoner om tolkning av
-tjenestegrensesnittet. Nikita er bygget på moderne
-programmeringsrammeverk og utviklet i full åpenhet. Men nikita er ikke
-noe du kan kjøpe. Nikita er først og fremst et verktøy for forsking og
-utvikling laget for å fremme forskning på arkivfeltet. Systemer som
-virker sammen har alltid vært hovedfokus og vil være det fremover.
-Det brukes som undervisningsverktøy der studentene ved OsloMet lærer
-om administrativ oppsett, saksbehandling, uttrekk og samvirkende
-datasystemer. Det brukes også som forskningsobjekt der vi ser på
-import av dokumentsamlinger, bruk av blokkjede og andre nyskapende
-måter å tenke arkiv på. Det er dog helt greit om andre tar Nikita og
-pakker det for å selge det som produkt. Forvaltningsorganer med
-sterke drift- og utviklingsmiljøer kan også se på Nikita og utforske
-hva som er mulig. Dette kan de gjøre uten å måtte betale for
-bruksrettigheter eller tilgang til konsulenter. Men arkivering blir
-ikke gratis på grunn av Nikita. Det trengs fortsatt folk med
-kompetanse og tid til å ta i bruk Nikita.</p>
-
-<p>Nikita har nylig kommet med en ny utgave, den sjette i rekken.
-Systemet er ikke ferdig, mest på grunn av at API-spesifikasjonen for
-Noark 5 Tjenestegrensesnitt ikke er ferdig, men allerede i dag kan en
-bruke Nikita som arkiv. Vi har laget eksempelsystem for å importere
-data fra deponi-XML og slik gjøre eksisterende arkivdata tilgjengelig
-via et API. Vi har også laget en testklient som importerer epost inn
-i arkivet med vedlegg der epostenes trådinformasjon brukes til å legge
-eposttråder i samme arkivmappe, og en annen testklient som henter
-epost ut av en arkivmappe på mbox-format slik at en vanlig epostklient
-kan brukes til å lese igjennom og svare på epostene i en
-arkivmappe. De som vil ta en titt på Nikita kan besøke
-<a href="https://nikita.oslomet.no">https://nikita.oslomet.no</a> og
-logge inn med brukernavn «admin@example.com» og passord «password».
-Dette gir tilgang til det forenklede brukergrensesnittet som brukes
-til undervisning. De som heller vil ta en titt under panseret kan
-besøke
-<a href="https://nikita.oslomet.no/browse.html">https://nikita.oslomet.no/browse.html</a>
-og der se hvordan API-et fungerer mer i detalj. Innloggingsdetaljer
-her er det samme som for brukergrensesnittet.</p>
-
-<p>Fremover er fokuset på forbedring av spesifikasjonen Noark 5
-Tjenestegrensesnitt. De som skrev tjenestegrensesnittet gjorde et
-interessant og framtidsrettet grep, de skilte sak fra arkiv.
-Tjenestegrensesnittet består av flere "pakker", der noen er
-grunnleggende mens andre bygger på de grunnleggende pakkene. Pakkene
-som er beskrevet så langt heter «arkivstruktur», «sakarkiv»,
-«administrasjon», «loggogsporing» og «moeter» (dessverre
-<a href="https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/pull/120">planlagt
-fjernet</a> i første utgave). Etter hvert håper vi å utforske
-prosses- og metadatabeskrivelser til flere fagområder og bidra til at
-tjenestegrensesnittet kan legge til flere pakker som «byggarkiv»,
-«barnevern», «personal», «barnehage», der arkivfaglig metadata- og
-dokumentasjonsbehov er kartlagt og standardisert.</p>
-
-<p>Nikita utvikles av en liten prosjektgruppe, og vi er alltid
-interessert å bli flere. Hvis en åpen, fri og standardisert tilnærming
-til arkivering høres interessant ut, bli med oss på veien videre. Vi
-er tilstede på IRC-kanalen #nikita hos FreeNode (tilgjengelig via
-nettleser på
-<a href="https://webchat.freenode.net?channels=#nikita">https://webchat.freenode.net?channels=#nikita</a>),
-og har en e-postliste nikita-noark@nuug.no hos NUUG (tilgjengelig for
-påmelding og arkiv på
-<a href="https://lists.nuug.no/mailman/listinfo/nikita-noark">https://lists.nuug.no/mailman/listinfo/nikita-noark</a>)
-der en kan følge med eller være med oss på den spennende veien videre.
-Spesifikasjonen for Noark 5 Tjenestegrensesnitt vedlikeholdes på
-github,
-<a href="https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/">https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/</a>.</p>
-
-<p>Som vanlig, hvis du bruker Bitcoin og ønsker å vise din støtte til
-det jeg driver med, setter jeg pris på om du sender Bitcoin-donasjoner
-til min adresse
-<b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
-</description>
- </item>
-
- <item>
- <title>Jami/Ring, finally functioning peer to peer communication client</title>
- <link>http://people.skolelinux.org/pere/blog/Jami_Ring__finally_functioning_peer_to_peer_communication_client.html</link>
- <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Jami_Ring__finally_functioning_peer_to_peer_communication_client.html</guid>
- <pubDate>Wed, 19 Jun 2019 08:50:00 +0200</pubDate>
- <description><p>Some years ago, in 2016, I
-<a href="http://people.skolelinux.org/pere/blog/Experience_and_updated_recipe_for_using_the_Signal_app_without_a_mobile_phone.html">wrote
-for the first time about</a> the Ring peer to peer messaging system.
-It would provide messaging without any central server coordinating the
-system and without requiring all users to register a phone number or
-own a mobile phone. Back then, I could not get it to work, and put it
-aside until it had seen more development. A few days ago I decided to
-give it another try, and am happy to report that this time I am able
-to not only send and receive messages, but also place audio and video
-calls. But only if UDP is not blocked into your network.</p>
-
-<p>The Ring system changed name earlier this year to
-<a href="https://en.wikipedia.org/wiki/Jami_(software)">Jami</a>. I
-tried doing web search for 'ring' when I discovered it for the first
-time, and can only applaud this change as it is impossible to find
-something called Ring among the noise of other uses of that word. Now
-you can search for 'jami' and this client and
-<a href="https://jami.net/">the Jami system</a> is the first hit at
-least on duckduckgo.</p>
-
-<p>Jami will by default encrypt messages as well as audio and video
-calls, and try to send them directly between the communicating parties
-if possible. If this proves impossible (for example if both ends are
-behind NAT), it will use a central SIP TURN server maintained by the
-Jami project. Jami can also be a normal SIP client. If the SIP
-server is unencrypted, the audio and video calls will also be
-unencrypted. This is as far as I know the only case where Jami will
-do anything without encryption.</p>
-
-<p>Jami is available for several platforms: Linux, Windows, MacOSX,
-Android, iOS, and Android TV. It is included in Debian already. Jami
-also work for those using F-Droid without any Google connections,
-while Signal do not.
-<a href="https://git.jami.net/savoirfairelinux/ring-project/wikis/technical/Protocol">The
-protocol</a> is described in the Ring project wiki. The system uses a
-distributed hash table (DHT) system (similar to BitTorrent) running
-over UDP. On one of the networks I use, I discovered Jami failed to
-work. I tracked this down to the fact that incoming UDP packages
-going to ports 1-49999 were blocked, and the DHT would pick a random
-port and end up in the low range most of the time. After talking to
-the developers, I solved this by enabling the dhtproxy in the
-settings, thus using TCP to talk to a central DHT proxy instead of
-
-peering directly with others. I've been told the developers are
-working on allowing DHT to use TCP to avoid this problem. I also ran
-into a problem when trying to talk to the version of Ring included in
-Debian Stable (Stretch). Apparently the protocol changed between
-beta2 and the current version, making these clients incompatible.
-Hopefully the protocol will not be made incompatible in the
-future.</p>
-
-<p>It is worth noting that while looking at Jami and its features, I
-came across another communication platform I have not tested yet. The
-<a href="https://en.wikipedia.org/wiki/Tox_(protocol)">Tox protocol</a>
-and <a href="https://tox.chat/">family of Tox clients</a>. It might
-become the topic of a future blog post.</p>