Kdo se pouští do řešení datových integrací poprvé, možná ho překvapí (stejně jako kdysi i nás), o jak komplexní problematiku se jedná. Tento článek ovšem nemá ambice technologického článku, učebnice ani návodu. Nebudeme proto zabíhat do všech podrobností a prozkoumávat všechny aspekty integrátorského “umění”. V tomto článku si ukážeme reálnou podobu integrací.
Pro naší ukázku si namalujeme obraz, jako by to udělalo dítě. A jako pilné dítě se nad ním chvíli zamyslíme, abychom poté namalovali lepší. Nakonec bychom se měli dobrat poznání, že jako spousta jiných věcí, integrace mají ve skutečnosti jinou podobu, než jsme si na začátku mysleli.
Představme si třeba propojení dvou systémů. Je to nejjednodušší příklad, proto s ním začneme. Motivace ke změně je například v tom, že nám přijde poněkud hloupé, když máme vystavené faktury v podnikovém systému a účetní je od nás dostává vytištěné, aby je mohla zanést do svého účetního systému. Chceme tedy přenést fakturu ze systému A do systému B automaticky. Proč ne? Je to tak snadné, že to namaluje i dítě.
Pro začátek asi dobré, ale má to háček. Systém B má vlastní představu o faktuře a faktura systému A se mu nelíbí. Faktury proto musíme cestou upravit. Můžeme to namalovat třeba takhle:
Teď už může účetní zajásat! Faktury se jí nahrnuly do systému, spousta práce odpadá. S pečlivostí vlastní všem dobrým účetním ale nenechá věci bez kontroly a díky tomu hned první den zjistí, že v systému B je faktur méně, než v systému A. Teď není důležité, proč se to stalo. Hlavní je zjistit, která faktura chybí. Kontrola je ale tak náročná, že celá radost z ušetřené práce je pryč. Požadavek je jasný. Buď zajistit, že faktury budou vždy všechny, nebo ukázat, jak jednoduše najít ty nedoručené.
Zaručit, že vždy a za všech okolností doručíme vše, je milá a bohužel naivní představa. Kdo může zaručit, že automobil s nákladem dorazí za všech okolností? Můžeme zvýšit pravděpodobnost dobrým servisem, ale riziku havárie úplně zabránit nemůžeme. Měli bychom ale mít plán, co dělat, když nehoda nastane.
Možností pro záložní plán lze většinou najít celou řadu. My se rozhodneme tak, že systém B potvrdí přijetí každé faktury systému A, který si je označí.
Tím jsme ušetřili skutečně hodně práce a přinesli jsme do fakturačního procesu určitý komfort. Stále je tu ale prostor pro vylepšení. S naším řešením je zatím nutné ručně kontrolovat, zda se nějaká faktura nepřenesla. A to znamená, že někdo na kontrolu musí stále myslet. To, co jsme vytvořili, je pouze poloviční automatizace. Jak bychom mohli situaci zlepšit?
Jednoznačně notifikací, pokud se některou fakturu nepodaří doručit. V takovém případě budeme chtít někoho informovat. Je teď podružné, jaký komunikační kanál nakonec zvolíme. Určitě ale chceme odeslat zprávu.
Nyní, když se nám nepodaří doručit fakturu do systému B, odešleme o vzniklé události notifikaci. Jenže když nepřijde zpráva, co to znamená? Že je vše v pořádku, nebo že nefunguje celé integrační řešení a tedy neodesílá ani zprávy? Abychom si byli opravdu jistí, uděláme ještě jedno opatření. Ve chvíli, kdy dávkově zpracujeme všechny faktury, zavoláme znovu systém A a zeptáme se ho na nepřenesené faktury. Výsledek nakonec reportujeme. Proces spouštíme jednou denně a report musí přijít vždy, když proces doběhne. Pokud nedorazí report, víme, že musíme zkontrolovat stav integrací.
Takto nějak může vypadat integrace v praxi. Na jednoduchém příkladu jsme si ukázali, že pravý smysl integrací není jen přenesení dat, ale především ušetření zbytečné práce. A právě proto je skutečná podoba integrací ve většině případů řízený proces s řadou po sobě jdoucích akcí a vlastní logikou, nikoli pouhé propojení dvou bodů.
Jistě lze namítnout, že účetní zvládne kontrolu přenesených faktur ručně a bez složitého procesu se obejdeme. Jistě i ta jednoduchá varianta přináší v některých případech přidanou hodnotu a vždy je dobré začít alespoň nějak. Měli bychom ale myslet na budoucnost a přinejmenším si ve zvoleném řešení a jeho návrhu nezavřít cestu pro budoucí rozvoj. Jakmile dokončíme první etapu, další podněty se zcela jistě objeví.