Jak na e-shop II

Levné knihy {behind the screen}

To, co vidí uživatel na monitoru či displeji, je jen špička ledovce. Za každým větším e-shopem je řada systémů, které je nutné efektivně propojit. Aby bezchybně, stabilně a svižně spolupracovaly.

Levné knihy

Najít společnou řeč

Velký počet systémů rovná se hodně rozličných dat v různých formátech a jazycích. Tuto informační a komunikační roztříštěnost řeší u Levných knih tzv. mezi-integrační vrstva.

Jedná se o nezávislý prvek, který plní jedinou funkci – sbírá z jednotlivých systémů data, uchovává je a předává ve vhodném formátu dalším systémům.

Tato vrstva má velký vliv ne celý „ekosystém“ e-shopu a vůbec na efektivitu celého projektu. A to hlavně z těchto důvodů.

  1. Technologická nezávislost na koncových systémech. V případě, že bude některý ze systémů nahrazen jiným, integrační vrstva zůstane, pouze bude nutné upravit nebo přidat rozhraní pro systémovou komunikaci.

  2. Finanční udržitelnost projektu. Jedno systémové rozhrání pro všechny aktuální i budoucí systémy výrazně zjednodušuje a zlevňuje náklady na údržbu systémů.

  3. Dostupnost a bezpečnost strategických dat. Jejich uložení na jednom místě umožňuje nejen jejich snazší dostupnost pro ostatní systémy, ale také jejich jednoduší zálohování a ochranu.

Fyzická architektura systému

Z technického pohledu představuje integrační vrstva relační databázi s logickou vrstvou pro přístup k datům a API. Jako formát API jsme zvolili RESTový JSON, což umožňuje otevřenost vůči dalším systémům. Logická vrstva přístupu k datům přináší do systému zabezpečení. Aby každý uživatel viděl jen to, co vidět má.

Schéma fungování integrační vrstvy na e-shopu Levné knihy

Co integrační vrstva (zatím) řeší?

Aktuálně je integrační vrstva mezičlánkem mezi podnikovým informačním systémem a vlastním e-shopem. Využívá se pro synchronizaci produktů a objednávek. Vrstva řeší bezchybné propisování jednotlivých produktů na e-shop, propisování všech stavů objednávky a data ze zákaznických profilů. Převedeno do praxe, integrační vrstva si poradí třeba s těmito situacemi.

Datová čistka nejen mezi autory

Velkým problémem byla nekonzistentnost informací – např. různý zápis jména jednoho autora. Museli jsme proto navrhnout proces čištění a třídění dat, který problém vyřeší a bude dlouhodobě udržitelný.

Data se nyní čistí v rámci procesu schvalování produktových karet. Systém na základě podobnosti vyhodnocuje vstupní data a automaticky generuje správný a unifikovaný tvar jména příslušného autora. Po označení duplicity dojde navíc k vyčištění i ostatních, dříve importovaných záznamů. Jedná se tu tedy o proces samostatného učení, který vede k dlouhodobému zlepšování kvality dat.

Před spuštením e-shopu si tak vrstva poradila mimo jiné s touhle prací.

  • 19 499 pročištěných produktových karet z původního počtu 25 448 karet

  • 5 462 sjednocených jmen autorů z původních 8 632 jmen včetně jejich variant

Schéma čištění dat při revizi produktových karet a jmen autorů na e-shopu Levné knihy

Pravdu má vždycky jenom jeden?

Synchronizace dat je vedena oběma směry, tedy z e-shopu k systémům a od systémů směrem k e-shopu. To přináší nebezpečí nechtěného přepisu dat. Řešením bylo vytvořit pro mezi-integrační vrstvu (MIV) pravidla zápisu. Tam, kde existují dva zdroje jedné informace, jsme zavedli log změn a verzí. Data v logu ukazují, jak se stavy měnily v čase i ve vazbě na zdrojový systém. Jako určující pak bereme poslední časovou změnu.

