Napojení na Pohodu

Jak jsem již psal v předchozím článku, většina našich zákazníků využívá ekonomický systém Pohoda. Z toho důvodu jsme vytvořili nástroj „komunikační klient“, který zprostředkovává komunikaci s e-shopem. Minule jsem si vysvětlili jak komunikačního klienta nastavit. Dnes se však podíváme pod pokličku a ukážeme si jak klient funguje.

Požadavky na klienta

Před samotnou tvorbou bylo nutné zamyslet se, jaké by měl tento nástroj splňovat požadavky:

  • Rychlost
    • Program by se měl spustit takřka okamžitě, provést co má a oznámit uživateli výsledek.
  • Jednoduchost
    • Nemělo by být obsaženo žádné složité nastavení, které by komplikovalo používání klienta.
  • Stabilita
    • Není potřeba žádné složité grafické rozhraní, avšak je nutné, aby aplikace nepadala a spustila se vždy když je potřeba.
  • Aktualizace
    • Klient by se měl umět sám aktualizovat, aniž by bylo nutné stahovat novou verzi.

Obecný způsob komunikace

Pohoda komunikuje pomocí XML souborů, teré určují jaká data má přijmout a jaká naopak vrátit. Obecná komunikace je řízena z počítače, na kterém je Pohoda nainstalována a vypadá takto:

  • Uživatel nebo plánovač úloh (nastavení plánovače) spustí komunikačního klienta.
  • Klient se napojí na server a pomocí klíče si ověří jestli komunikuje se správným eshopem.
  • Pokud je vše v pořádku, stáhne si klient konfigurační soubor.
  • Dále ověří, zdali jsou veškeré soubory aktuální a případně automaticky provede aktualizaci.
  • V dalším kroku již provádí samotnou komunikaci s agendami v Pohodě (např.: přenáší zásoby z pohody do e-shopu).
  • V případě, že vše proběhlo v pořádku, je program ukončen (pokud je spuštěn plánovačem) nebo je vyžadováno stisknutí libovolné klávesy (spuštění uživatelem)
  • Pokud se vyskytne chyba, je na server zaslán soubor s informacemi o chybě.

Komunikace s agendami

Komunikace s každou agendou v Pohodě probíhá obdobným způsobem:

  • Klient zašle požadavek na server a předá informaci s jakou agendou se má pracovat a kterým směrem mají data proudit.
  • Server vygeneruje soubory XML a INI, které určí jak Pohodu spustit a jaká data má vrátit, resp. vložit.
  • XML a INI soubory si klient stáhne pomocí FTP přenosu do vlastního adresáře.
  • Klient spustí Pohodu s příslušnými parametry a ta vrátí data v podobě XML souboru na určené místo.
  • Vrácená data poté klient, opět pomocí FTP přenosu, nahraje na server.
  • Klient vyšle požadavek na server, aby přenesená data zpracoval.

Závěr

Takto vypadá obecně funkčnost nástroje, který zprostředkovává komunikaci mezi e-shopem a Pohodou. Příště se již zaměříme na konkrétní implementaci.