35
STADSARKIVET LANDSARKIV FÖR STOCK HOLMS LÄN Bilaga 4 Teknisk dokumentation Anslutningsspecifikation e-arkiv Stockholm Stadsarkivet Författare Version e-arkiv Stockholm Elin Kröger Nygren Magnus Asplund Louise Högberg 1.1 Senast ändrad Sida 2013-01-03 1 (35)

Anslutningsspecifikation e-arkiv Stockholm · 3 E-arkivet validerar informationen (metadata och fil) enligt överenskomna regler. ... 8. En konsument kan, när den vet vilket objekt

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Anslutningsspecifikation e-arkiv Stockholm · 3 E-arkivet validerar informationen (metadata och fil) enligt överenskomna regler. ... 8. En konsument kan, när den vet vilket objekt

STADSARKIVET LANDSARKIV FÖR STOCKHOLMS LÄN

Bilaga 4

Teknisk dokumentation Anslutningsspecifikation e-arkiv Stockholm

Stadsarkivet Författare Version e-arkiv Stockholm Elin Kröger Nygren

Magnus Asplund Louise Högberg

1.1

Senast ändrad Sida 2013-01-03 1 (35)

Page 2: Anslutningsspecifikation e-arkiv Stockholm · 3 E-arkivet validerar informationen (metadata och fil) enligt överenskomna regler. ... 8. En konsument kan, när den vet vilket objekt

TEKNISK DOKUMENTATION Anslutningsspecifikation e-arkiv Stockholm

Innehållsförteckning 1. Dokumentinformation ________________________________________ 3

1.1 Målgrupp .................................................................................................................... 3

2. Grundprinciper Anslutning _____________________________________ 3

3. Synkron anslutning __________________________________________ 4 3.1 Övergripande beskrivning ..................................................................................... 5 3.2 Beskrivning av användande.................................................................................... 6

3.2.1 Arkivera ...................................................................................................... 6 3.2.2 Söka -i form av fritextsökning .............................................................. 6 3.2.3 Hämta –ett unikt och komplett arkivobjekt ...................................... 7

3.3 Säkerhet .................................................................................................................... 7 3.3.1 Autentisering ............................................................................................. 7 3.3.2 Behörighetsprincip ................................................................................... 8 3.3.3 Kryptering .................................................................................................. 8

3.4 Publicerade webbtjänster ...................................................................................... 8 3.4.1 ArchiveSipExtended ................................................................................. 8 3.4.2 SearchIndexObjects ...............................................................................14 3.4.3 GetIndexObjectComplete ...................................................................16 3.4.4 GetFile.......................................................................................................18 3.4.5 GetFiles .....................................................................................................19 3.4.6 OrderDIP .................................................................................................21

3.5 Felhantering ............................................................................................................22 3.5.1 Felkoder vid arkivering .........................................................................22

4. Asynkron anslutning ________________________________________ 22 4.1 Övergripande beskrivning ...................................................................................22 4.2 Beskrivning av användande..................................................................................24

4.2.1 Struktur för massinlämning ..................................................................24 4.2.2 Inleveransflöde ........................................................................................25 4.2.3 SIP-etiketten ............................................................................................28 4.2.4 Åtkomst ....................................................................................................32 4.2.5 Kvittohantering och felhanteringsrutiner .........................................32

4.3 Säkerhet ..................................................................................................................33

5. Åtkomst till miljöer _________________________________________ 33 5.1 Miljöer ......................................................................................................................34

5.1.1 Testmiljö ...................................................................................................34 5.1.2 Preproduktionsmiljö ..............................................................................34 5.1.3 Produktionsmiljö ....................................................................................34 5.1.4 Brandväggsöppningar .............................................................................35 5.1.5 Extern åtkomst via VPN-anslutning ...................................................35

6. Revisionshistorik ___________________________________________ 35

Sida 2 (35)

Page 3: Anslutningsspecifikation e-arkiv Stockholm · 3 E-arkivet validerar informationen (metadata och fil) enligt överenskomna regler. ... 8. En konsument kan, när den vet vilket objekt

TEKNISK DOKUMENTATION Anslutningsspecifikation e-arkiv Stockholm

1. DOKUMENTINFORMATION Detta dokument beskriver, ur en teknisk synvinkel, hur synkron och asynkron anslutning till e-arkivet sker och har till syfte att underlätta anslutningsprocessen för verksamhetssystem.

1.1 Målgrupp Målgruppen för detta dokument är tekniskt orienterade personer som arbetar med anslutning till e-arkivet.

2. GRUNDPRINCIPER ANSLUTNING Leverans till och återsökning i e-arkivet kan ske antingen synkront eller asynkront. Eftersom synkron anslutning har begränsningar i storleken på paket som kan skickas, sker detta främst när man vill leverera mindre mängder data, vill ha omedelbar arkivering och omedelbar kvittens på leveransen. För att leverera och återsöka synkront utnyttjas Stockholms stads SOA-plattform. Asynkron anslutning kan med fördel användas när stora mängder data ska levereras vid ett eller fler tillfällen och det inte är viktigt med omedelbar kvittens på leveransen. T.ex. vid avställning av system eller vid årsskiften. Asynkron leverans sker genom att data levereras till en FTP-area varifrån informationen läses in till e-arkivet. Bilden nedan illustrerar grundprinciperna med anslutning till e-arkivet, oberoende av typ av anslutning, genom att beskriva de tre scenariorna Arkivera, Söka och Hämta.

Sida 3 (35)

Page 4: Anslutningsspecifikation e-arkiv Stockholm · 3 E-arkivet validerar informationen (metadata och fil) enligt överenskomna regler. ... 8. En konsument kan, när den vet vilket objekt

TEKNISK DOKUMENTATION Anslutningsspecifikation e-arkiv Stockholm

Arkivera 1. En producent av information (avslutade ärenden) startar en arkivering (ett eller fler

ärenden) 2. Ärendet packas ihop enligt överenskommelse om innehåll, format och struktur till en

SIP (Submission Information Package) och skickas till e-arkivet. 3 E-arkivet validerar informationen (metadata och fil) enligt överenskomna regler. 4. Om leveransen är ok sparas arkivobjektet i leveransen till e-arkivets databas 5. En kvittens på mottagen leverans och genererad nyckel för arkivobjektet. Söka 6. En konsument ställer frågor om innehåll i e-arkivet 7. E-arkivet sammanställer svaren och returnerar resultatet i form av metadata. Hämta 8. En konsument kan, när den vet vilket objekt som den är ute efter utföra en hämtning

genom en order av objektet. 9. Arkivobjektet levereras som ett paket innehållande metadata och filer.

3. SYNKRON ANSLUTNING För synkron anslutning tillhandahåller e-arkivet en webbtjänst som hanterar leverans, återsökning och hämtning. Tjänsten publiceras i Stockholm stads SOA-plattform och anropas av anslutande verksamhetssystem. Vid leverans skickas en SIP (Submission Information Package) där de bifogade dokumenten inkluderas i meddelandet. Kvittoinformationen returneras omedelbart i svaret från webbtjänsten. Även vid återsökning och hämtning returneras resultatet omedelbart.

Sida 4 (35)

Page 5: Anslutningsspecifikation e-arkiv Stockholm · 3 E-arkivet validerar informationen (metadata och fil) enligt överenskomna regler. ... 8. En konsument kan, när den vet vilket objekt

TEKNISK DOKUMENTATION Anslutningsspecifikation e-arkiv Stockholm

3.1 Övergripande beskrivning Bilden nedan illustrerar grundprinciperna för synkron anslutning genom scenario för Arkivera, Söka och Hämta.

Arkivera 1. En producent vill arkivera information, t.ex. ur ett verksamhetssystem, vid avslut av

ett ärende. 2. Information om ärendet och dess ingående handlingar packas i ett meddelande och

skickas till e-arkivet genom anrop av en webbtjänst. 3 E-arkivet validerar informationen (metadata och fil) enligt överenskomna regler. 4. Om leveransen är ok sparas arkivobjektet i leveransen till e-arkivets databas 5. En kvittens på mottagen leverans och identifikation för arkivobjektet levereras

omedelbart tillbaka till producenten i responsmeddelandet för webbtjänsten. Söka 6. En konsument ställer frågor om innehåll i e-arkivet genom anrop av en webbtjänst

med ett meddelande innehållande sökfrågan. 7. E-arkivet sammanställer svaren och returnerar resultatet i form av metadata om

handlingarna. Inga filer returneras i detta steg. Hämta 8. En konsument kan, när den vet vilket objekt den är ute efter, hämta objektet genom

anrop av webbtjänst. 9. Arkivobjektet innehållande metadata och ev filer returneras i responsmeddelandet.

Sida 5 (35)

Page 6: Anslutningsspecifikation e-arkiv Stockholm · 3 E-arkivet validerar informationen (metadata och fil) enligt överenskomna regler. ... 8. En konsument kan, när den vet vilket objekt

TEKNISK DOKUMENTATION Anslutningsspecifikation e-arkiv Stockholm

3.2 Beskrivning av användande

3.2.1 Arkivera

Anslutet system

