•   Prihlásiť / Vytvoriť účet
Hromadné prevodníky a dátové vrstvy
Publikované dňa 25.10.2023

Neustálym vylepšovaním formulárov a pridávaním nových funkcionalít časom vzrástla komplexnosť nášho portálu, čo na jednej strane zvýšilo využiteľnosť a obľúbenosť niektorých tlačív, súčasne však zvýšilo nároky na údržbu aplikácie a prostredia. Je to prirodzený vývoj v rámci životného cyklu webovej aplikácie. Našou úlohou je nájsť optimálny kompromis medzi nárastom zložitosti a nákladmi na údržbu.

Pre zaujímavosť tu uvádzame niektoré prehliadané (resp. skôr "ťažšie dohľadateľné") funkcionality vo formulároch (konvertory / dávkové exporty), ako aj dôvody či situácie, ktoré nás postupom času prinútili vytvoriť niektoré vlastné, hoci aj netriviálne riešenia. Chceme tým poskytnúť pohľad do zákulisia dlhodobého online projektu a ozrejmiť akým smerom sa náš portál uberá.

Hromadné konvertory / prevodníky

Pozn.: Máme tu problém s rôznorodou terminológiou, nakoľko inštitúcie nazývajú niektoré rovnaké funkcionality odlišným názvom, napr. hromadné dávky, prevodné príkazy, hromadné príkazy, importné dávky apod. V tomto článku používame "konvertor" alebo "prevodník".

Medzi najžiadanejšie funkcionality vo formulároch patria hromadné importy, resp. exporty, alebo dávkové exporty. Mnohé tlačivá sú inštitúciami navrhnuté dosť neprakticky, príp. v praxi vyžadujú odlišný spôsob spracovania, než pri tlači na papieri. Typickým príkladom sú importné súbory pre hromadné bankové SEPA úhrady. Na pôvodných tlačivách od bánk umožňujú len obmedzený a v praxi nepostačujúci počet položiek.

Na vybratých formulároch sme preto pridali možnosť nahrať prostredníctvom šablón MS Excel podstatne väčší počet záznamov - rádovo až niekoľko stoviek. Po úspešnom nahratí sa automaticky vytvorí súbor pre hromadné nahratie na serveroch tretích strán (napr. na server Slovenskej pošty alebo do elektronického bankovníctva). V súčasnosti sú takéto hromadné prevodníky (konvertory) podporované pre nasledovné formuláre:

Hromadný poštový podací hárok
Umožňuje nahratie až 500 poštových zásielok zásielok a následné vygenerovanie XML súboru pre nahratie na server Slovenskej pošty.
Hromadný príkaz na úhradu - Tatrabanka
Umožňuje nahratie až 300 prevodných SEPA príkazov a následné vygenerovanie súboru XML pre nahratie bankovníctva Tatrabanky.
Hromadný príkaz na úhradu - VÚB
Umožňuje nahratie až 300 prevodných SEPA príkazov a následné vygenerovanie TXT súboru pre nahratie VÚB bankovníctva.
Hromadný príkaz na úhradu - SLSP
Umožňuje nahratie až 300 prevodných SEPA príkazov a následné vygenerovanie XML súboru pre nahratie SLSP bankovníctva.

Vyhľadávanie firiem - Bizdata.sk

Približne od polovice roka 2023 sme spustili vlastné riešenie pre vyhľadávanie subjektov. Vyhľadávanie údajov o firmách, organizáciách a podnikateľoch je jednoznačne jedným z kľúčových pilierov služieb nášho portálu. Využíva ho mnoho formulárov a výrazne šetrí čas pri ich vypĺňaní. Od začiatku spustenia portálu ipdf.sk v r. 2014 bolo takéto vyhľadávanie napojené na verejné databázy. Bohužiaľ, verejné databázy nás občas potrápili nečakanými technickými prestávkami alebo výpadkami dostupnosti (napr. vyskytol sa týždňový výpadok služby z dôvodu poškodeného komponentu, ktorý sa musel objednať zo zahraničia).

Problémom boli tiež limity na denné požiadavky - tzv. rate limits (povolený počet požiadaviek za časový limit), ktoré nám občas vrátili chybu pri prekročení limitu. Počet požiadaviek na vyhľadávanie však nemôžeme obmedzovať, a súčasne je veľmi ťažké ich kontrolovať, nakoľko sú zavislé od počtu užívateľov v danom momente na portáli a konkrétnych formulárov (nie všetky formuláre využívajú vyhľadávanie firiem). My však nemôžeme prvým 100 užívateľom umožniť vyhľadanie údajov o firme, a ďalším 50 užívateľom zobraziť správu "Prepáčte, iní užívatelia už vyčerpali limit povolený verejným poskytovateľom služby, skúste neskôr ..". Takže sme museli problém riešiť vlastnou cestou.

