e-gov / DHX

Dokumendivahetusprotokoll DHX | Document exchange protocol using X-Road
https://www.ria.ee/dhx
MIT License
8 stars 4 forks source link

DHX-ga saadetava dokumendi suuruse ülempiir võiks olla suurem #47

Closed PriitParmakson closed 7 years ago

PriitParmakson commented 7 years ago

DHX töötoas arendajatega 9.02.2017 Tõnu: "Testitud ja töötab 200 Mb faili saatmine DHX-ga." Arendaja: "See on suur samm edasi. Varem tekkisid probleemid 30-40 Mb failidega. Vaja oleks 600 Mb."

Priit: DHX on algselt mõeldud dokumentide edastamiseks. "Dokumendi tekst peab olema [..] võimalikult lühike." Asjaajamiskorra ühtsed alused § 10, lg 2. Suurte failide saatmine on kahtlemata vajadus, aga kas see on DHX-i eesmärk? Võib-olla vajame vooedastus- (ingl Streaming) protokolli? Fragmentedastus oli DHX-i puhul kaalumisel, kuid sellest loobusime.

tonupold commented 7 years ago

Infoks veel et 200Mb sai testitud X-tee arenduskeskkonnas, kus pole riistavaralisi allkirjastamise seadmeid.

Lisaks võrguühendus oli ka kiire ja turvaserverite timeout limiidid ei rakendanud.

tonupold commented 7 years ago

Kapsli 2.1 versioonis sängitatakse binaarsed dokumendi failid XML-i sisse BASE64 kodeeritult (lisaks ka eelnev GZIP pakkimine).

DHX 1.0 protokolli versioon nõuab XML valideerimist XSD schema vastu.

Need nõuded koos mõjutavad dokumendi vastuvõtmise jõudlust, sest üldjuhul XML parserid loevad valideerimiseks terve BASE64 XML elemendi sisu mällu.

Tulevikuks idee: Eraldada binaarfailid kapsli seest manusteks. Sel juhul XSD valideerimiseks peab mällu lugema ainult Kapsli metaandmed, mis jäävad 10-30kb piiresse. Selle lahenduse puudus oleks küll see, et Kaplsi XML ei oleks enam "self contained" (ehk tekiksid mitu faili ja seosed nende vahel).

PriitParmakson commented 7 years ago

Vitali vastas sellele teemale nii: Turvaserver kindlasti tembeldab ka manused, kuid riistvaraline seade allkirjastab vaid räsi, ja sõnumi keha ning manuste räsi arvutamine on turvaserveri ülesanne.

V6 turvaserveris puudub otseselt piirang manuste mahu suhtes. Kõik manused on kõigepealt salvestatud ajutiste failidesse, ning nendest on võetud räsi. Seega kui turvaserveris on piisavalt palju kettaressursi ajutiste failide jaoks, siis piiranguks on vaid Internetti kiirus, ning ühenduse lubatud timeout. Oma katsetes ma olen miinimum nõuetele vastavas turvaserveris saatnud 500MB manused, ning see pole kindlasti ka piir.