Loading…
Tilbage

Hvad er produktionsskemaer og OIOXML-skemaer?


23-08-2011 10:59:38

Det kan umiddelbart ved første øjekast være svært at forstå forskellen mellem OIOXML-skemaer og produktionsskemaer, og hvad der er gældende som datastandarder.

Jeg vil i det følgende prøve at tydeliggøre dette, og selvom forklaringen forneden vil have fokus på standarderne for Sag og Dokument, er princippet om produktionsskemaer helt generelle og gælder for alle OIOXML-skemaer.

Lige for at slå det fast: OIOXML-skemaer på Digitaliser.dk er de gældende fællesoffentlige OIO-datastandarder.

 

Hvad er så grunden til, at der udover OIOXML-skemaer også er produktionsskemaer? Og hvad er produktionsskemaer helt præcis?
 
Først grunden.

Da alle godkendte OIOXML-skemaer ligger fællesoffentligt tilgængelige på Digitaliser.dk, så er det muligt at linke direkte til disse XML-skemaer fra sit produktionsmiljø i forhold til at validere XML-instanser. Selvom det kan virke oplagt at gøre dette, så er det IKKE tilladt at linke til XML-skemaerne på Digitaliser.dk fra eksterne produktionsmiljøer, uanset om de er godkendte som OIOXML eller ej. Årsagen er ganske simpelt, at Digitaliser.dk slet ikke er designet til at indgå i produktionssammenhænge i forhold til oppetid og hurtig tilgang til OIOXML-skemaerne. At det er sådan, er et meget bevidst og væsentligt designvalg for Digitaliser.dk og var det også for ISB'en (InfoStrukturbasen), forgængeren for Digitaliser.dk, som tidligere indeholdt alle OIOXML-skemaer.

Konsekvensen ved dette designvalg er, at it-systemer, som anvender OIOXML-skemaer i drift, SKAL etablere en lokal kopi af OIOXML-skemaerne, som de så kan anvende til lokal validering m.v. Dvs. det er ALTID nødvendigt at lave en lokal kopi! Det er, og har altid været, helt op til udviklerne selv, hvordan de etablerer deres lokale kopi ud fra OIOXML-skemaerne på Digitaliser.dk. I Sag og Dokument projektet har OIO-sekretariatet ekstraordinært genereret produktionsskemaer udover OIOXML-skemaerne, men det kommer jeg tilbage til.

Hvad er så et produktionsskema?

En lokal kopi af OIOXML-skemaer er præcis det, vi betegner produktionsskemaer, fordi denne kopi skal bruges til drift/produktion.

Det eneste krav, der er til et sæt af produktionsskemaer (afledt fra et antal OIOXML-skemaer), er, at den logiske opbygning i produktionsskemaerne er identisk med den logiske opbygning i OIOXML-skemaerne, dvs. at produktionsskemaerne repræsenterer PRÆCIS den samme XML-struktur som OIOXML-skemaerne, dvs. anvender samme namespaces, navngivning og indholdsmodeller samt IKKE refererer til OIOXML-skemaer på Digitaliser.dk. Med andre ord: et sæt af produktionsskemaer indeholder præcis de samme elementerklæringer og typedefinitioner som de tilsvarende OIOXML-skemaer gør, således at produktionsskemaer kan validere præcis de samme XML-instanser, som de tilsvarende OIOXML-skemaer kan.

Der er derimod IKKE noget krav om, at produktionsskemaer skal have samme fysiske fil-organisering som de tilsvarende OIOXML-skemaer. Produktionsskemaer behøver derfor ikke at være en fysisk en-til-en kopi af OIOXML-skemaer. F.eks. hvis det er muligt, så kan ét produktionsskema svare til 100 OIOXML-skemaer, hvis altså de 100 OIOXML-skemaer tilhører det samme namespace (kun ét namespace er tilladt per skemafil).

Med andre ord, da et produktionsskema kan indeholde multiple element-erklæringer og typedefinitioner (i modsætning til et OIOXML-skema, der skal indeholde præcis én element-erklæring og evt. én typedefinition), vil et produktionsskema typisk indeholde en del eller alle elementerklæringer og typedefinitioner under samme namespace. Derfor vil et antal OIOXML-skemaer, som anvender samme target-namespace, typisk blive organiseret i samme fysiske produktionsskemafil. Dvs. der vil typisk være langt færre produktionsskemaer, og de vil indeholde langt flere erklæringer og definitioner.

