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í.