::Användare av anslutet system

avsluta ärende( )

Skapa metadata för arkivobjektet

SOA-plattformen Navet e-arkiv

Hämta fil från dokumentlager/Skapa fil

Skapa innehåll i SIP (metadata + fil)

Anrop till WS - ArchiveSipExtended(SIP)

ArchiveSipExtended(SIP)

Kvitto(ArkivID/Felmeddelande)

Kvitto(ArkivID/Felmeddelande)

Uppdatera databas. Länka internt ID med ArkivID

3.2.2 Söka -i form av fritextsökning

Anslutet system

::Användare av anslutet system

söka efter ärende( )

Identifiera sökbegrepp

SOA-plattformen Navet e-arkiv

Anrop till WS - SearchIndexObject(QueryRequest)

SearchIndexObject(QueryRequest)

Result/Felmedelande

Result/Felmedelande

Läs ur metadata och/eller ArkivID ur resultat

Skapa ett QueryRequest

Presentera resultatet

Sida 6 (35)

Page 7: Anslutningsspecifikation e-arkiv Stockholm · 3 E-arkivet validerar informationen (metadata och fil) enligt överenskomna regler. ... 8. En konsument kan, när den vet vilket objekt

TEKNISK DOKUMENTATION Anslutningsspecifikation e-arkiv Stockholm

3.2.3 Hämta –ett unikt och komplett arkivobjekt

3.3 Säkerhet Den webservice som finns i SOA-plattformen kräver att användaren/systemet autentiserar sig vid anrop och själva kommunikationen är säkrad via SSL (Secure Socket Layer). Autentiseringen är av typen basic http.

3.3.1 Autentisering Basic http-autentiseringen bygger på att ett systemkonto och lösenord sätts i anropet. Kontot och lösenordet beställs hos Service Centrum av behörig beställare på Stadsarkivet.

Sida 7 (35)

Page 8: Anslutningsspecifikation e-arkiv Stockholm · 3 E-arkivet validerar informationen (metadata och fil) enligt överenskomna regler. ... 8. En konsument kan, när den vet vilket objekt

TEKNISK DOKUMENTATION Anslutningsspecifikation e-arkiv Stockholm

3.3.2 Behörighetsprincip

1. E-arkivet definierar en uppsättning attribut som är nödvändiga för att avgöra om utlämning av informationsobjekt är möjligt enligt regelverket

2. Inför en anslutning till e-arkivet översätts verksamhetens behörighetsmodell till e-arkivets behörighetsattribut. Detta sker i ett tjänstekontrakt.

3. VS ansvarar för att påföra rätt attribut vid ett anrop enligt tjänstekontraktet. 4. SOA Security Gateway översätter varje SOAP-request till HTTP-header. 5. E-arkivet avgör med hjälp av attributen om information kan lämnas ut eller ej

Anslutande verksamhetssystem har till ansvar att påföra behörighetsattributen i meddelandet till e-arkivet. Dessa attribut används av sedan e-arkivet för att avgöra om slutanvändaren har rätt att lämna in eller ta del av informationen. Attributen sätts i form av SOAP-headers i anropet. Följande tre headers måste sättas: UserID Role IP

3.3.3 Kryptering Anropen till SOA-tjänsten säkras genom SSL.

3.4 Publicerade webbtjänster Nedan följer en beskrivning av de webbtjänster som är publicerade i SOA-plattformen som kan anropas av anslutande system. De anslutande klienterna måste använda sig av SOAP Message Transmission Optimization Mechanism, MTOM, när bilagor ska sändas eller tas emot. Entiteter i arkivet har identifierare som ser ut på nedanstående sätt oavsett om det identifierar en fil, en nod i informationsredovisningsstrukturen eller ett helt arkivobjekt. Alla identifierare ser ut på följande sätt: iipax://objectbase.document/docpartition#<integer> Många av operationerna som beskrivs tar ett From-element som indata, detta element används då för att logga statistik om vilket system som använder arkivet. Undantaget är ArchiveSipExtended där From-elementet används för att koppla det inkommande arkivobjektet till ett inlämningskontrakt. Varje operation nedan beskrivs enligt signaturen returnerat objekt := metodnamn(inskickat objekt)

3.4.1 ArchiveSipExtended Signatur: Kvitto := ArchiveSipExtended(SIP)

Sida 8 (35)

Page 9: Anslutningsspecifikation e-arkiv Stockholm · 3 E-arkivet validerar informationen (metadata och fil) enligt överenskomna regler. ... 8. En konsument kan, när den vet vilket objekt

TEKNISK DOKUMENTATION Anslutningsspecifikation e-arkiv Stockholm

Beskrivning: ArchiveSipExtended används för inlämning av arkivobjekt som ligger packat i en SIP. Innan ett system börjar leverera information till arkivet skall Objekttyper skapas samt Inlämningskontrakt upprättas, denna process styr hur indata kommer att se ut. Indata beskrivs av ett Submission Information Package (SIP) definierat i OAIS modellen. En SIP består av metadata om det som arkiveras samt binärdata för de arkiverade filerna. Metadata kan se ut på olika sätt beroende på hur verksamheten ser ut men det består av en trädstruktur som är antingen två eller tre nivåer djup. Roten i metadata är ett IndexObject som kan beteckna t.ex. ett ärende hos verksamheten, enligt Stadsarkivets terminologi kallas detta för ett huvudobjekt. Ett IndexObjekt kan sedan innehålla antingen ett eller flera IndexDocument (alternativ 1 nedan) eller IndexFile (alternativ 2 nedan). Ett IndexDocument kan beteckna t.ex. en handling i ett specifikt ärende, enligt Stadsarkivets terminologi kallas detta för ett underobjekt. Ett IndexDocument kan sedan innehålla ett eller flera IndexFile-element som är metadata för filen samt tillhörande binärdata (filen). Objekt: SIP (förenklat alternativ 1) <Huvudobjekt> <metadata> <... <Underobjekt> <metadata> <... <Filobjekt> <metadata> <... <Binär fil> <FilObjekt> <metadata> <... <Binär fil> <Underobjekt> Objekt: SIP (förenklat alternativ 2) <Huvudobjekt> <metadata> <... <Filobjekt> <metadata> <... <Binär fil> <FilObjekt> <metadata> <... <Binär fil>

Sida 9 (35)

Page 10: Anslutningsspecifikation e-arkiv Stockholm · 3 E-arkivet validerar informationen (metadata och fil) enligt överenskomna regler. ... 8. En konsument kan, när den vet vilket objekt

TEKNISK DOKUMENTATION Anslutningsspecifikation e-arkiv Stockholm

På IndexObject och IndexDocument nivån skall en objekttyp definieras i den inkommande SIP:en. Objekttyper finns definierade för den verksamhet som ansluter till systemet, dessa objektyper kan innehålla specifika verksamhetsattribut. IndexObject, IndexDocument samt IndexFile har ett DisplayName element som är den text som kommer att visas när man söker i arkivet efter ett visst ärende, handling eller fil. DisplayName för ett IndexObject skall vara en unik identitet såsom ett diarienummer. DisplayName för ett IndexFile-element skall vara filens namn. Ett filnamn har vissa syntaxregler, använd ej blanktecken eller svenska åäö i filnamnet. En fil skall ha en tillhörande checksumma beräknad enligt en viss algoritm, t.ex. SHA1, vilket anges i elementet lta_file_digest. IndexObject, IndexDocument och IndexFile kan även definiera ett eller flera attribut som beskriver objektet. Vilka dessa attribut är kan skilja mellan olika verksamheter och deras objekttyper, vissa av dessa är obligatoriska och vissa är valfria. Attributtyperna har även olika basala typer såsom strängvärden, datum, flyttal o.s.v. IndexObject-elementet har även elementen Producer och From som skall fyllas i. Producer avser den verksamhet som arkiverar och From är namnet på det system som arkiverar. Producer, From och ObjectType elementet bildar tillsammans en nyckel som avgör bland annat vart i arkivet SIP:en skall lagras samt vilka filformatskontroller som skall göras, detta definieras via ett så kallat Inlämningskontrakt (Submission agreement). Om inget inlämningskontrakt kan associeras med SIP:en kommer ett fel att returneras från anropet. Resultatet av operationen ArchiveSipExtended är att ett kvitto som innehåller identiteter till de resulterande objekten i arkivet. Kvittot har en trädstruktur på samma sätt som den inskickade SIP:en. Tillsammans med identiteten för varje skapat objekt följer också DisplayName med, detta eftersom arkivet inte har någon definierad sorteringsordning för de IndexDocument eller IndexFile element som ingår i ett arkivobjekt. Objekt: kvitto (förenklat) <kvitto> <huvudobjekt orgid = iipaxid> <underobjekt orgid = iipaxid> <filobjekt orgid = iipaxiid> <binärfil orgid = iipaxid> </kvitto> Objekt: felkvitto (förenklat) <ingestfel> <kategori></kategori> <kod></kod> <meddelande></meddelande> </ingestfel>

Sida 10 (35)

