fbpx

Ekosystém na doručovanie elektronických dokumentov pre hudobné vydavateľstvo

Objednanie a kúpa elektronického dokumentu sa môže zdať z pohľadu bežného používateľa ako triviálna záležitosť. V skutočnosti je však doručovanie dokumentov komplexná úloha, ktorá zahŕňa niekoľko sofistikovaných systémov, ako napríklad tento od Altamiry. 

Niektoré systémy sú sebestačné, niektoré sú vo forme zásuvných modulov, ktoré sa dajú použiť na akýkoľvek e-shop, a iné sú zasa systémy tretej strany. Symbióza týchto systémov je to, čo umožňuje doručenie finálneho produktu zákazníkovi.

V kooperatívnom projekte medzi rakúskym hudobným vydavateľstvom Universal Edition a spoločnosťou sofasession GmbH sa účastníci projektu obrátili na nás, aby sme dodali časti takého systému. Universal Edition (UE) je doslova naším najstarším klientom, pretože na trhu funguje už od roku 1901. UE disponuje veľkou databázou notových záznamov v podobe elektronických dokumentov. Tieto noty, respektíve dokumenty sú jeho produktami, ktoré sa dajú objednať cez e-shop a ktoré klient polo-manuálne spravuje. Naše riešenie mu umožní dokumenty jednoducho spravovať a jeho zákazníkom zas objednáva.

doručovanie dokumentov

Požiadavky

Komplexitu tvorí niekoľko vlastností systému, napríklad veľkosť databázy dokumentov, ich bezpečné uloženie, správa, objednanie pomocou ľubovoľného e-shopu, či doručenie týchto dokumentov do aplikácie tretej strany. 

V procese objednávky vystupuje až päť systémov. Tie navzájom komunikujú na dosiahnutie spoločného cieľa, ktorým je úspešné doručenie elektronického dokumentu zákazníkovi.

  1. Hydra – Systém na uloženie a správu dokumentov 
  2. Universaledition.com – Systém na objednanie dokumentov (e-shop)
  3. Getnote e-shop plugin – Zásuvný modul pre e-shopy na poslanie objednávky do Getnote
  4. Getnote – Systém na doručenie dokumentov
  5. Newzik – Systém na prehliadanie dokumentov (tretia strana)
doručovanie dokumentov

Požiadavky nášho klienta boli špecifické. Klient má terabajty PDF dokumentov, t.j. produktov, ktoré musia byť bezpečne uložené a spravované. Pod správou si môžeme predstaviť napríklad ich vytváranie, editovanie, označovanie, orezávanie, rozdeľovanie, spájanie a podobne. Tieto dokumenty sú z bezpečnostných dôvodov uložené v infraštruktúre klienta.

Dokumenty môže dodať okrem nášho klienta aj iný poskytovateľ. Systém preto musí umožňovať spustenie inštancie, ktorá bude dodávať dokumenty tohto iného poskytovateľa do systému. Poskytovateľ bude následne môcť importovať produkty z CSV súboru a priradiť k nim samotné súbory reprezentujúce dokumenty.

Elektronické dokumenty môže predávať akýkoľvek e-shop (v našom prípade hovoríme o notových záznamoch). Preto musí byť tento systém schopný doručiť dokumenty z ľubovoľného e-shopu do aplikácie tretej strany, ktorá umožňuje ich prehliadanie. Keďže ide o tretiu stranu, môže sa stať, že bude systém nedostupný. Na to sú prítomné mechanizmy, ktoré takýto stav ošetria. 

Dokumenty musia byť bezpečne uložené a sú k dispozícii len v prípade, ak zákazník prejde úspešne objednávkovým procesom a zaplatí. 

doručovanie dokumentov

Technické riešenie

Náš Altamira tím spolupracoval s klientom na systémoch na uloženie, správu a doručenie dokumentov. Okrem toho sme vytvárali zásuvný modul pre e-shopy, ktorý umožňuje posielanie objednávky do systému na doručenie dokumentov. Pracovali sme tiež na integrácii systémov tretích strán, teda systému na prehliadanie dokumentov.

Systémy sme postavili na technológiách Vue.js, Laravel, MySQL, LAMP a Docker. Vue.js je rýchly a moderný rámec pre frontend. Laravel je rámec, ktorý umožňuje v štandardnom nastavení dodržiavať dobré architektonické princípy. MySQL je rokmi odskúšaná databáza, ktorá umožňuje spracovávať väčšie množstvo záznamov. 

Technológie LAMP a Docker boli výhodné, pretože nám umožňujú veľmi rýchlo spustiť systém u viacerých poskytovateľov dokumentov, alebo nasadiť systémy na server podľa toho, kde ich potrebujeme.

doručovanie dokumentov

Ako systémy fungujú? 

Plynulá komunikácia medzi systémami je to, čo umožňuje úspešné doručenie dokumentov zákazníkovi. Systém podporuje viacerých poskytovateľov dokumentov, ktorí majú bezpečne uložené dokumenty. Poskytovatelia nahrajú svoje dokumenty do Hydry – systému na uloženie a správu dokumentov. Následne Getnote – doručovateľ dokumentov stiahne ich metadáta. V prípade, že zákazník úspešne dokončí objednávku na e-shope universaledition.com, doručovateľ stiahne samotné dokumenty od poskytovateľa a pošle ich do Newzik – prehliadača, kde si ich zákazník môže prezerať. 

