Rättsinformationssystemets arkitektur

19 februari, 2010

I förra bloggpostningen pratade vi om vad som krävs för varje myndighet för att publicera på nivå 1 i rättsinformationssystemet. Men vad händer med den information som läggs ut?

Det nya rättsinformationssystemet bygger på att ett centralt system har (kopior av) all information. Men istället för att att varje myndighet själv ska överföra sin information dit, så samlar det centrala systemet själv in det med automatik. Det är därför varje myndighet måste göra tillgänglig en förteckning (i Atom-format) över alla de dokument som den har.

Detta centrala ställe kallar vi för rinfo-main. Det är en webbapplikation vars främsta uppgift är att med jämna mellanrum hämta information från alla myndigheter som publicerar rättsinfo. Först hämtas en förteckning i Atom-format, sedan hämtas de PDF- och RDF-filer som pekas ut i förteckningen.

(Den myndighet som vill se till att informationen hämtas in omedelbart kommer att kunna ”pinga” rinfomain för att få systemet att utföra en ny hämtning)

I samband med insamlingsprocessen sker viss validering av informationen – att dokumenten faktiskt går att hämta, att dess checksummor stämmer överens med vad som angetts i Atom-filen, att RDF-filen är syntaktiskt korrekt, att de URI:er som använts för varje dokument stämmer överens med all metadata som angetts i RDF-filen, och liknande. När detta väl är gjort lagras data (dokument i PDF-format) och metadata (RDF-filer) på disk.

Gränssnittet för att komma åt den information som finns lagrad i rinfo-main är spartanskt — informationen görs tillgänglig på samma form som den samlats in, dvs ett atomflöde som i sina entries hänvisar till PDF och RDF-filer (men med sina nya addresser på rinfomain-servern). Skillnaden är att detta Atom-flöde är ett aggregat, dvs det innehåller samtliga dokument från samtliga medverkande myndigheter. Det är alltså ett gränssnitt av ”brandslangskaraktär”.

Detta gränssnitt är främst avsett för de som vill återanvända all, eller åtminstone stora delar av, rättsinformationen. Den viktigaste återanvändaren kommer att vara portalen lagrummet.se, som i framtiden kommer att indexera alla rättsinfodokument för att möjliggöra enhetlig sökning, bläddring och läsning av dessa. Men även andra kan och får använda detta gränssitt för att bygga egna tjänster. Vi vill göra det enklare för aktörer i den privata sektorn att bygga nya tjänster på den offentliga rättsinformationen. Ur detta perspektiv är lagrummet.se bara en av många återanvändare.

Vi tror att man ofta kommer behöva mer finkorniga åtkomstmetoder än den ovan nämna brandslangen. Därför bygger vi även en parallell tjänst, kallad rinfo-service. Den har ett rikare gränssnitt där en användare kan få tillgång till dokument och sammanställningar i olika format (förslagsvis JSON, Atom och HTML) i ett REST-API, och även ställa fullständiga SPARQL-frågor mot RDF-datat.

Så, för att summera:

  • Lagrummet.se är till för alla som söker offentlig rättsinformation. Idag sker det genom att länka till olika myndigheters dokumentsamlingar, i framtiden kommer all information finnas centralt sökbar och blädderbar. Denna nya version har inte börjat byggas än.
  • Rinfo-main är till för den som vill göra en egen rättsinformationstjänst som innehåller all offentlig rättsinformation. Rinfo-main är färdig och klar för att samla in redan idag, men innehåller ännu inte någon skarp data från någon myndighet.
  • Rinfo-service är till för den som vill göra en tjänst som på något sätt använder offentlig rättsinformation. Rinfo-service är under utveckling.
Annonser