Page 11: Anslutningsspecifikation e-arkiv Stockholm · 3 E-arkivet validerar informationen (metadata och fil) enligt överenskomna regler. ... 8. En konsument kan, när den vet vilket objekt

TEKNISK DOKUMENTATION Anslutningsspecifikation e-arkiv Stockholm

3.4.1.1. Exempel Exempelanrop för en arkivering och returnerat kvitto följer nedan. <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ssa="http://ssa.stockholm.se/"> <soapenv:Header/> <soapenv:Body> <ssa:ArchiveSipExtendedRequest> <ssa:IndexObject> <ssa:DisplayName>AIPTest</ssa:DisplayName> <ssa:ObjectType>huvudobjekt</ssa:ObjectType> <!--Zero or more repetitions:--> <ssa:Attribute name="original_id_definition"> <ssa:Value>Orginal Id definition</ssa:Value> </ssa:Attribute> <ssa:Attribute name="title"> <ssa:Value>Titeln</ssa:Value> </ssa:Attribute> <ssa:Producer>Testproducent</ssa:Producer> <ssa:From>Testsystem</ssa:From> <ssa:IndexDocument> <ssa:DisplayName>Dokument</ssa:DisplayName> <!--Optional:--> <ssa:ObjectType>lta_document</ssa:ObjectType> <!--Zero or more repetitions:--> <ssa:Attribute name="original_id_definition"> <ssa:Value>Definition</ssa:Value> </ssa:Attribute> <ssa:Attribute name="sekretess"> <ssa:Value>nej</ssa:Value> </ssa:Attribute> <ssa:Attribute name="producer_system"> <ssa:Value>producentsystem</ssa:Value> </ssa:Attribute> <ssa:Attribute name="producer_system_version"> <ssa:Value>2.5</ssa:Value> </ssa:Attribute> <!--1 or more repetitions:--> <ssa:IndexFile> <ssa:DisplayName>ida_infront.pdf</ssa:DisplayName> <!--Zero or more repetitions:--> <ssa:Attribute name="original_id_definition"> <ssa:Value>FILEDEF</ssa:Value> </ssa:Attribute> <ssa:Attribute name="language"> <ssa:Value>enligt standard</ssa:Value> </ssa:Attribute> <ssa:Attribute name="format_name"> <ssa:Value>enligt krav</ssa:Value> </ssa:Attribute> <ssa:Attribute name="format_version"> <ssa:Value>PDF/A 1a</ssa:Value> </ssa:Attribute> <ssa:Attribute name="lta_file_digest">

Sida 11 (35)

Page 12: Anslutningsspecifikation e-arkiv Stockholm · 3 E-arkivet validerar informationen (metadata och fil) enligt överenskomna regler. ... 8. En konsument kan, när den vet vilket objekt

TEKNISK DOKUMENTATION Anslutningsspecifikation e-arkiv Stockholm

<ssa:Value>SHA1:c879ccc8e3ca232126d07d5dee42340871477311</ssa:Value> </ssa:Attribute> <ssa:Content> <xop:Include href="cid:ida_infront.pdf"

xmlns:xop="http://www.w3.org/2004/08/xop/include" /> </ssa:Content> </ssa:IndexFile> <ssa:IndexFile> <ssa:DisplayName>buildingpermit.xml</ssa:DisplayName> <!--Zero or more repetitions:--> <ssa:Attribute name="original_id_definition"> <ssa:Value>FILEDEF</ssa:Value> </ssa:Attribute> <ssa:Attribute name="language"> <ssa:Value>enligt standard</ssa:Value> </ssa:Attribute> <ssa:Attribute name="format_name"> <ssa:Value>enligt krav</ssa:Value> </ssa:Attribute> <ssa:Attribute name="format_version"> <ssa:Value>PDF/A 1a</ssa:Value> </ssa:Attribute> <ssa:Attribute name="lta_file_digest"> <ssa:Value>SHA1:3e616f3ed1df5256dad6003db80132d714971dbe</ssa:Value> </ssa:Attribute> <ssa:Content> <xop:Include href="cid:buildingpermit.xml"

xmlns:xop="http://www.w3.org/2004/08/xop/include" /> </ssa:Content> </ssa:IndexFile> </ssa:IndexDocument> <ssa:IndexDocument> <ssa:DisplayName>Dokument2</ssa:DisplayName> <ssa:ObjectType>lta_document</ssa:ObjectType> <!--Zero or more repetitions:--> <ssa:Attribute name="original_id_definition"> <ssa:Value>Definition</ssa:Value> </ssa:Attribute> <ssa:Attribute name="sekretess"> <ssa:Value>nej</ssa:Value> </ssa:Attribute> <ssa:Attribute name="producer_system"> <ssa:Value>producentsystem</ssa:Value> </ssa:Attribute> <ssa:Attribute name="producer_system_version"> <ssa:Value>2.5</ssa:Value> </ssa:Attribute> <!--1 or more repetitions:--> <ssa:IndexFile> <ssa:DisplayName>KvarteretDetektiven.TIF</ssa:DisplayName> <!--Zero or more repetitions:--> <ssa:Attribute name="original_id_definition">

Sida 12 (35)

Page 13: Anslutningsspecifikation e-arkiv Stockholm · 3 E-arkivet validerar informationen (metadata och fil) enligt överenskomna regler. ... 8. En konsument kan, när den vet vilket objekt

TEKNISK DOKUMENTATION Anslutningsspecifikation e-arkiv Stockholm

<ssa:Value>FILEDEF</ssa:Value> </ssa:Attribute> <ssa:Attribute name="language"> <ssa:Value>enligt standard</ssa:Value> </ssa:Attribute> <ssa:Attribute name="format_name"> <ssa:Value>enligt krav</ssa:Value> </ssa:Attribute> <ssa:Attribute name="format_version"> <ssa:Value>PDF/A 1a</ssa:Value> </ssa:Attribute> <ssa:Attribute name="lta_file_digest"> <ssa:Value>SHA1:ec039411b6e9c29bd1746b45fe524b1ac66d2a5e</ssa:Value> </ssa:Attribute> <ssa:Content> <xop:Include href="cid:ida_infront.pdf" xmlns:xop="http://www.w3.org/2004/08/xop/include" /> </ssa:Content> </ssa:IndexFile> </ssa:IndexDocument> </ssa:IndexObject> </ssa:ArchiveSipExtendedRequest> </soapenv:Body> </soapenv:Envelope> Ger ett resultat som liknar följande: <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body> <ns1:ArchiveSipExtendedResponse xmlns:ns1="http://ssa.stockholm.se/"> <ns1:IndexObjectReceipt> <ns1:Id>iipax://objectbase.document/docpartition#13101</ns1:Id> <ns1:DisplayName>Test Objekt</ns1:DisplayName> <ns1:IndexDocumentReceipt> <ns1:Id>iipax://objectbase.document/docpartition#13102</ns1:Id> <ns1:DisplayName>Dokument</ns1:DisplayName> <ns1:IndexFileReceipt> <ns1:Id>iipax://objectbase.document/docpartition#13104</ns1:Id> <ns1:DisplayName>buildingpermit.xml</ns1:DisplayName> </ns1:IndexFileReceipt> <ns1:IndexFileReceipt> <ns1:Id>iipax://objectbase.document/docpartition#13103</ns1:Id> <ns1:DisplayName>ida_infront.pdf</ns1:DisplayName> </ns1:IndexFileReceipt> </ns1:IndexDocumentReceipt> <ns1:IndexDocumentReceipt> <ns1:Id>iipax://objectbase.document/docpartition#13105</ns1:Id> <ns1:DisplayName>Dokument2</ns1:DisplayName> <ns1:IndexFileReceipt> <ns1:Id>iipax://objectbase.document/docpartition#13106</ns1:Id> <ns1:DisplayName>KvarteretDetektiven.TIF</ns1:DisplayName>

Sida 13 (35)

Page 14: Anslutningsspecifikation e-arkiv Stockholm · 3 E-arkivet validerar informationen (metadata och fil) enligt överenskomna regler. ... 8. En konsument kan, när den vet vilket objekt

TEKNISK DOKUMENTATION Anslutningsspecifikation e-arkiv Stockholm

</ns1:IndexFileReceipt> </ns1:IndexDocumentReceipt> </ns1:IndexObjectReceipt> </ns1:ArchiveSipExtendedResponse> </soapenv:Body> </soapenv:Envelope>

3.4.2 SearchIndexObjects Signatur: IndexObject* := SearchIndexObjects(Query+, From?, SearchRootPath?) Beskrivning: Används för att söka fram information om objekt när identiteter i e-arkivet inte är kända. Sökningar kan utföras på alla metadataattribut. Objekt: Sökfråga (Query) En Sökfråga består av:

• ObjectType – objekttypsfilter. Kan utelämnas • SearchCondition – valfri parameter som kan förekomma flera gånger och

används för att definiera sökvillkor. En sökträff måste uppfylla samtliga sökvillkor. SearchCondition består av:

o Attribute – namnet på ett sökbart attribut. o Operator – villkorets operator. o Value – sökvärde.

