INFORMACINĖS VISUOMENĖS PLĖTROS KOMITETO
DIREKTORIUS
ĮSAKYMAS
DĖL INFORMACINĖS VISUOMENĖS PLĖTROS KOMITETO PRIE SUSISIEKIMO MINISTERIJOS DIREKTORIAUS 2013 M. KOVO 25 D. ĮSAKYMO NR. T-36 „DĖL DUOMENŲ TEIKIMO FORMATŲ IR STANDARTŲ REKOMENDACIJŲ PATVIRTINIMO“ PAKEITIMO
2023 m. kovo 28 d. Nr. T-30(2023)
Vilnius
Pakeičiu Informacinės visuomenės plėtros komiteto prie Susisiekimo ministerijos direktoriaus 2013 m. kovo 25 d. įsakymą Nr. T-36 „Dėl Duomenų teikimo formatų ir standartų rekomendacijų patvirtinimo“ ir išdėstau jį nauja redakcija:
„INFORMACINĖS VISUOMENĖS PLĖTROS KOMITETO
DIREKTORIUS
ĮSAKYMAS
DĖL Duomenų teikimo formatų ir standartų rekomendacijų patvirtinimo
Vadovaudamasis Lietuvos Respublikos valstybės informacinių išteklių valdymo įstatymo 36 straipsnio 2 dalimi ir Lietuvos Respublikos teisės gauti informaciją ir duomenų pakartotinio naudojimo įstatymo 14 straipsnio 1 dalimi,
PATVIRTINTA
Informacinės visuomenės plėtros komiteto prie
Susisiekimo ministerijos direktoriaus
2013 m. kovo 25 d. įsakymu Nr. T-36
(Informacinės visuomenės plėtros komiteto
direktoriaus
2023 m. kovo 28 d. įsakymo Nr. T-30(2023)
redakcija)
DUOMENŲ TEIKIMO FORMATŲ IR STANDARTŲ REKOMENDACIJOS
I SKYRIUS
BENDROSIOS NUOSTATOS
1. Duomenų teikimo formatų ir standartų rekomendacijose (toliau – Rekomendacijos) nustatomi duomenų ir duomenų teikimo sąsajų formatai, standartai ir jų taikymas steigiant, kuriant ir (arba) tvarkant valstybės informacines sistemas ir registrus (toliau – Ištekliai). Rekomendacijos skirtos plėtoti efektyvią valstybės duomenų mainų ekosistemą ir minimizuoti išlaidas įgyvendinant Išteklių sąveiką per atvirus duomenų formatus.
2. Rekomendacijos parengtos vadovaujantis Lietuvos Respublikos valstybės informacinių išteklių valdymo įstatymu (toliau – Informacinių išteklių įstatymas), Lietuvos Respublikos teisės gauti informaciją ir duomenų pakartotinio naudojimo įstatymu (toliau – Teisės gauti informaciją įstatymas), Valstybės informacinių sistemų gyvavimo ciklo valdymo metodika ir kitais teisės aktais.
3. Rekomendacijos taikomos institucijoms, valdančioms ir (arba) tvarkančioms Informacinių išteklių įstatymo 1 straipsnio trečiojoje dalyje nurodytus valstybės registrus (kadastrus), žinybinius registrus, valstybės informacines sistemas ir kitas informacines sistemas, skelbiant ir teikiant duomenis pagal Teisės gauti informaciją įstatymo nuostatas.
4. Rekomendacijos skirtos informacinių sistemų ir registrų kūrimo, eksploatavimo bei modernizavimo stadijoms.
5. Pagrindinės rekomendacijose vartojamos sąvokos:
5.1. Duomenų teikimo sąsaja – Ištekliaus aplikacijų programavimo sąsaja (angl. Application Programming Interface, toliau – API), paremta standartiniais protokolais ir skirta automatizuotam duomenų nuskaitymui ir (arba) keitimui siekiant užtikrinti tiesioginę ir betarpišką Išteklių integraciją.
5.2. Universalioji duomenų teikimo sąsaja (toliau – UDTS) – universali duomenų teikimo sąsaja, suteikianti prieigą prie duomenų iki pirmo poreikio ir atitinkanti visus Rekomendacijų IV skyriuje išdėstytus reikalavimus.
II SKYRIUS
DUOMENŲ TEIKIMO REŽIMAI IR BŪDAI
7. Duomenys pirminiam ir (arba) pakartotiniam naudojimui gali būti teikiami šiais režimais:
7.1. sinchroniniu – duomenų užklausimo metu nedelsiant prasideda duomenų gavėjo pateiktos užklausos parametrų apdorojimas, kuriam pasibaigus yra suformuojamas atsakymas ir iš karto pateikiamas duomenų gavėjui;
7.2. asinchroniniu užklausos/atsakymo – duomenų užklausimo metu duomenų gavėjo pateikti užklausos parametrai perduodami apdorojimui (arba talpinami į eilę vėlesniam apdorojimui), o duomenų gavėjui pateikiamas unikalus užklausos identifikatorius ar kiti atributai, nurodantys ar užklausa priimta sėkmingai bei atributai, kuriais remiantis vėliau duomenų gavėjui bus pateiktas suformuotas atsakymas;
8. Duomenys gali būti teikiami šiais būdais:
8.1. leidžiamosios kreipties būdu – duomenys duomenų gavėjui teikiami internetu ar kitais elektroninių ryšių tinklais pagal konkrečias užklausas, naudojant apibrėžtą duomenų teikimo sąsają;
8.2. paketiniu duomenų teikimo būdu – duomenų gavėjas sutartyse nustatytomis sąlygomis gauna didelės apimties duomenis, pavyzdžiui, momentines kopijas (angl. snapshot);
8.3. interaktyviuoju duomenų teikimo būdu – duomenų gavėjas duomenis gauna naudodamasis specialiomis naudotojo aplinkomis prieinamomis per interneto naršyklę;
8.4. viešai internete paskelbta duomenų rinkmena, kuri gali būti perduodama gavėjui interneto naršyklės priemonėmis;
8.5. kitais elektroniniais informacijos perdavimo būdais, pavyzdžiui, elektroniniu paštu, FTP, SFTP, SCP;
9. Duomenų teikimo sąsajos gali būti:
9.1. universalios – įgyvendina įvairius poreikius, skirtos vienam arba daugiau duomenų gavėjų, yra sukuriamos sistemos kūrimo metu, dar nesant konkretiems duomenų gavimo poreikiams.
III SKYRIUS
DUOMENŲ TEIKIMO FORMATAI IR STANDARTAI
11. Jeigu dėl technologinių ir (arba) ekonominių priežasčių neįmanoma naudoti UDTS, duomenims teikti gali būti naudojami alternatyvūs metodai, pavyzdžiui:
11.4. standartinės, OGC standartus atitinkančios erdvinių duomenų teikimo sąsajos (WMS, WFS, WCS, WMTS, WPS, WCPS);
12. Duomenims teikti paketiniu duomenų teikimo būdu rekomenduojami šie duomenų teikimo formatai ir standartai:
12.1. perduodamų duomenų paketas parengiamas struktūrizuotu, mašininiu būdu skaitomu formatu – JSON, XML ar kitais formatais, taip pat ir JSON Schema arba XSD schemomis, užtikrinančiais duomenų atitikimą nustatytai struktūrai;
12.2. tais atvejais, kai struktūrizuotas duomenų paketo parengimas yra technologiškai ar ekonomiškai nenaudingas, gali būti naudojami specializuoti paketiniai duomenų mainai (pvz. SQL, CSV failai);
13. Nepriklausomai nuo teikimo būdo, duomenims teikti rekomenduojami šie duomenų teikimo formatai ir standartai:
13.1. tekstinei informacijai:
13.2. dokumentams :
13.2.1. Lietuvos vyriausiojo archyvaro patvirtinti elektroninių dokumentų formatai – oficialiesiems elektroniniams dokumentams;
13.2.3. XML 1.1 (kartu pateikiant atvaizdavimo taisykles, pavyzdžiui, XSL transformavimo aprašą) – struktūrizuotam dokumentui;
13.3. grafikai:
13.4. garsui:
13.5. vaizdo ir garso įrašams:
IV SKYRIUS
REIKALAVIMAI UNIVERSALIAJAI DUOMENŲ TEIKIMO SĄSAJAI
14. Kuriant arba modernizuojant Išteklius, rekomenduojama sprendimo architektūrą grįsti „pirmiausia API“ (angl. API-first) principu, kuris apibrėžia du sluoksnius: aplikacijų programavimo sąsajos (angl. backend) bei naudotojo sąsajos (naršyklės kliento, programėlių ar kt.) (angl. frontend). Rekomenduojama naudoti UDTS kaip pagrindinę Ištekliaus aplikacijų programavimo sąsają, o naudotojo sąsają laikyti su kitais Ištekliais lygiaverčiu duomenų gavėju.
15. UDTS tikslai yra:
15.1. įgalinti duomenų mainus ateities integraciniams poreikiams dar nesant konkretaus duomenų gavėjo, tačiau iš anksto pateikiant universalią programavimo sąsają, įgalinančią tokius duomenų mainus;
15.2. skatinti Išteklių informacinės struktūros skaidrumą, moduliarumą, išplečiamumą, pakeičiamumą pereinant nuo specifinių prie universalių duomenų teikimo sąsajų;
16. UDTS turi būti paremta REST/JSON standartu. Rekomenduojama remtis JSON-API standartu (https://jsonapi.org/):
16.1. objektams pateikti unikalius identifikatorius ir tipo atributus (JSON-API „id“ ir „type“ laukai);
17. UDTS specifikacija turi būti parengta remiantis OpenAPI 3.0 arba aukštesnės versijos standartu. UDTS specifikacija turi būti pateikta JSON arba YAML formatu ir parengta publikavimui Valstybės informacinių išteklių sąveikumo platformos duomenų teikimo sąsajų kataloge.
18. UDTS specifikacijoje turi būti aprašomas teikiamų duomenų formatas, nustatant teikiamų duomenų laukų tipus, reikšmių patikros taisykles, statines klasifikatorių reikšmes ir kitus tipus. Taip pat, turi būti aprašomi duomenų semantikos, visumos, kokybės, esamų arba potencialių duomenų klaidų, netikslumų arba trūkumo, istorinių duomenų netikslumo arba trūkumo, realaus laiko delsos, klaidų kodų, versijavimo, teisėtų duomenų panaudojimo būdų bei kiti aspektai, kurie yra svarbūs norint korektiškai panaudoti teikiamus duomenis.
19. Reikalavimai UDTS turiniui:
19.1. UDTS, vadovaujantis principu „iki pirmo poreikio“, turi sudaryti galimybę iš Ištekliaus gauti visus jame tvarkomus duomenis, įskaitant:
19.2. į reikalavimus, nurodytus 19.1 punkte, neįtraukiami vidiniai arba tarpiniai duomenys, tokie kaip:
19.2.3. Ištekliaus vidiniai administraciniai arba operatyviniai duomenys, pavyzdžiui, vidinių naudotojų rolės, veiksmų žurnalas, sisteminė konfigūracija, sertifikatai ir pan.;
19.2.4. duomenys, kurių dėl technologinių arba teisinių priežasčių neįmanoma pateikti iki pirmo poreikio, pavyzdžiui, nesamos standartinės programinės įrangos (angl. Commercial Off the Shelf) duomenų teikimo sąsajos, specializuota duomenų schema, didelė duomenų failų apimtis, istorinių duomenų archyvavimas atskiroje saugykloje ir pan.;
19.3. UDTS turi suteikti prieigą prie svarbiausių rašymo, keitimo ir trynimo veiksmų, kurie yra prieinami pagrindinėje Ištekliaus naudotojo sąsajoje (jei tokia yra), arba integracinių taškų, kuriems yra numanomas poreikis. Pavyzdžiui, dokumentų valdymo sistemoje – „sukurti dokumentą“, „pakeisti dokumento statusą“; užduočių valdymo sistemoje – „sukurti užduotį“; leidimų išdavimo sistemoje – „išduoti leidimą“;
19.4. perduodant koduojamus duomenis turi būti perduodami tiek tokių duomenų kodai, tiek jų reikšmė, o taip pat – turi būti atskirai pateikiamas reikšmių klasifikatorius;
19.5. visų klasifikuojamų ar koduojamų duomenų reikšmėms nustatyti teikiami ir atnaujinami reikšmių klasifikatoriai, kuriuose reikšmės pateikiamos bent dviem – lietuvių ir anglų – kalbomis;
19.6. įvykus klaidai turi būti grąžinamas struktūrizuotas pranešimas, nurodantis klaidos kodą, tipą, kitus techninius atributus, bei atskiru atributu perduodamas žmogui suprantamas klaidos aprašymas – klaidos tekstas, klaidos teksto pateikimo kalba. Klaidos tekstas turi būti grąžinamas bent dviem – lietuvių ir anglų – kalbomis. Kiek įmanoma, turi būti stengiamasi panaudoti standartinius HTTP protokolo klaidų kodus.
20. UDTS turi pateikti išorinio testavimo aplinką (angl. production sandbox) ir suteikti potencialiems duomenų gavėjams galimybę ja laisvai naudotis.
21. Vystant Išteklių ir jo duomenų modelį, atitinkami pokyčiai nuolat turi būti diegiami ir UDTS. Keičiantis Ištekliaus duomenų modeliui ir (arba) semantikai turi būti maksimaliai stengiamasi išlaikyti esamos UDTS versijos veikimą (angl. backwards compatibility), o nepavykus to padaryti, nesuderinami pakeitimai turi būti publikuojami nauja, aukštesne versija. Išimtis taikoma atvejams, kai dėl teisės aktų ar veiklos pokyčių iš esmės keičiasi duomenų modelis ir nebėra galimybės teikti duomenis senuoju formatu. Tokiais atvejais rekomenduojama iš anksto informuoti sąsajos naudotojus (duomenų gavėjus ir Valstybės informacinių išteklių sąveikumo platformos tvarkytoją), kad būtų laiku pasirengta pokyčiams ir išvengta integracinių sutrikimų.
22. UDTS keliami pasiekiamumo, korektiškumo, greitaveikos ir kiti nefunkciniai reikalavimai, įvardinti duomenų teikimo paslaugos susitarime (angl. Service-Level Agreement), turi būti ne žemesni kaip pagrindinės Ištekliaus naudotojo sąsajos (jei tokia yra) veikimo reikalavimai.
23. UDTS turi būti paruošta naudojimui taip, kad iškilus naujiems poreikiams nereikėtų atlikti užsakomųjų ar kitų sistemos modifikavimo darbų.
24. UDTS turi būti pritaikyta tiek tiesioginiam kreipimuisi internetu arba kitais elektroninių ryšių kanalais, tiek netiesioginiam kreipimuisi per Valstybės informacinių išteklių sąveikumo platformos duomenų mainų paslauga (toliau – DMP).
25. UDTS turi numatyti galimybę galutinio naudotojo (asmens arba sistemos) autentifikaciją (atpažintį) bei autorizaciją (teisės gauti konkrečius duomenis ar atlikti veiksmą patikrinimą) vykdyti DMP bent vienu iš šių būdų:
25.1. suteikiant galimybę DMP gauti neribotą prieigą prie UDTS su bendru aplikacijos arba tinklo lygio saugumo mechanizmu (pvz., mutual TLS, VPN). Šiuo atveju DMP užtikrina, kad duomenys galutinį duomenų gavėją pasiekia saugiai ir teisėtai;
25.2. valdant duomenų prieigos teises remiantis OAuth 2.0, OpenID Connect, JSON Web Tokens (JWT) standartais. Šiuo atveju UDTS turi būti suintegruota su DMP autorizacijos serveriu bei pasikliauti iš autorizacijos serverio gaunamais naudotojo atributais (identifikaciniais duomenimis, leidimais (scopes), grupėmis ir pan.).
V SKYRIUS
BAIGIAMOSIOS NUOSTATOS
27. Jei duomenų gavėjas dėl technologinių ar kitokių objektyvių aplinkybių negali gauti duomenis naudojant UDTS, susitarus su duomenų teikėju galima naudoti kitokius duomenų teikimo formatus ir standartus, tačiau toks susitarimas turi būti suderintas su Informacinės visuomenės plėtros komitetu, o sukurto sprendimo specifikacija pateikta publikavimui Valstybės informacinių išteklių sąveikumo platformos duomenų teikimo sąsajų kataloge. Duomenų gavėjo prašymu sukurtas duomenų teikimo sprendimo įdiegimas neatleidžia duomenų teikėjo nuo įpareigojimo naudoti UDTS teikiant duomenis kitiems duomenų gavėjams.