X-tee märkmed loengust

Allikas: Lambda

X-tee on eesti riigiasutuste infosüsteemide omavahelise suhtlemise põhisüsteem. Ta on korraga

  • protokoll, ehk sõnumite formaat, mida peab järgima
  • mõned tarkvaratükid, mida X-tee apide tegemieks tuleb kasutada (peatükk on nn turvaserver, mis tuleb installeerida, konfida, ja mille kaudu apit välja kutsuda ja vastata)
  • x-tee keskus Riigi Infosüsteemide Ametis RIA-s, mis monitoorib toimuvat, kogub statistikat ja annab asutustele õigusi osaleda või mitte

Üldpõhimõttena tahab RIA, et: kui riigiasutuse X miski infosüsteem Xi tahab andmeid mõne teise riigiasutuse Y miskist infosüsteemist Yi, siis reeglina peab X:

  • uurima, kas on juba olemas mõni X-tee API nende andmete saamiseks: kui jah, küsib endale ligipääsu APIle ja kasutab seda
  • kui ei, siis käivitab projekti, et Y teeks sellise X-tee API ja siis X hakkab seda kasutama.

Ehk, kõikvõimalikud muud andmevahetusskeemid (REST liidesed, andmete dumpi upload, mälupulgaga kopeerimine jne jne) on tungivalt mittesoovitavad.

Mida X-tee teeb ja mis seal sees on?

Esiteks, P2P suhtlus:

  • P2P suhtlus asutuste infosüsteemide vahel: asutused suhtlevad apide kaudu omavahel, mingit keskust pole, kust data läbi jookseks. Peamine asi seal on API-de autentimine:
    • korraga kokkulepe ja keskne süsteem sertidega majandamiseks ehk tuvastamiseks, et kas saatja saaja on ikka see asutus,kes ta ütleb ennast olevat
    • seda majandamist teeb x-tee keskus RIA-s
  • on olemas spec, et kuidas konkreetselt teha SOAP apisid et datat küsida ja saata:
    • SOAPi põhine, mõned spetsiaalsed kohustuslikud väljad headeris
    • mismoodi datat tegelikult kodeerid, on suuresti igaühe oma teha

Teiseks, tarkvara:

  • on olemas tarkvaratükk nimega x-tee turvaserver (ehitatud algusest peale AS Cybernetica poolt)
    • tüüpiliselt pannakse eraldi linuxi purki
    • kogu liiklus nii küsijalt kui saajalt läheb läbi nende oma x-tee turvaserveri
    • optsioonid: kas paned oma masinasse (võib virtual olla) või kasutad mingit turvaserveri hostingut
  • mida turvaserver veel teeb?
    • logib enda kõhtu liikluse metainfot ja osa liikluse sisu, ca ühe kuu jagu: seda detailinfot ei saadeta kuhugile
    • nö basic metainfo, et kellega on ühendust võetud ja mis ajal, selle saadab turvaserver keskusesse, st keskuses on piiratud logi: logis on näha osapooled ja aeg ja api calli nimi
  • mis on x-tee lisaväärtus versus harilik https?
    • peamine lisaväärtus on korrektne ja kontrollitud autentimine, ehk sertidega majandamine.
    • tähelepanek: turvaserverit ei ole väga lihtne konfida

Ajalugu

  • Esialgne idee, näitepiloot ja selle promomine riigis oli neljast inimesest tiimi poolt: Vello Kadarpik, Tanel Tammet, Hannu Krosing, Ain Järv. Vaata ka juttu ja videot esiajaloost riigipoolsete käivitamisfiguuride poolt.
  • kui x-tee algas, siis tegid softi kaks firmat: Cybernetica ja Assert (viimane muutis nime Mandatoriks ja pooldus Fujitsu Services Eestiks ja Aktorsiks)
  • lisaks tasub alguse kohta vaadata Ahto Kalja detailset ülevaadet X-tee projekti tekkest aastast 2004
  • algul oli x-tee xml-rpc-ga, siis oli paralleelselt juurde soap, lõpuks jäi ainult soap
  • regulaarselt iga paari aasta tagant (ca 4-5 a) lastakse välja uued versioonid protokollist ja turvaserverist
  • Uusim x-tee versioon
    • väiksed kasulikud headeri muutused
    • selle asemel et öelda organisatsiooni id, on nüüd ka alamorganisatsiooni id
    • hakati nõudma riistvaralist turvat, st eriseadet arvuti küljes sertidega kindlamaks majandamiseks
    • uuemale üleminek venis mitu aastat pikemaks ja praegugi on käimas mõlemid paralleelselt