Returvärde: Resultatet består av en lista av de huvudobjekt som innehåller dokument som matchar sökfrågan. Objekten returneras inte med alla sina underordnade objekt. Endast de som direkt medverkade till att objektet returnerades ingår. Om någonting går fel returneras ett AccessFault innehållande ett felmeddelande. Det valfria SearchRootPath-elementet används om man vill begränsa träffmängden genom att bara söka i ett delträd i informationsredovisningsstrukturen. Elementet innehåller ett eller flera Container element, ett Container element per nod i informationsredovisningsstrukturen. Resultatet består av en lista av de arkivobjekt som innehåller de underobjekt och/eller filobjekt som matchar sökfrågan. Arkivobjekten returneras inte med alla sina underordnade objekt utan endast de som direkt medverkade till att arkivobjektet returnerades ingår. Detta möjliggör träffmarkering i en klient. För att hämta samtliga underordnade objekt till ett arkivobjekt används istället GetFiles-operationen. Anges flera villkor i sökfrågan måste alla dessa vara sanna för att generera en träff. Om frågan dessutom är begränsad med objekttyp måste attributen vid sökningen vara definierad på aktuell objekttyp för att träffar ska genereras. Vid flera sökfrågor kommer snittet av träffmängderna att returneras. Detta innebär att det är möjligt med ytterligare filtrering av en träffmängd genom att ställa ytterligare en fråga.

Sida 14 (35)

Page 15: Anslutningsspecifikation e-arkiv Stockholm · 3 E-arkivet validerar informationen (metadata och fil) enligt överenskomna regler. ... 8. En konsument kan, när den vet vilket objekt

TEKNISK DOKUMENTATION Anslutningsspecifikation e-arkiv Stockholm

Objekt: felkvitto (förenklat) <accessfel> <meddelande></meddelande> </accessfel>

3.4.2.1. Fritextsökning Det finns möjligheter att göra fritextsökningar i arkivet genom att använda det reserverade attributnamnet text_search. Om man vill söka på filinnehåll där termen ”Melanders” återfinns skriver man: content:Melanders. Skriver man inte content: framför kommer arkivet att söka i de objektattribut i metadata som är konfigurerade för fritextsökning. Söktermer med blanksteg kan man söka efter ifall man omsluter dem med citat tecken. Till exempel ”Melanders Fisk” söker efter denna exakta fras. Söktermer med wildcards kan användas t.ex. kan man skriva Melanders* om man vill söka efter alla termer som börjar med Melanders. Asterisken betyder noll, ett eller flera valfria tecken. Även ? finns definierad som ett wildcard och betyder ett valfritt tecken. Man kan inte börja en term med ett wildcard så följande termer är ogiltiga *Melanders och ?Fisk. Logiska operatorerna AND, OR och NOT finns definierade och har standardbetydelse. Även operatorerna + och – finns. Skriver man till exempel +Melanders Fisk betyder detta att Melanders måste finnas men att Fisk är valfri. Vill man söka på dokument som innehåller Melanders men inte Fisk skriver man Melanders –Fisk. Om det är så att söktermen i sig innehåller ett minus eller plus måste dessa föregås av prefixet \\

3.4.2.2. Exempel Nedan syns ett exempelanrop: <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ssa="http://ssa.stockholm.se/"> <soapenv:Header/> <soapenv:Body> <ssa:SearchIndexObjectsRequest> <!--1 or more repetitions:--> <ssa:Query> <!--Zero or more repetitions:--> <!--<ssa:ObjectType>huvudobjekt</ssa:ObjectType>--> <!--1 or more repetitions:--> <ssa:SearchCondition> <ssa:Attribute>display_name</ssa:Attribute> <!--Optional:-->

Sida 15 (35)

Page 16: Anslutningsspecifikation e-arkiv Stockholm · 3 E-arkivet validerar informationen (metadata och fil) enligt överenskomna regler. ... 8. En konsument kan, när den vet vilket objekt

TEKNISK DOKUMENTATION Anslutningsspecifikation e-arkiv Stockholm

<ssa:Operator>EQUAL</ssa:Operator> <!--Optional:--> <ssa:Value>AIPObjekt</ssa:Value> </ssa:SearchCondition> </ssa:Query> <!--Optional:--> <ssa:From>Testsystem</ssa:From> <!--Optional:--> <ssa:SearchRootPath> <!--1 or more repetitions:--> <ssa:Container>SSA-test</ssa:Container> </ssa:SearchRootPath> </ssa:SearchIndexObjectsRequest> </soapenv:Body> </soapenv:Envelope> Kan ge resultatet: <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body> <ns1:SearchIndexObjectsResponse xmlns:ns1="http://ssa.stockholm.se/"> <ns1:IndexObjectRef> <ns1:Id>iipax://objectbase.document/docpartition#3</ns1:Id> <ns1:DisplayName>AIPObjekt</ns1:DisplayName> <ns1:ObjectType>huvudobjekt</ns1:ObjectType> <ns1:Attribute name="created_by"> <ns1:Value>iipaxSystem</ns1:Value> </ns1:Attribute> ... <ns1:Attribute name="original_id_definition"> <ns1:Value>Orginal Id definition</ns1:Value> </ns1:Attribute> </ns1:IndexObjectRef> </ns1:SearchIndexObjectsResponse> </soapenv:Body> </soapenv:Envelope>

3.4.3 GetIndexObjectComplete Signatur: DIP := GetIndexObjectComplete(Id, From?) Beskrivning: GetIndexObjectComplete används för att hämta ut ett Dissemination Information Package (DIP) ur arkivet. En DIP liknar en SIP, med skillnaden att de ingående objekten har identiteter satta. Binärdata kommer att skickas tillbaka i separata MIME-datadelar. Id-elementet skall peka antingen på ett huvudobjekt (IndexObject), ett underobjekt (IndexDocument) eller en fil (IndexFile). Om id pekar på ett IndexDocument eller en IndexFile hämtas delmängder av det lagrade arkivobjektet. Svaret ser ut på lite olika sätt beroende på vilket id som skickades in.

Sida 16 (35)

Page 17: Anslutningsspecifikation e-arkiv Stockholm · 3 E-arkivet validerar informationen (metadata och fil) enligt överenskomna regler. ... 8. En konsument kan, när den vet vilket objekt

TEKNISK DOKUMENTATION Anslutningsspecifikation e-arkiv Stockholm

1. Om det inskickade ID:t pekar på ett huvudobjekt skall huvudobjektet och alla

underliggande objekt returneras.

2. Om det inskickade ID:t pekar på ett underobjekt skall underobjektet och alla underliggande objekt returneras men även det omslutande huvudobjektet.

3. Om det inskickade ID:t pekar på ett filobjekt skall filobjektet returneras men även det omslutande underobjektet och det omslutande huvudobjektet.

Det är alltså alltid ett IndexObject element som är roten i svaret.

Objekt: ID Identiteten i arkivet på ett huvudobjekt, ett underobjekt eller filobjekt Objekt: DIP (förenklat) <Huvudobjekt> <metadata> <... <Underobjekt> <metadata> <... <Filobjekt> <metadata> <... <Binär fil> <FilObjekt> <metadata> <... <Binär fil> <Underobjekt> Objekt: felkvitto (förenklat) <AccessFault> <felmeddelande></felmeddelande> </AccessFault>

3.4.3.1. Exempel <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ssa="http://ssa.stockholm.se/"> <soapenv:Header/> <soapenv:Body> <ssa:GetIndexObjectCompleteRequest> <ssa:Id>iipax://objectbase.document/docpartition#13260</ssa:Id> <!--Optional:--> <ssa:From>Testsystem</ssa:From> </ssa:GetIndexObjectCompleteRequest> </soapenv:Body> </soapenv:Envelope> Ger svaret (vissa metadata-attribut är bortplockade):

Sida 17 (35)

Page 18: Anslutningsspecifikation e-arkiv Stockholm · 3 E-arkivet validerar informationen (metadata och fil) enligt överenskomna regler. ... 8. En konsument kan, när den vet vilket objekt

TEKNISK DOKUMENTATION Anslutningsspecifikation e-arkiv Stockholm

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body> <ns1:GetIndexObjectCompleteResponse xmlns:ns1="http://ssa.stockholm.se/"> <ns1:IndexObject> <ns1:Id>iipax://objectbase.document/docpartition#13260</ns1:Id> <ns1:DisplayName>AIPTest~29</ns1:DisplayName> <ns1:ObjectType>huvudobjekt</ns1:ObjectType> <ns1:Attribute name="created_date"> <ns1:Value>2009-06-23 09:08:00</ns1:Value> </ns1:Attribute> ... <ns1:IndexDocument> <ns1:Id>iipax://objectbase.document/docpartition#13261</ns1:Id> <ns1:DisplayName>Dokument</ns1:DisplayName> <ns1:Attribute name="created_date"> <ns1:Value>2009-06-23 09:08:00</ns1:Value> </ns1:Attribute> ... <ns1:IndexFileRef> <ns1:Id>iipax://objectbase.document/docpartition#13262</ns1:Id> <ns1:DisplayName>ida_infront.pdf</ns1:DisplayName> <ns1:Attribute name="created_by"> <ns1:Value>iipaxSystem</ns1:Value> </ns1:Attribute> ... <ns1:Content> <xop:Include href="cid:1.urn:uuid:[email protected]" xmlns:xop="http://www.w3.org/2004/08/xop/include"/> </ns1:Content> </ns1:IndexFileRef> </ns1:IndexDocument> </ns1:IndexObject> </ns1:GetIndexObjectCompleteResponse> </soapenv:Body> </soapenv:Envelope>

