Andmete API Transpordiametile

See on keskne automatiseeritud vahetarkvara, mis pärib andmeid erinevatest andmebaasidest, teisendab need standardseks JSON-vorminguks ning edastab riiklikku avatud andmete portaali ja TENtec süsteemidesse. Lahendus asendab käsitsi tehtava andmehõive ühtse liidesega, tagades vastavuse Euroopa Liidu standarditele.

Kliendist

Transpordiamet (TRAM) vastutab liikluse korraldamise eest maal, õhus ja vees, tagades taristu korrashoiu ja üldise ohutuse. Nende peamised ülesanded on riigiteede ehitamine ja hooldamine, liiklusregistri haldamine ning järelevalve kõigi transpordiliikide üle. Ameti eesmärk on pakkuda inimestele ja ettevõtetele ohutut, mugavat ja nutikat liikumiskeskkonda.

Klient Transpordiamet (TRAM)
Viide projektile Vaata siit
Projekti algus September 2025
Projekti lõpp November 2025

Kliendi probleem

Väljakutse: Vananenud andmesüsteemide ja tänapäevaste standardite ühildamine

Transpordiamet seisis silmitsi tehnilise takistusega taristuandmete haldamisel ja raportite koostamisel. Info riigiteede, raudteede, sadamate ja lennujaamade kohta oli laiali mitmes vananenud süsteemis. See muutis ühtse ülevaate saamise riiklikust transpordivõrgustikust keeruliseks.

Põhiprobleem:

Killustunud taristuandmed ja käsitsi aruandlus EL-i süsteemidele.

Enne uue API kasutuselevõttu pidi klient haldama andmeid mitmes eraldiseisvas infosüsteemis, nagu Teeregister, Sadamaregister, eStat ja Elektrooniline Mereinfosüsteem.

  • Eraldatud süsteemid: Iga süsteem kasutas erinevaid tehnoloogiaid ja andmebaase (Oracle, PostgreSQL), mistõttu olid andmed süsteemide vahel killustunud.
  • Käsitöö aruandluses: Euroopa Komisjoni TENtec süsteemile aruandmine nõudis andmete käsitsi väljavõtmist ja teisendamist, et need vastaksid EL-i standarditele.
  • Puudus keskne liides: Polnud ühtset kohta andmete koondamiseks, mis hõlmaks kriitilisi detaile nagu teeklassid ja raudtee rööpmelaiused.
  • Andmekvaliteedi riskid: Käsitsi töötamine suurendas vigade ohtu ning muutis iga-aastase aruandluse aeglaseks ja töömahukaks.
  • Valideerimisprobleemid: Puudus automaatne kontroll, kas avatud andmete portaali (avaandmed.eesti.ee) saadetud info vastab nõutud JSON-skeemidele.

Lahendus: Ühtne andmeintegratsiooni keskus

Wenture arendas Transpordiameti andmete API (TRAM Data API). See on keskne vahetarkvara, mis pärib infot eri andmebaasidest, teisendab tulemused JSON-vormingusse ning saadab need avatud andmete portaali ja TENtec süsteemidesse.

Peamised tehnilised komponendid:

  • Automaatne andmehõive: Kohandatud SQL-päringud ja GET-päringud tõmbavad andmed otse vanadest süsteemidest (nt Oracle ja PostgreSQL).
  • Standardne JSON-teisendus: Mootor, mis kaardistab toorandmed spetsiifilistele “Mirroring Jobs API V2” ja TENtec protokollidele.
  • Automaatne valideerimine ja veahaldus: Enne andmete edastamist kontrollitakse nende vastavust JSON-skeemile. Lisatud on kordusmehhanism, mis teeb tõrke korral automaatselt uue katse ja logib vea hilisemaks lahendamiseks.
  • Ajastatud ja nõudluspõhine töö: Integreeritud cron-töödega perioodilisteks uuendusteks. Võimalus käivitada protsesse käsitsi POST-päringute või GitLabi kaudu.
  • Konteineriseeritud CI/CD ahel: Täielikult automatiseeritud ehitus ja paigaldus, kasutades Dockerit, Kubernetest (K8) ja GitLab CI/CD lahendusi.

Tehnoloogiad ja liidestused:

  • Backend: Java (Spring Boot)
  • Andmebaas: PostgreSQL (staatiliste andmete ja metainfo hoidmiseks).
  • Liidestused: Ühendatud Teeregistri, Sadamaregistri, eStati ja LOIS-iga (Oracle).
  • Väljund: Liidestatud Andmete teabeväravaga (Open Data Portal) läbi Mirroring Jobs API V2.

Tulemused ja mõju:

Andmete API kasutuselevõtt muutis põhimõtteliselt seda, kuidas Eesti oma transpordiandmeid haldab. Üleminek käsitsi tehtavalt aruandluselt hallatud API-põhisele arhitektuurile vähendas oluliselt rahvusvahelise aruandluse töömahtu.

Peamised tulemused:

  • Kadus käsitsi andmetöötlus: Neljast eri süsteemist pärinevate andmete teisendamine ühtsesse JSON-vormingusse on nüüd automaatne.
  • Suurem töökindlus: Lisati “Max retry” süsteem ja logimine, et tagada andmete edastus ka ajutiste võrgutõrgete korral.
  • Standardiseeritud turvalisus: Kõik andmeülekanded on turvatud HTTPS (TLS 1.2/1.3) ja Bearer Token autentimisega.
  • Organisatsiooniline muutus: Meeskond saab nüüd hallata eri ressursse (teed, sadamad, lennujaamad) eraldiseisvate ja versioneeritud varadena. See teeb süsteemi tuleviku jaoks lihtsalt laiendatavaks.

Tulevikuplaanid

Kuigi lahendus loodi algselt TENtec jaoks, võimaldab arhitektuur hõlpsalt lisada uusi andmekogusid ja süsteeme. Tulevikuplaanides on halduspaneeli loomine andmeallikate juhtimiseks, logide reaalajas visualiseerimine (Prometheus ja Grafana) ning veebihaakide (webhooks) lisamine sündmuspõhisteks uuendusteks.