Programování integrací IT systémů

S pronikáním IT do všech sfér businessu (od marketingu po výrobu) se objevují nové potřeby firem. Není neobvyklé, že se digitalizace a automatizace provádí ve firmě postupně podle priorit a rozpočtu. Vzniká tak často několik až mnoho systému, z nichž každý slouží svému účelu - účetní systém eviduje a vydává doklady, skladový systém spravuje zásoby, logistický systém řídí expedici, výrobní systém ovládá výrobní procesy, e-shop ukládá a spravuje proces objednávek.

Software v takovém případě sice prorostl celou firmou a zefektivnil její chod, ale jednotlivé systémy spolu nekomunikují - E-shop přijme objednávku, účetní zadá do účetního systému fakturu, skladník do svého systému zanese výdej zboží, výroba zadá výrobu produktu do svého systému atd. Místo 1 automatického procesu jsou 4 manuální kroky ve 4 systémech.

K obrovskému zefektivnění proto dochází propojením (integrací) systémů do jednoho velkého ekosystému. Nejde jen o úsporu času, ale také i minimalizaci selhání lidského faktoru. V modelovém případě o objednávce z e-shopu ví všichni zúčastnění, kterým se v jejich subsystémech automaticky nahraje relevantní informace o objednávce.

Integrace nemusí být plně automatické a mohou probíhat i přes webová rozhraní, kde se kontroluje přenos dat mezi systémy a případně se schvaluje.  Pokud se integrují mezi sebou 2 systémy třetích stran (ani jeden jsme nevyvíjeli my a nemáme přístup k jejich kódu), spoléhá se na rozhraní nebo možnostech, jak se k datům dostat. Vytváří se pak nová aplikace, která zajišťuje komunikaci mezi systémy. Integrace se zpravidla skládá z několika velkých částí:

  • "Napojení se" na vstupní a výstupní systém - tkví v hledání způsobu, jak data z prvního systému dostávat a jak naopak do druhého systému vložit. Překážky bývají v tom, že se k systému nelze jednoduše a spolehlivě připojit, protože například běží na fyzickém serveru na nestabilním připojení. Systém sám nemusí mít připravené exporty nebo rozhraní a hledá se tak způsob, jak data extrahovat a importovat.
  • Export dat ze vstupního systému - vytváří se algoritmus, který v reálném čase nebo periodicky "sahá" pro data do vstupního systému
  • Transformace dat - je vzácné, aby data vyexportovaná z jednoho systému šlo bez jakýchkoli úprav naimportovat do systému. Někdy je transformace dat ve znamení změn název sloupců v tabulce, jindy jde o velmi komplikovaný proces, kde se spojují data z různých databází a tabulek a připravuje se výsledný formát dat, který je možné importovat do cílového systému
  • Import dat do výstupního systému - Předpokládá, že je vyřešené připojení do koncového systému a že data jsou připravená ve formátu, kterému systém rozumí a je ho schopný zpracovat.

Integrace systémů patří k náročnějším projektům, při kterých je třeba dbát na robustnost a zabezpečení práce s daty. Během komunikace může dojít k celé řadě incidentů nebo výpadků a aplikace musí být připravena na to, že se v komunikaci problém objeví a minimálně událost zaznamená a informuje o jejím vzniku. 

Je třeba říci, že existují případy, kdy integrace není možná anebo by byla nedostatečně funkční, případně nerentabilní. Je proto vhodné vždy pečlivě analyzovat celé prostředí a zvážit rizika a alternativy, mezi které patří migrace na nové systémy, které integraci umožní nebo usnadní.

 

Chcete se dotknout víc než
špičky ledovce?

<Path> Layer 1