3.4.4 GetFile Signatur: Filnamn+Fildata := GetFile(Id, From?) Beskrivning: Denna operation används för att hämta upp binärdata för ett visst arkiverat filobjekt. Denna operation tar en identitet som indata samt ett valfritt From element som används för att logga statistik. Objekt: ID Ett id som pekar på filobjektet Returvärde: Resultatet innehåller filens data som en Base64-kodad sträng

Sida 18 (35)

Page 19: Anslutningsspecifikation e-arkiv Stockholm · 3 E-arkivet validerar informationen (metadata och fil) enligt överenskomna regler. ... 8. En konsument kan, när den vet vilket objekt

TEKNISK DOKUMENTATION Anslutningsspecifikation e-arkiv Stockholm

Objekt: felkvitto (förenklat) <AccessFault> <felmeddelande></felmeddelande> </AccessFault>

3.4.4.1. Exempel Exempel på anrop ser ut som följer: <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ssa="http://ssa.stockholm.se/"> <soapenv:Header/> <soapenv:Body> <ssa:GetFileRequest> <ssa:Id>iipax://objectbase.document/docpartition#13230</ssa:Id> <!--Optional:--> <ssa:From>Testsystem</ssa:From> </ssa:GetFileRequest> </soapenv:Body> </soapenv:Envelope> Som ger följande svar i SOAP datadelen, plus binärdata i en separat MIME-del utpekad av xop:Include elementet: <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body> <ns1:GetFileResponse xmlns:ns1="http://ssa.stockholm.se/"> <ns1:IndexFile> <ns1:DisplayName>ida_infront.pdf</ns1:DisplayName> <ns1:Content> <xop:Include href="cid:1.urn:uuid:[email protected]" xmlns:xop="http://www.w3.org/2004/08/xop/include"/> </ns1:Content> </ns1:IndexFile> </ns1:GetFileResponse> </soapenv:Body> </soapenv:Envelope>

3.4.5 GetFiles Signatur: Metadata := GetFiles(Id,From?) Beskrivning: Används för att hämta upp metadata om underobjekt samt filobjekt genom en identitet till ett arkivobjekt. Denna operation skiljer sig från GetIndexObjectComplete som även hämtar metadata för huvudobjektet vars identitet man skickar in. Precis som GetFile operationen kan man skicka in ett From element som används för statistikgenerering.

Sida 19 (35)

Page 20: Anslutningsspecifikation e-arkiv Stockholm · 3 E-arkivet validerar informationen (metadata och fil) enligt överenskomna regler. ... 8. En konsument kan, när den vet vilket objekt

TEKNISK DOKUMENTATION Anslutningsspecifikation e-arkiv Stockholm

Objekt: ID Ett id som pekar antingen på ett huvudobjekt eller ett underobjekt Returvärde:

1. Om ID:t pekar på ett huvudobjekt kommer antingen en lista med underobjekt att hämtas, eller kommer en lista på filobjekt att returneras. Ingen blandning av Underobjekt eller Filobjekt tillåts. Detta har att göra med strukturen som beskrivits under ArchiveSIP metoden.

2. Om ID:t pekar på ett underobjekt kommer en lista med filobjekt att returneras.

Objekt: felkvitto (förenklat) <AccessFault> <felmeddelande></felmeddelande> </AccessFault> Ett exempel på anrop ser ut som följer: <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ssa="http://ssa.stockholm.se/"> <soapenv:Header/> <soapenv:Body> <ssa:GetFilesRequest> <ssa:Id>iipax://objectbase.document/docpartition#13260</ssa:Id> <!--Optional:--> <ssa:From>Testsystem</ssa:From> </ssa:GetFilesRequest> </soapenv:Body> </soapenv:Envelope> Detta anrop kan ge följande svar (ett svar som har ett underobjekt med en fil under sig). Vissa metadata attribut har utelämnats för att korta ner svaret. <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body> <ns1:GetFilesResponse xmlns:ns1="http://ssa.stockholm.se/"> <ns1:IndexDocumentRef> <ns1:Id>iipax://objectbase.document/docpartition#13261</ns1:Id> <ns1:DisplayName>Dokument</ns1:DisplayName> <ns1:Attribute name="created_date"> <ns1:Value>2009-06-23 09:08:00</ns1:Value> </ns1:Attribute> ... <ns1:IndexFileRef> <ns1:Id>iipax://objectbase.document/docpartition#13262</ns1:Id> <ns1:DisplayName>ida_infront.pdf</ns1:DisplayName> <ns1:Attribute name="created_by"> <ns1:Value>iipaxSystem</ns1:Value> </ns1:Attribute>

Sida 20 (35)

Page 21: Anslutningsspecifikation e-arkiv Stockholm · 3 E-arkivet validerar informationen (metadata och fil) enligt överenskomna regler. ... 8. En konsument kan, när den vet vilket objekt

TEKNISK DOKUMENTATION Anslutningsspecifikation e-arkiv Stockholm

... </ns1:IndexFileRef> </ns1:IndexDocumentRef> </ns1:GetFilesResponse> </soapenv:Body>

3.4.6 OrderDIP Beskrivning: Används för att göra en beställning av arkivobjekt som DIP. Signatur: Kvitto := OrderDip(OrderItem+, DeliveryChannel, Customer, IncludeFileContent) Objekt: Lista<ID, leveranskanal) En lista med id och önskad leveranskanal. ID:t pekar antingen på ett strukturobjekt, huvudobjekt eller ett underobjekt Returvärde: Ett OrderID Ett exempel på anrop ser ut som följer: <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ssa="http://ssa.stockholm.se/"> <soapenv:Header> <!—- Your SOAP header attributes here: --> </soapenv:Header> <soapenv:Body> <ssa:OrderDipRequest> <ssa:OrderList> <!--1 or more repetitions:--> <ssa:OrderItem>iipax://objectbase.document/docpartition#514801</ssa:OrderItem> </ssa:OrderList> <ssa:DeliveryChannel>E-mail</ssa:DeliveryChannel> <ssa:Customer> <ssa:Name> <ssa:FirstName>MA SYNKRON soa</ssa:FirstName> <ssa:LastName>MA</ssa:LastName> </ssa:Name> <ssa:StreetAddress>Kungsklippan 6 OR Box 22063</ssa:StreetAddress> <ssa:ZipCode>10422</ssa:ZipCode> <ssa:PostalArea>STOCKHOLM</ssa:PostalArea> <ssa:Email>[email protected]</ssa:Email> <ssa:Phone>+46850828340</ssa:Phone> </ssa:Customer> <ssa:Comment>End user’s comment here</ssa:Comment> <ssa:IncludeFileContent>true</ssa:IncludeFileContent> </ssa:OrderDipRequest> </soapenv:Body> </soapenv:Envelope> Objekt: felkvitto (förenklat) <AccessFault>

Sida 21 (35)

Page 22: Anslutningsspecifikation e-arkiv Stockholm · 3 E-arkivet validerar informationen (metadata och fil) enligt överenskomna regler. ... 8. En konsument kan, när den vet vilket objekt

TEKNISK DOKUMENTATION Anslutningsspecifikation e-arkiv Stockholm

<felmeddelande></felmeddelande> </AccessFault>

3.5 Felhantering

3.5.1 Felkoder vid arkivering Fel vid arkviering ger ett SOAP fault där details-elementet innehåller felkategori, felkod och ett beskrivande meddelande. Det finns tre olika felkategorier definierade i e-arkivet, dessa är:

• META_DATA_ERROR – som betyder att klienten har skickat in felaktigt metadata. Metadatafel som returneras från iipax Archive har en felkod mellan 100-199 samt 0.

• FILE_DATA_ERROR – som betyder att klienten har skickat in felaktigt filinnehåll. Fildatafel som returneras från iipax Archive har en felkod mellan 200-299 samt 1.

• INTERNAL_ERROR – som betyder att något oförutsett har hänt på servern. Denna har i regel felkod 300.

4. ASYNKRON ANSLUTNING För asynkron anslutning tillhandahåller e-arkivet en FTP-tjänst för leverera SIP:ar till arkivet. Kvittoinformationen returneras till samma FTP-area så fort inleveransen är klar. Återsökning av arkiverat material som levererats via FTP-tjänsten kan ske via:

• via den synkrona webbtjänsten (integration via SOA) vilket passar system som är synkront anslutna till e-arkivet.

• via speciellt klientprogram för e-arkivet som vissa arkivarieroller och handläggare har tillgång till.

• som självservice via e-arkivets publika söktjänst på Internet avsett för allmänheten men även för personal som har åtkomst till klientprogrammet.