Výzvy

Komunikácia s tretími stranami

Zásuvný modul, ktorý zabezpečuje prepojenie účtu zákazníka v prehliadači dokumentov s doručovateľom dokumentov, musí byť bezpečný, aby nedošlo k odcudzeniu dokumentov. Taktiež musí podporovať integráciu s akýmkoľvek systémom. 

Na zabezpečenie bolo použitých niekoľko mechanizmov – napríklad šifrovanie, dočasná známka, obfuskácia (zahmlievanie zdrojového kódu programu), kompilovania JavaScriptového kódu do byte kódu, limitácia pre jednu špecifikovanú doménu, alebo spätné overenie so serverom. Zaujímavosťou je, že výsledný kód človek nedokáže prečítať. Prečítať a spustiť ho dokáže iba stroj.

Integrácia zásuvného modulu s existujúcimi e-shopmi je jednoduchá. Systém totiž generuje súbor kódov v rôznych programovacích jazykoch, ktoré je možné skopírovať a vložiť do akéhokoľvek e-shopu.

Samotné doručovanie dokumentov tretej strane nie je až tak jednoduché. Systém musí vytvoriť virtuálny kontrakt medzi poskytovateľom a zákazníkom, ktorý obsahuje metadáta o dokumentoch, vrátane toho, aké strany sa v dokumente nachádzajú. Preto musí systém vedieť PDF dokument prečítať. 

Navyše, samotný dokument môže byť veľký (napr. 2 GB), prípadne ich môže byť veľké množstvo (napr. 2 000). Niekoľko systémov musí spolupracovať, aby všetko toto bolo možné. Jadro systému – webový server a klient, ktorý robí požiadavky – musí mať zvýšené limity na veľkosť súboru a dĺžku spojenia. Je tomu tak preto, aby napríklad systém dokázal dlho udržať pripojenie, ak sa bude nahrávať veľký súbor.

Komponent, ktorý zabezpečuje doručovanie dokumentov tretej strane, preto musí obsahovať opravné mechanizmy v prípade, že nastane chyba. Napríklad sa súbor nemusí správne, či kompletne nahrať.  

Páči sa vám, čo čítate?

Prihláste sa k odberu a majte prehľad o najnovších technologických trendoch

Importovanie a mapovanie metadát na dokumenty

Poskytovatelia majú svoje dokumenty a ich metadáta uložené v rôznych databázach a formátoch, avšak takmer každý umožňuje ich export do XLS súboru. Preto aj náš systém umožňuje importovať metadáta z veľkých XLS súborov (100MB +).

XLS súbor nemusí byť v špecifickom formáte, ale náš systém poskytuje používateľské rozhranie, kde každý stĺpec XLS súboru môže používateľ namapovať na našu databázu. Napríklad ak XLS súbor má v treťom stĺpci názov interpreta, tak používateľ vie toto mapovanie vytvoriť a systém mu vytvorí metadáta, kde názov interpreta bude z tretieho stĺpca. 

Po importovaní metadát je potrebné mapovať tieto metadáta na dokumenty. To však nie je jednoduchá úloha, pretože v metadátach neexistuje identifikátor, podľa ktorého by sme dokumenty mohli nájsť. Súbory sú často pomenované rozlične a nájsť dokument podľa čísla je zložité. 

Napríklad, ak sa nachádza v priečinku súbor s kódom dokumentu, povedzme Mahler-AB12345-test.txt, ale žiadny iný kód sa tam nenachádza, tak všetky dokumenty v tomto priečinku sú priradené pod číslo AB12345.

Úprava PDF dokumentov

Dokumenty je potrebné upravovať, pretože nemajú rovnakú veľkosť, sú rozdelené, majú oddelenú hlavičku od obsahu, alebo sú príliš veľké. 

Systém pre uloženie a správu dokumentov dokáže dokumenty upravovať – napríklad vytvárať, editovať, tagovať, rozdeľovať a spájať pomocou potiahni-a-pusti techniky, rozdeľovať jednotlivé strany na polovicu, orezávať značky pre tlač a komprimovať. Tieto funkcie sú zahrnuté vo webovom rozhraní, preto je práca s dokumentami veľmi pohodlná.

Časť funkcií je automatizovaných. Okrem editácie, systém umožňuje detekovať dvojstránky na jednej strane v dokumente, alebo orezové značky a podobne.

Záver

Pre klienta sme vyvinuli niekoľko systémov, ktoré umožňujú spravovať a objednávať veľké množstvo elektronických dokumentov. Požiadavky zákazníka zvýšili komplexitu riešenia a tak sme sa museli vysporiadať s niekoľkými výzvami, ako napríklad integrácia s tretími stranami, či import XML dokumentov. 

Naše systémy pomáhajú klientovi spravovať jeho produkty a robia ich nakupovanie pre jeho zákazníkov jednoduchšie. Máte záujem o podobné riešenie? Neváhajte nás kontaktovať a dohodnite si nezáväzné stretnutie.

Top