Tento postup se uplatňuje například u plateb. Objednávka může být zaplacena kartou online, pak změnu stavu iniciuje e-shop. Pokud je uhrazena převodem, účtárna zanese do podnikového systému potvrzení o zaplacení a zdrojem změny stavu je podnikový IS.

Příklad: proces objednávky

1

Vytvoření objednávky

E-shop: Vytvoření objednávky

E-shop: Odeslání e-mailu zákazníkovi s potvrzením objednávky a informacemi o platbě

E-shop: Propsání objednávky do MIV

MIV: Uložení objednávky ve stavu „Ke zpracování“

MIV: Propsání objednávky do MS Navision

MS Navision: Uložení objednávky ve stavu „Ke zpracování“

2

Uhrazení objednávky

MS Navision: Změna stavu objednávky na „Zaplacená“

MS Navision: Propsání změny stavu do MIV

MIV: Aktualizace stavu objednávky na „Zaplacená“

MIV: Pokus o propsání změny stavu do e-shopu

E-shop: Aktualizace stavu objednávky na „Zaplacená“

E-shop: Odeslání e-mailu s informací o změně stavu objednávky na „Zaplacená“

3

Expedice objednávky

MS Navision: Změna stavu objednávky na „Připravena k odběru“

MS Navision: Pokus o propsání změny stavu do MIV

MIV: Aktualizace stavu objednávky na „Připravena k odběru“

MIV: Propsání změny stavu do e-shopu

E-shop: Aktualizace stavu objednávky na „Připravena k odběru“

E-shop: Odeslání e-mailu s informací o vyzvednutí zboží

4

Vyzvednutí objednávky

E-shop: Vyzvednutí zboží zákazníkem

MS Navision: Změna stavu objednávky na „Dokončená“

MS Navision: Propsání změny stavu do MIV

MIV: Aktualizace stavu objednávky na „Dokončená“

MIV: Propsání změny stavu do e-shopu

E-shop: Aktualizace stavu objednávky na „Dokončená“

Stabilní, výkonný a připravený na extrémy

Rychlost načítání a vykreslování jednotlivých stránek e-shopu či rychlost odezvy na uživatelovu akci má velký vliv na frustraci návštěvníků, a to zejména na zařízeních s omezenou konektivitou. Naštvaný uživatel má ke spokojenému zákazníkovi opravdu daleko, proto jsme optimalizaci rychlosti e-shopu věnovali maximální úsilí. A dosáhli velmi dobrých výsledků

Počet uživatelů: 45

Doba trvání testu: 5 min

Počet dotazů za sekundu

Nový server
113
Starý server
106

Celkový počet HTTP volání

Domácí servery
51 435
Zahraniční servery
35 235

Průměrný přenos dat

Domácí servery
58,62 MBit/s
Zahraniční servery
47,49 MBit/s

Důvěřuj, ale prověřuj. Neustále

Pro kontrolu stability a dostupnosti systému využíváme několik monitorovacích nástrojů. Ve tříminutových intervalech sledujeme klíčové součásti systému, jako je dostupnost homepage, dostupnost košíku a stav synchronizace objednávek. Jakmile dojde k výpadku, závada je ihned reportována a naše technická podpora se může hned věnovat její odstranění.

Vánoční období 14. října — 31. prosince

+0 %

Dostupnost homepage

0

Počet výpadků

0 min

Celkový čas výpadku

0 ms

Odezva (First byte)

A co může být dál?

V budoucnu by měla integrační vrstva propojit podnikový IS, e-shop a CRM, případně další systémy business inteligence.

Předpokládáme, že bude třeba implementovat uživatelské rozhraní pro dotykové panely na prodejnách.

Online magazín a blog České filharmonie

Obsah a obsahový marketing se dnes skloňuje zprava i zleva. Jenže obsah bez formy neexistuje. Pokud se to myslí vážně, je nutné mít pro články, videa, infografiky a další formáty odpovídající online platformu. Víme to my. Ví to Česká filharmonie. Voilà, už to frčí.

Podívejte se