Stadsarkivet har för internt bruk även en lösning i FTP-plattformen för att mellanlagra större DIP-paket ut från arkivet innan slutkund får sin leverans med begärt arkivmaterial, att avhämtas på plats eller skickas på CD-ROM. Enkelt uttryckt en omvänd leveransarea.

4.1 Övergripande beskrivning Bilden nedan illustrerar grundprinciperna för asynkron anslutning genom scenario för Arkivera, Söka och Hämta.

Sida 22 (35)

Page 23: Anslutningsspecifikation e-arkiv Stockholm · 3 E-arkivet validerar informationen (metadata och fil) enligt överenskomna regler. ... 8. En konsument kan, när den vet vilket objekt

TEKNISK DOKUMENTATION Anslutningsspecifikation e-arkiv Stockholm

Arkivera 1. En producent vill arkivera en stor informationsmängd. 2. En SIP innehållande flera arkivobjekt i en katalogstruktur skickas till en

inleveransarea. 3 Leveransen valideras mot reglerna i e-arkivet. 4. Om leveransen är ok läggs denna till en intern kö för att vidare bearbetning. 5. e-arkivet bearbetar objekten sekventiellt från kön. 6. Databasen uppdateras med arkivobjekten. 7. Efter samtliga objekt är bearbetade skapas ett kvitto som läggs på inleveransarean. 8. Kvittot hämtas av producenten. Söka och hämta 9. En konsument gör en sökning via söktjänsten/e-tjänsten för e-arkivet. Om

konsument har rätt att ta del av materialet, i detta fall via Internet, visas innehållet direkt via söktjänsten. Om materialet är skyddat genom sekretess eller åtkomst via Internet är begränsat av PuL sker istället följande: En konsument med intresse att hämta ett eller flera arkivobjekt gör en förfrågan till stadsarkivet via söktjänsten/e-tjänsten för e-arkivet.

10. Genom arkivklientens ärendehantering skapas en handläggningsprocess inkluderande menprövning avseende det efterfrågade arkivmaterialet.

11. Det färdiga paketet av arkivobjekt (DIP) skickas till area för utlämning. 12. DIP skickas ut enligt överenskommen kanal (mail, leveransarea, manuellt).

Sida 23 (35)

Page 24: Anslutningsspecifikation e-arkiv Stockholm · 3 E-arkivet validerar informationen (metadata och fil) enligt överenskomna regler. ... 8. En konsument kan, när den vet vilket objekt

TEKNISK DOKUMENTATION Anslutningsspecifikation e-arkiv Stockholm

4.2 Beskrivning av användande För att utföra en asynkron ingest överförs data till en FTP-area i form av filer i en mappstruktur. Denna mappstruktur levereras sedan in asynkront till e-arkivet. När leveransen är färdig skrivs en kvittens som kan hämtas för kontroll av resultatet. Inleveranserna måste organiserade på ett strukturerat sätt för att de ska läsas in korrekt i e-arkivet. Detta beskrivs i avsnittet nedan.

4.2.1 Struktur för massinlämning Varje anslutande system har en inloggning, ett användarkonto, till FTP-arean. I själva verket finns ett konto per systemmiljö för e-arkivet, dvs tre konton totalt per anslutning, men i det följande betraktar vi en miljö separat. Principen för de andra miljöerna är lika. Vid inloggning hamnar den inloggande parten i en egen avgränsad rotkatalog/hemkatalog med fullständiga läs- och skrivrättigheter i sin egen mappstruktur. Rotkatalogen innehåller i normalfallet två stycken filareor. Den ena filarean är avsedd att hantera SIP-paket som endast valideras mot arkivet utan att arkivera något. Denna filarea (filkatalog) heter validate. Den andra filarean är avsedd att hantera SIP-paket där e-arkivet först utför en validering för att sedan arkivera SIP-paketen. Denna filarea (filkatalog) heter ingest. Varje filarea kan innehålla så kallade jobb. Jobb har en viss livscykel som beskrivs nedan. Ett arkiveringsjobb är tänkt att vara atomiskt, antingen lyckas arkiveringen av samtliga SIP-paket i jobbet eller arkiveras ingenting. För att åstadkomma detta gör man först en fullständig validering av jobbet och sedan kommer en arkivering att ske endast om allting gått bra. De svar man fått från valideringarna och/eller arkiveringarna kommer att rapporteras på jobbnivå. Ett jobb som är redo att behandlas känns igen på att mappen som representerar jobbet har ändelsen .request. En massinlämning kan bestå av flera SIP-paket. Varje SIP-paket organiseras då i mappar och känns igen på att de har en SIP-etikett i sig. Namnet på filen som representerar SIP-etiketten är konfigurerbart men det förkonfigurerade filnamnet är SIPLabel.xml. SIP-etiketten refererar till de filer som skall arkiveras och dessa filer måste ligga i samma mapp som SIP-etiketten. Observera följande:

• Antalet filer som följer med i SIP-paketet måste stämma exakt med antalet IndexFile-element i SIP-etiketten och att mappen som representerar ett SIP-paket får inte innehålla några undermappar.

• Filer som är inkluderade i SIP-paketet och därmed skall refereras till i SIP-etikettfilen skall inte innehålla blanktecken. Filnamn måste bestå av en sammanhängande sträng alfanumeriska tecken inklusive punkt som avskiljningstecken för t.ex. filändelse. Flera punkter är tillåtna t.ex. ”filnamn.doc.pdf”

• Filer som ej tillhör SIP-paketet skall ej heller ligga och ”skräpa” i SIP-paketets mapp. Sådana ovidkommande filer medför normalt sett att valideringsfel erhålls.

Sida 24 (35)

Page 25: Anslutningsspecifikation e-arkiv Stockholm · 3 E-arkivet validerar informationen (metadata och fil) enligt överenskomna regler. ... 8. En konsument kan, när den vet vilket objekt

TEKNISK DOKUMENTATION Anslutningsspecifikation e-arkiv Stockholm

När en scanning av filarean startas kommer mapparna under filarean att traverseras. De mappar som slutar på .request anses vara inleveranser. Dessa kan dock ligga på vilket djup som helst i en mappstruktur. När en sådan mapp har påträffats scannas jobbmappen igenom efter SIP-paket. Även SIP-paketen kan ligga på olika djup.

4.2.2 Inleveransflöde När ett system håller på att överföra filer för ett jobb till filarean är då viktigt att mappnamnet inte slutar på .request eftersom jobbet då riskerar att påbörjas innan alla SIP-paket är färdigskrivna till filarean. Ett lämpligt namn under FTP-överföringen kan vara t.ex. .request.init. När filöverföringen är klar kan inleveransen initieras genom att döpa om mappens ändelse till .request. När jobbet som skannar av filarean körts igång, kommer mappen att få ändelsen .request.validate.processing. Om inte alla SIP-paket validerats korrekt mot arkivet kommer mappen att döpas om till request.validate.error och ingen mer bearbetning kommer ske. Vare sig valideringen går bra eller inte skrivs valideringskvitto i kvittensmappen (.reply) i filen validate. Om valideringen går bra kommer den faktiska inleveransen starta och mappen får ändelsen .request.ingest.processing. Om någonting går fel får mappen ändelsen .request.ingest.error och ingen mer bearbetning kommer ske. I slutet av inleveransen skrivs kvitto i kvittensmappen (.reply) i filen ingest.

Sida 25 (35)

Page 26: Anslutningsspecifikation e-arkiv Stockholm · 3 E-arkivet validerar informationen (metadata och fil) enligt överenskomna regler. ... 8. En konsument kan, när den vet vilket objekt

TEKNISK DOKUMENTATION Anslutningsspecifikation e-arkiv Stockholm

Mappstrukturen för ett visst system skulle då kunna se ut som följande:

Systemspecifik mapp

<job1>.request.processed

<job2>.request.ingest.processing

<job1>.reply

validate

ingest

<job2>.reply

validate

SIPEtikett.xml

SIPEtikett.xml

Fil1.xml

Fil2.pdf

Fil3.xml

Nedan ett konkret exempel på hur en leverans till FTP-arean kan se ut via ett grafiskt FTP-klientprogram på PC. Bild nedan: Del av FTP-areans grundstruktur som visar tre anslutande system/förvaltningar med vardera ingest- respektive validate-mappar i sina respektive rotkataloger där FTP-inloggningen ansluter. Rotkatalogerna i bild är ”tillstand”, ”ssa” respektive ”mus” vilket ett anslutande system av naturliga skäl inte ser namnet på vid inloggning. Stadsarkivet och e-arkivets serverprogram har dock full åtkomst till hela mappstrukturen nedan i bild från stora roten ”/” och nedåt i strukturen.

Sida 26 (35)

Page 27: Anslutningsspecifikation e-arkiv Stockholm · 3 E-arkivet validerar informationen (metadata och fil) enligt överenskomna regler. ... 8. En konsument kan, när den vet vilket objekt

TEKNISK DOKUMENTATION Anslutningsspecifikation e-arkiv Stockholm

I nedanstående exempel är rotkatalogen lika med nivån ”tillstand” vilket visas i de två följande bilderna. Bild nedan: Detaljerad vy med SIP-paket benämnt ”241922” bestående av en SIP-etikettfil, två PDF-dokument och en metadatafil. SIP-paketet ingår i jobbet ”241922.request”.

