Digilogistika vabavara portaal

Projekti üks tulemitest saab olema veebiportaal, mille eesmärgiks on:

  • propageerida veoste tarneahela (CMR-de) digitaliseerimist

  • pakkuda tehnilisi tööriistu, kasutuspraktikaid ning vabavara selle digitaliseerimise hõlbustamiseks.

Digitaliseerimise võimaldamiseks on vaja luua andmevahetusplatvorm (nimetame seda LogXdigi), mille kaudu saab veoselehti ja nendega seonduvat infot vahetada. Selle platvormi loomine ei ole Accelerate Estonia projekti kontekstis, küll aga esitame siinkohal visiooni, kuidas võiks vabavara portaal sellise platvormi loomisele kaasa aidata.

Digitaalse tarneahela platvormi visioon

Kõigepealt väike visioon platvormist endast. Alloleval joonisel on kujutatud seda, millised on põhilised osapooled ja kuidas nad platvormiga suhtlevad.

Tehniline suhtlus platvormiga toimub kaasaegse Restful API ehk REST abil. Viimane pakub erinevaid teenuseid veoselehtede ja seonduva info vahetamiseks. Need teenused on umbes sellised:

  • Teavita vastaspoolt digitaalse veoselehe (eCMR) loomisest

  • Teavita vastaspoolt veoselehe muutmisest

  • Teavita vastaspoolt veoselehe sulgemisest/lõpetamisest

  • Anonüümsed statistilised päringud või raportid

  • … ja paljud muud teenused

Digitaliseerimise väljakutsed

Digitaliseerimise läbiviimiseks tuleb lahendada hulk väljakutseid:

  • Logistikaga seotud ettevõtetel on tarneahel küll osaliselt digitaliseeritud, kuid paljud ettevõtted ei suuda koostada eCMR’i

  • Isegi kui suudetakse koostada eCMR, siis puudub ühtne eCMR-i standard. Levinud on UN/CEFACT eCMR, GS1 transport_instruction ja ESGMS

  • Erinevate standardite kasutamisel ei saa osapooled kaubainfost aru

  • eCMR-de hooletul vahetamisel läbi ühtse platvormi tekib platvormi halduril (või pahatahtlikul töötajal või häkkeril) võimalus seda infot näha - see pole aga vastuvõetav info omanikule

  • Platvormi omanikul peab olema võimalik näha ainult piiratud hulgal avalikke andmeid

  • Info nägemise vältimiseks on vaja platvormi läbivad andmed krüpteerida. Ei piisa transpordi tasemel krüpteerimisest (TLS), sest see kaitseb ainult kanalit eCMR pakkujast platvormini. Platvormile saabudes krüpteeritaks TLS puhul andmed uuesti lahti ning need muutuvad platvormile nähtavaks

  • Seetõttu on vajalik krüpteerida sõnum juba saatja poolel enne, kui see TLS kaudu teele pannakse. Dekrüpteerimise võimekus on sel juhul ainult info vastuvõtjal (asümmeetriline krüpteerimine). Sel juhul krüpteerib saatja info ära vastuvõtja avaliku võtmega. Dekrüpteerida saab seda ainult salajase privaatvõtmega, mille omanik on vastuvõtja

  • Digitaliseerimiseks vajalik tehniline töö võib tunduda mahukas ja keeruline

Vabavara portaali sisu

Vabavara portaal tegeleb muu hulgas nende väljakutsete tutvustamisega ning lahenduste ja lihtsustuste pakkumisega. Osaliselt on abiks selgitused ja skeemid, kuid tarkvara arendajatel ja integraatoritel on suurim abi programmikoodi näidetest, teekidest ja praktilistest tööriistadest. Seetõttu on portaalis:

  • Vabavaralised teegid programmeerimistööde lihtsustamiseks. Vabavaralised just seetõttu, et tagada läbipaistvus, vigade parem avastamisvõime ning pakkuda osalistele võimalust teekide täiendamiseks

  • Vabavaralised teegid paigaldatakse populaarsesse keskkonda Github, Gitlab või Bitbucket. Portaalist leiab viited ja selgitused neile vabavaradele

  • Need teegid võimaldavad: a) ühest standardist/formaadist teise teisendamist b) XML-i teisendamist objektiks (nt Java POJO) ja vastupidi c) standardsõnumi krüpteerimist ja dekrüpteerimist (lihtsamini kui programmeerimiskeele enda teegid)

  • Teegid on mitme programmeerimiskeele jaoks. Kindlasti on toetatud Java, kuid hiljem lisanduvad Javascript, Python ja C#/.NET

  • Teegid tehakse programmeerimiskeele ehitusskriptile kättesaadavaks keskrepositooriumi kaudu, näiteks Java puhul Maven Central, Javascriptil NPM repo jne. Portaalist leiab viited neile repodele

  • Portaal sisaldab veebipõhiseid näidistööriistu standarditevaheliste teisenduste tegemiseks, standardse formaadiga sõnumi koostamiseks. Need tööriistad on mõeldud nii programmeerijale, testijale kui ka arendusjuhile/projektijuhile, kes tahab enda ideid valideerida ja katsetada

  • Tööriistad ise põhinevad eeltoodud vabavaralistel teekidel - nad on justkui teekide näidisrealisatsioonid

  • Vabavara hea tava kohaselt varustatakse iga vabavaraline teek lihtsa selgitusega ning kasutusnäidistega (esialgu vähemalt github/gitlab/bitbucket keskkonnas)

  • Hiljem saab portaali lisada ka Youtube videod, kus toimub samm-sammult selgitamine, kuidas LogXdigi platvormiga integreeruda