Dette gør produktionsskemaer velegnede til drift udover, at de ligger lokalt og er helt uafhængige af Digitaliser.dk.

 
Produktionsskemaer for sag og dokument

Med ovenstående forklaring så har brugerne af Sag og Dokument standarderne mulighed for selv at lave deres egne produktionsskemaer ud fra OIOXML-skemaerne på Digitaliser.dk (gængs praksis) eller anvende de produktionsskemaer, som ekstraordinært er blevet gjort tilgængelige på Digitaliser.dk (http://digitaliser.dk/resource/514979). Dvs. der er nu to sæt af Sag og Dokument skemaer på Digitaliser.dk. Det ene sæt, produktionsskemaerne, har en skemafil per anvendt namespace, og indeholder dermed det færrest mulige antal skemafiler. Det andet sæt er OIOXML-skemaerne.


Spørgsmål og svar

Spørgsmål: Såvidt jeg forstår, så skal jeg have fat i det, som I kalder ”rodskemaet” for Sag, hvis jeg ønsker at arbejde med XML, som repræsenterer OIO-formattet for sager?

Svar: Ja, bortset fra at der ikke er ét rodskema for Sag-standarden. Standarden Sag understøtter, som alle de andre standarder, 8 operationer. Hver af de 8 operationer har en input og output-parameter. Hver parameter har et rodskema. Dvs. standarden har ialt 2 x 8 = 16 rodskemaer. Dog skal det siges, at der findes et element, der hedder Sag, og som kan betegnes et rodelement for denne struktur. Dette element indgår også som parameter og er derfor rodelement/rodskema for nogle (ikke alle) input/output-parametre. For OIOXML-skemaer er der således 16 rodskemaer for en standard. Derimod er alle operationer og deres rodelementer for input og output repræsenteret i et enkelt produktionsskema!

Spørgsmål: I skriver at godkendt OIOXML udelukkende findes her på digitaliser.dk, men det nemmeste vil dog være at bruge produktionsskemaet. Men ”Produktionsskema for Sag” er ikke-godkendt iflg. jeres egen tekst.

Svar: Det er rigtigt. Godkendt OIOXML findes kun på Digitaliser.dk. Produktionsskemaet for sag er jvnf. min ovenstående forklaring ikke formelt OIOXML, men en lokal kopi, der definerer den eksakt identiske XML-struktur, og derfor kan validere præcis de samme Sag XML-instanser som OIOXML-skemaerne kan; de er derfor ligeså "gode" som OIOXML-skemaerne. Nu kan det godt fremstå lidt som om, man kan vælge mellem OIOXML- og produktionsskemaer. Det kan man ikke. Man skal ALTID anvende produktionsskemaer i sine it-systemer. Det man kan vælge imellem er, om man selv vil generere produktionsskemaer direkte fra OIOXML eller vil anvende dem, som vi allerede har genereret på forhånd for brugerne. Hvis man vælger selv at lave dem, så er fordelen, at man kan få produktionsskemaer, som præcis indeholder det, man skal bruge og ingen andre konstruktioner.

Spørgsmål: Jeg refererer til mit rod-OIOXML-skema på Digitaliser.dk fra mine XML-instanser. Er det stadig rigtigt at gøre dette?

Svar: Nej, det har aldrig været rigtigt at gøre dette. Man skal altid referere til et lokalt XML-skema, dvs. et produktionsskema, aldrig til et OIOXML-skema placeret på Digitaliser.dk. Årsagen er, at Digitaliser.dk ikke honorerer en oppetid, som er påkrævet for et driftssystem.

Spørgsmål: Hvis jeg bruger produktionsskemaer, så er det jo ikke rigtigt OIOXML?

Svar: Jo, hvis produktionsskemaer er dannet korrekt ud fra OIOXML-skemaer, dvs. med samme logiske XML-struktur og navngivning(vokabularium), så er det, som det skal være. Det væsentlige er, at produktionsskemaerne validerer den samme OIOXML-struktur som OIOXML-skemaerne. Hvis det er tilfældet, så der ingen forskel mellem produtionskemaer og OIOXML-skemaer.