Bild nedan: Jobbet är redan exekverat och har därför namnet ”241922.request.processed” under ingest-katalogen vilken också innehåller de två filer ”receipt.validate” och ”receipt.ingest” som vardera innehåller en lista över de filer som jobbet hanterat i respektive steg, validate resp ingest.

Sida 27 (35)

Page 28: Anslutningsspecifikation e-arkiv Stockholm · 3 E-arkivet validerar informationen (metadata och fil) enligt överenskomna regler. ... 8. En konsument kan, när den vet vilket objekt

TEKNISK DOKUMENTATION Anslutningsspecifikation e-arkiv Stockholm

Bild nedan: Kvittensfilen ”ingest” infälld underst i bilden ihop med kvittensmappen ”241922.reply” efter en ingest som har arkiverats i e-arkivet.

4.2.3 SIP-etiketten SIP-etiketten måste följa viss struktur och innehåll. Vilka metadata som, förutom de obligatoriska, måste anges konfigureras upp per anslutande system och objekttyp under anslutningsprocessen.

Sida 28 (35)

Page 29: Anslutningsspecifikation e-arkiv Stockholm · 3 E-arkivet validerar informationen (metadata och fil) enligt överenskomna regler. ... 8. En konsument kan, när den vet vilket objekt

TEKNISK DOKUMENTATION Anslutningsspecifikation e-arkiv Stockholm

Följande krav finns på SIP-etiketten: Grundstruktur: <?xml version="1.0" encoding="iso-8859-15"?> <IndexObject> <DisplayName value="{Unikt ID för informationsobjektet på huvudobjektnivå}"/> <ObjectType name="{Unikt tekniskt namn som anvisas av stadsarkivet}"/> <Attribute name="original_id_definition"> <Value>{Definition/förklaring av DisplayName ovan}</Value> </Attribute> <Attribute name="title"> <Value>{Vedertaget namn för informationen ifråga}</Value> </Attribute> <Attribute name="sekretess"> <Value>{Numeriskt värde enligt utförd sekretessklassificering}</Value> </Attribute> <Attribute name="pul"> <Value> Numeriskt värde enligt utförd pul-klassificering}</</Value> </Attribute> <Attribute name="lta_system"> <Value>{Namn på Procucent – namn på System}</Value> </Attribute> <Attribute name="producer_system_version"> <Value>{Eventuellt versionsnummer för System}</Value> </Attribute> <Attribute name="startdatum"> <Value>{Datum på formen ÅÅÅÅ-MM-DD}</Value> </Attribute> <Attribute name="slutdatum"> <Value>{Datum på formen ÅÅÅÅ-MM-DD}</Value> </Attribute> {Eventuella verksamhetsspecifika attribut läggs in här!} <Producer name="{Tekniskt namn som definierar producenten – anvisas av stadsarkivet}"/> <From name="{Tekniskt namn som definierar systemet informationen ursprungligen kommer ifrån – anvisas av stadsarkivet}"/>"/> <IndexDocument> <DisplayName value="{ID för informationsobjektet på underobjektnivå}"/> <ObjectType name="{Unikt tekniskt namn som anvisas av stadsarkivet}"/> <Attribute name="original_id_definition"> <Value>{Definition/förklaring av DisplayName ovan}</Value> </Attribute> <IndexFile> <DisplayName value="{Här anges filens namn inklusive filändelse}"/> <Attribute name="original_id_definition"> <Value>{Definition/förklaring av DisplayName ovan}</Value> </Attribute> <Attribute name="lta_file_digest"> <Value>SHA1:{Här anges checksumma för filen enligt SHA1-algoritm (40 tkn)}</Value> </Attribute> <Attribute name="language"> <Value>sv</Value> </Attribute> <Attribute name="format_name"> <Value>{Här anges MIME-typ för filen, tex för en vanlig textfil är värdet text/plain}</Value> </Attribute> <Attribute name="format_version"> <Value/> </Attribute> </IndexFile> </IndexDocument> </IndexObject>

<ObjektType> för <IndexObject>-nivån och <Producer> samt <From> måste anges för att inlämningskontraktet ska kunna identifieras.

Sida 29 (35)

Page 30: Anslutningsspecifikation e-arkiv Stockholm · 3 E-arkivet validerar informationen (metadata och fil) enligt överenskomna regler. ... 8. En konsument kan, när den vet vilket objekt

TEKNISK DOKUMENTATION Anslutningsspecifikation e-arkiv Stockholm

Metadata anges i <Attribute>-element med dess interna namn samt värde. I etiketten nästlar man ett eller flera <IndexFile>-element i <IndexDocument>-element och ett eller flera <IndexDocument>-element under <IndexObject>-elementet på toppnivå. Metadata med det interna namnet display_name anges med ett eget element, <DisplayName>, och ska inte anges via något <Attribute>-element. <DisplayName>-elementet är obligatoriskt på alla tre nivåer. För att ett SIP-paket ska bli accepterat så krävs det att alla obligatoriska metadata för de i etiketten utpekade objekttyperna finns med och är ifyllda, med korrekt format där syntaxvalidering sker. Attributen pul och sekretess skall ex.vis alltid finnas med. <DisplayName>-elementet under <IndexFile>-nivån måste matcha namnet på en fil i SIP-paketet. Det måste följaktligen finnas lika många <IndexFile>-element i etiketten som det finns filer i SIP-paketet om man inte räknar med SIPLabel.xml-filen. För filer som ingår i SIP-paketet skall en checksumma per fil anges inom <IndexFile>-elementet för attributet <lta_file_digest> . Man kan även ange <ObjectType> för <IndexDocument> nivån. Detta gör att man kan använda olika objekttyper för olika dokumentobjekt i samma SIP-paket. Ett exempel på SIP-etikett med reella attributvärden: Fetstilmarkerade element har särskilt beskrivits ovan med de olika arkivobjektnivåerna i blå text. <?xml version="1.0" encoding="ISO-8859-1"?> <IndexObject> <DisplayName value="Tav1-20" /> <ObjectType name="ritningsärende_birka" /> <Attribute name="original_id_definition"> <Value>Ritningsnummer</Value> </Attribute> <Attribute name="sekretess"> <Value>0</Value> </Attribute> <Attribute name="pul"> <Value>0</Value> </Attribute> <Attribute name="lta_system"> <Value>Birka</Value> </Attribute> <Attribute name="birka_ritningsnummer"> <Value>Tav1-20</Value> </Attribute> <Attribute name="birka_datum"> <Value>2003-01-01</Value> </Attribute> <Attribute name="birka_typ"> <Value>Ritning</Value> </Attribute> <Attribute name="birka_nät"> <Value>Täby</Value> </Attribute> <Attribute name="birka_stadsdel"> <Value> </Value>

Sida 30 (35)

Page 31: Anslutningsspecifikation e-arkiv Stockholm · 3 E-arkivet validerar informationen (metadata och fil) enligt överenskomna regler. ... 8. En konsument kan, när den vet vilket objekt

TEKNISK DOKUMENTATION Anslutningsspecifikation e-arkiv Stockholm

</Attribute> <Attribute name="birka_område"> <Value> </Value> </Attribute> <Attribute name="birka_delområde"> <Value> </Value> </Attribute> <Attribute name="birka_ritningstyp"> <Value>Fjärrvärmeritning</Value> </Attribute> <Attribute name="birka_status"> <Value>Ritad, ej byggd</Value> </Attribute> <Attribute name="birka_digitalt_original"> <Value>Ja</Value> </Attribute> <Attribute name="birka_plan"> <Value>Ja</Value> </Attribute> <Attribute name="birka_profil"> <Value>Ja</Value> </Attribute> <Attribute name="birka_schema"> <Value>Nej</Value> </Attribute> <Attribute name="birka_diagram"> <Value>Nej</Value> </Attribute> <Attribute name="birka_smide"> <Value>Nej</Value> </Attribute> <Attribute name="birka_kammare_schakt"> <Value>Nej</Value> </Attribute> <Attribute name="birka_adress"> <Value> </Value> </Attribute> <Attribute name="birka_plats"> <Value> </Value> </Attribute> <Producer name="Birka" /> <From name="Ritning" /> <IndexDocument> <DisplayName value="Täv1-20" /> <ObjectType name="ritningshandling_birka" /> <Attribute name="original_id_definition"> <Value>Ritningsnummer</Value> </Attribute> <Attribute name="sekretess"> <Value>0</Value> </Attribute> <Attribute name="pul"> <Value>0</Value> </Attribute> <Attribute name="lta_system"> <Value>Fjärrvärmeritningar</Value> </Attribute> <IndexFile> <DisplayName value="Tav1-20.tif" /> <Attribute name="original_id_definition"> <Value>Ledningsportföljens ritningsregister</Value> </Attribute> <Attribute name="lta_file_digest"> <Value>SHA1:38a8f20a36fb2a1d6766874e06fc27464cea3124</Value> </Attribute> <Attribute name="language"> <Value>sv</Value>