Po asi dvojročnom vývoji sa podarilo vytvoriť vlastné riešenie, ktoré umožňuje vyhľadanie údajov o firmách, podnikateľoch a organizáciách bez nutnosti využívať verejné databázy. Riešenie je dostupné ako webová aplikácia na bizdata.sk , a zatiaľ nie je verejne dostupné (ku 11/2023). Funguje však stabilne už niekoľko mesiacov a predpokladáme, že časom umožníme napojenie cez API rozhranie aj pre užívateľov tretích strán ako platenú službu.

Získaním nezávislosti od nestabilných verejných služieb (resp. "štátnych databáz") zvýšil portál ipdf.sk stabilitu a kvalitu poskytovanej služby. Súčasne sme získali potenciálne nový produkt postavený na najmodernejších technológiách (napr. elasticsearch ). Hoci väčšina užívateľov si rozdiel pravdepodobne nevšimne, pre nás ako prevádzkovateľov portálu odbudla nutnosť riešiť občasné a neriešiteľné sťažnosti od užívateľov v štýle, že "prečo nám to znovu nefunguje" :-)

Nezanedbateľný môže byť tiež potenciál novovzniknutého produktu, nakoľko poskytuje originálnu pridanú hodnotu na rozdiel od pôvodných verejných databáz - napríklad zlúčenie údajov z viac zdrojov (obchodný register, živnostenský register, register účtovných závierok), okamžitá dostupnosť novovzniknutých subjektov, autokorekcie identifikovateľných chýb v názvoch subjektov a predmetoch činnosti, pokročilé vyhľadávanie cez kombinované kritériá apod. Verím, že to bolo správne rozhodnutie aj napriek časovej a technologickej náročnosti projektu.

Výpočet vzdialeností a trvania cesty - OSM geo data

Toto nie je až taká novinka - avšak kvôli úplnosti a významnosti ju uvádzame tiež.

Okrem nezávislej dátovej vrstvy pre vyhľadávanie údajov o firmách využíva portál ipdf.sk aj vlastný postup pre výpočet vzdialeností a času dojazdu vozidiel. Táto funkcionalita je dostupná približne od októbra 2022, keďže v júni 2022 Google zmenil obchodný model pre poskytovanie API služieb (distance matrix ). Náš portál by to finančne neutiahol, alebo by sme museli výrazne navýšiť cenu služieb. Výpočet vzdialenosti a dĺžky cesty využívajú v súčasnosti dva formuláre:

Automatizácia výpočtov v týchto tlačivách patrila od začiatku ku najzaujímavejším a najžiadanejším v rámci všetkých formulárov, jednak z dôvodu, že sa jedná o tlačivá často využívané v účtovníctve živnostníkov a firiem, ako aj z dôvodu ich komplexnosti a častých zmien sadzieb v zákone. Vyplniť uvedené tlačivá manuálne môže byť časovo náročné aj pre skúseného účtovníka.

Rozhodli sme sa preto službu od google nahradiť vlastným riešením pri zachovaní nezmenenej ceny služieb. Výskum a vývoj nového riešenia trval asi 3-4 mesiace a nakoniec sa službu úspešne podarilo nahradiť vlastným riešením, ktoré je pravdepodobne jedinečné v rámci slovenských webov. Riešenie umožňuje počítať vzdialenosti:

  • pre slovenské lokality bez napojenia na externé servere (cca 2850 miest a obcí),
  • pre lokality mimo územia SR (26 štátov a viac ako 254.000 miest a obcí) využívame napojenie na nemecký voľne dostupný univerzitný server s povoleným počtom do 2.000 požiadaviek denne.

Touto kombináciou interného a externého riešenia sme od októbra 2022 plne nahradili pôvodnú API službu od Google. Pre slovenské lokality (80% prípadov) sme získali úplnú stabilitu a nezávislosť služby od externých vplyvov. Pre mimoslovenské lokality sa občas môže vyskytnúť nedostupnosť, nakoľko sa predsa len jedná o verejný univerzitný server na ktorý sa môže napojiť hocikto a spôsobiť výpadok. To, bohužiaľ, nevieme ovplyvniť. Našťastie, podľa našich pozorovaní za uplynulý rok, sú tieto výpadky zriedkavé. Daňou za naše vlastné riešenie je však zložitejšia údržba prostredia, nakoľko pribudla nová databáza PostgerSQL so špecifickými rozšíreniami (PostGIS ) a veľké množstvo kompilovaných OSM dát .