Sida 31 (35)

Page 32: Anslutningsspecifikation e-arkiv Stockholm · 3 E-arkivet validerar informationen (metadata och fil) enligt överenskomna regler. ... 8. En konsument kan, när den vet vilket objekt

TEKNISK DOKUMENTATION Anslutningsspecifikation e-arkiv Stockholm

</Attribute> <Attribute name="format_name"> <Value>image/tiff</Value> </Attribute> <Attribute name="format_version"> <Value>OCE TIFF V1.0</Value> </Attribute> </IndexFile> </IndexDocument> </IndexObject>

4.2.4 Åtkomst Adressen till FTP-arean är: ftp.stockholm.se För att komma åt FTP-arean måste anslutning ske inom Stockholm Stads nät och för inloggning behövs ett FTP-konto som är specifikt för anslutande verksamhetssystem.

4.2.4.1. Rutiner för uppsättning av FTP-konto Beställning av FTP-konto begärs via ServiceCentrum hos driftleverantören Tieto. Endast behörig beställare hos Stadsarkivet kan beställa FTP-åtkomst för en anslutning.

4.2.5 Kvittohantering och felhanteringsrutiner Kvittenser hamnar i en nyskapad mapp, en för varje jobb. En kvittensmapp som är färdig att hämtas slutar på .reply. Om jobbmappen lämnades in som job1.request kommer motsvarande kvittensmapp att heta job1.reply och ligga i samma katalog som jobbmappen. En kvittensmapp kan innehålla antingen en valideringsresultatfil och en arkiveringsresultatfil eller bara en valideringsresultatfil beroende på om man använder en valideringsfilarea eller en arkiveringsfilarea och beroende på om valideringssteget i en arkivering lyckats eller inte. Valideringsresultatfilen heter validate och arkiveringsresultatfilen heter ingest. Båda dessa är XML-filer. Kortfattat så innehåller resultatfilen noll, ett eller många resultatposter. Varje resultatpost innehåller sökvägen till SIP-paketet relativt jobbmappen samt ett resultat. Resultatfilen innehåller enbart en resultatrad per arkivobjekt, dvs för hela arkivobjektet angivet på huvudobjektnivå, det objekt som benämns IndexObject internt i arkivet. Resultatet kan vara på två olika format. Det första formatet signalerar att något fel har hänt i massinlämningen innan man har skickat iväg SIP-paketet till arkivet. Då får man ett felmeddelande som beskriver vad som gått fel. Denna typen av svar ligger i XML-elementet ClientError.

Sida 32 (35)

Page 33: Anslutningsspecifikation e-arkiv Stockholm · 3 E-arkivet validerar informationen (metadata och fil) enligt överenskomna regler. ... 8. En konsument kan, när den vet vilket objekt

TEKNISK DOKUMENTATION Anslutningsspecifikation e-arkiv Stockholm

Den andra typen av svar man kan få är svar ifrån arkivet angående hur valideringen eller arkiveringen har gått. Denna typ av svar ligger i XML-elementet ServerResponse där innehållet i elementet är samma som SipStatus-svarets innehåll (SipStatus är en operation som går att utföra på webbtjänsten i iipax Archive). Observera att, till skillnad från synkron ingest, ger den asynkrona ingesten ett kvitto som ger direktåtkomst endast till huvudobjektnivå (IndexObject). Ingående underobjekt (IndexDocument eller IndexFile) ges ingen egen kvittens. Exempel: Kvittensfilen ingest har en struktur enligt exempel nedan, med en <Result> element (en rad) per SIP-paket (per ärende / huvudobjekt): <?xml version='1.0' encoding='utf-8'?> <Batchresult> <Result><Path>241922</Path><ServerResponse><Status>ARCHIVED</Status><Id>iipax://objectbase.document/docpartition#250901</Id></ServerResponse></Result> </Batchresult> Hur tolkas ovanstående kvittens? SIP-paketet ”241922” består av ett ärende, uttryckt i mer verksamhetsnära termer. Ärendets status efter arkivering är ARCHIVED, dvs arkivering har skett. Motsatsen är ERROR om fel inträffat, dvs arkivering har ej skett. Id-numret 250901 efter ”docpartition#” i <Id> elementet är det unika löpnummer som ärendet/SIP-paketet har fått i e-arkivet. Detta Id kan användas för återsökning av ärendet i e-arkivet. Med OAIS-terminologi kallas det arkiverade SIP-paketet för AIP (arkivobjekt).

4.3 Säkerhet Anslutande system kommer endast ha tillgång till den mappstruktur som tilldelats dem under anslutningsprocessen och således inte komma åt data från något annat anslutande system.

5. ÅTKOMST TILL MILJÖER E-arkivet tillhandahåller tre olika miljöer för olika faser i en anslutning. Test, Preproduktion och Produktion. Var och en av dessa består av en instans av FTP-area, SOA-miljö och e-arkiv server (iipax Archive).

Sida 33 (35)

Page 34: Anslutningsspecifikation e-arkiv Stockholm · 3 E-arkivet validerar informationen (metadata och fil) enligt överenskomna regler. ... 8. En konsument kan, när den vet vilket objekt

TEKNISK DOKUMENTATION Anslutningsspecifikation e-arkiv Stockholm

5.1 Miljöer

5.1.1 Testmiljö I integrationstestmiljön sker detaljerade tester med verifiering av levererade informationspaket, kvittenser och felsituationer.

5.1.2 Preproduktionsmiljö I preproduktionsmiljön testas produktuppgraderingar, konfigurationer och anpassningar i en så produktionslik miljö som möjligt. Här kan även stora asynkrona leveranser verifieras innan de skickas till produktionsmiljö.

5.1.3 Produktionsmiljö Hit skickas skarpa leveranser från anslutande verksamhetssystem eller interna leveranser som Stadsarkivet tidigare har mottagit från producerande system. Dessa leveranser skall ha verifierats antingen genom kontrollerade testleveranser i integrationstest och preproduktionsmiljö.

Database server

Utveckling Integrationstest

Application Server Application Server(s)

Database Server(s) Kluster

Produktion

Singleserver -iipax archive -Applicationserver -Database server

Iipax archive

Iipax archive

Integrationsplattformen (testmiljö)

Integrationsplattformen (pre-prod)

-

- Kontinuerliga tester för e-arkivsförvaltningen

- -Test av integration mellan e-arkiv och anslutningar

- -En produktionslikmiljö där produktuppgraderingar, konfig- urationer och anpassningar kan testas (en så produktionslik miljö som möjligt)

.

- -En produktionsmiljö med redundans och möjlighet att skala upp med behoven av utökad prestanda och last

.

Anslutande system (testmiljö)

Anslutande system (pre-prod)

-

Iipax archive

Pre-produktion

Application Server(s)

Database Server(s) Kluster

Integrationsplattformen (prod)

Anslutande system (prod)

-

Sida 34 (35)

Page 35: Anslutningsspecifikation e-arkiv Stockholm · 3 E-arkivet validerar informationen (metadata och fil) enligt överenskomna regler. ... 8. En konsument kan, när den vet vilket objekt

TEKNISK DOKUMENTATION Anslutningsspecifikation e-arkiv Stockholm

5.1.4 Brandväggsöppningar För att koppla upp sig mot dessa miljöer krävs normalt brandväggsöppningar. Nedan redogörs för detaljer som visar att framförhållning är viktigt. Stadsarkivet begär brandväggsöppning för respektive anslutning i egenskap av ansvarig för åtkomst till e-arkivet. Brandväggsöppning begärs genom ServiceCentrum hos driftleverantören Tieto (framöver även Volvo IT). Endast behörig beställare hos Stadsarkivet kan begära sådan öppning.

5.1.5 Extern åtkomst via VPN-anslutning Stadsarkivet ansvarar för att externa parter kan ges åtkomst till olika miljöer för e-arkiv Stockholm. Stadsarkivet auktoriserar användaren att få åtkomst till tjänsten/miljön. Stadsarkivet har en detaljerad intern rutin för beställning av VPN-dosa.

6. REVISIONSHISTORIK Datum Version Beskrivning Signatur 2009-06-16 0.1 Dokumentet skapades Elin Kröger Nygren 2010-02-23 0.2 Uppdaterad Markus Brändström 2010-03-10 0.3 Uppdaterad Markus Brändström 2010-03-31 0.4 Uppdaterade avsnitt 4.2.1, 4.2.2,

4.2.5. Nya avsnitt 4.2.4.1, 5.1.4, 5.1.5 Magnus Asplund

2010-05-28 0.5 Uppdaterade avsnitt 3.3 Kim Bergström, Tieto 2010-06-01 0.6 Granskning av 3.3. Korrigeringar efter

tidigare utförda granskningar. Magnus Asplund

2011-02-21 0.7 Tydligare exempel SOAP-anrop Magnus Asplund 2012-02-29 0.8 Kommentarer ang uppdateringsbehov Magnus Asplund 2012-06-04 1.0 Ändringar enl Magnus kommentarer

mm Louise Högberg

2013-01-03 1.1 Borttag av bilagor och referenser Louise Högberg

Sida 35 (35)