Aby nám fungoval redakční systém (CMS, Content Management System), na kterém je e-shop či web založen, dříve či později se vynoří jasná otázka – je lepší jít cestou přímého přístupu do databáze ERP, nebo raději zvolit API rozhraní, pomocí kterého můžeme chod ERP a CMS systému zesynchronizovat?
V následujícím článku jsme shrnuli výhody a nevýhody obou řešení. Ty často představují hlavní parametry, které je třeba důkladně zvážit a následně nalézt tu nejvíce vyhovující možnost.
Neexistuje uniformní řešení. S čím je třeba při přímém propojení databáze ERP a CMS počítat?
Prokousat se dokumentací k ERP není jednoduché, s dobrou technickou podporou to ale jde jako po másle
Jako první krok je třeba si uvědomit, že vše stojí a padá na dokumentaci. Existují zde dva extrémy, které mohou vše zkomplikovat hned na samém počátku procesu propojení. Prvním je situace, kdy žádná dokumentace neexistuje. Druhý, o něco menší extrém pak je dokumentace, která sice existuje, ale vzhledem k její délce by její prostudování trvalo celou věčnost. Právě příliš rozsáhlá dokumentace, ze které programátor využije jen malou část, může zabrat mnoho času, který by se jinak dal věnovat přímému vývoji propojení.
Platí zde totiž, že modelové situace neexistují. Ačkoliv by se totiž mohlo zdát, že stačí pouze „prokousat“ se dokumentací k danému ERP systému, opak je pravdou. Téměř každé řešení má u konkrétního klienta nějaké úpravy či přizpůsobení, které je třeba zohlednit i při vytváření propojení mezi ERP a CMS.
Řešení tohoto problému vám poskytne dobrá podpora ze strany ERP systému schopná nejen usměrnit vývojáře, ale také promptně reagovat na jejich otázky.
Aby „komunikace nevázla, je třeba být obezřetný při kódování speciálních vstupů
MSSQL, Postgres, MySQL a další nejznámější databáze k zprostředkování komunikace využívají při přímém propojení s CMS systémem knihovny. Ty jsou většinou dobře zpracované, problémem se ale může stát kompatibilita mezi jednotlivými verzemi či podporovanými funkcemi.
Na pozoru je třeba být i ohledně detailů jakými jsou například „poznámka k objednávce“. Jelikož lze tento vstup hůře kontrolovat, může se zde stát kamenem úrazu i detail v kódování. MSSQL obvykle v prostředí Unixu používá kódování Win1250, zatímco PHP spoléhá prakticky výhradně jen na UTF-8. Ačkoliv se pak knihovna snaží problém s kódováním řešit při propojení na MSSQL databázi, je skutečně optimistické považovat tuto oblast za bezproblémovou.
Na scénu vstupuje VPN, někdy ovšem jako další možný zdroj komplikací při přímém propojení
Propojení přes VPN (Virtual Private Network) propojení je považováno za bezpečný způsob, jak propojit CMS a ERP systém napřímo. Je však potřeba mít na paměti, že se nejedná pouze o nosič či zprostředkovatele informací, nýbrž o další součást fungujícího celku, o kterou je třeba se postarat. V překladu to znamená zejména nakonfigurovat, spravovat, udržovat a rovněž i pravidelně aktualizovat.
Stejně tak platí, že i VPN může způsobit nepříjemné komplikace ohrožující funkčnost celého systému. Jako příklad lze uvést problémy s rychlostí přenosu, bezpečností či objemem přenášených dat, které je třeba brát v úvahu společně s výše zmíněnými pravidelnými aktualizacemi.
I databáze žije vlastním životem. Důležité je změny v ní komunikovat na všech frontách
Databáze ERP systému není neměnný systém a běžně se stává, že nastanou změny například ve struktuře a sloupcích. Ty mohou nejen neustále vznikat, ale také kompletně zanikat. Podobně je to i se zadefinovanými vztahy mezi jednotlivými sloupci či typem dat tvořících jejich obsah.
Řešením schopným eliminovat problémy způsobené změnami v databázi je zde opět komunikace mezi správci systému ERP a CMS, a to v dostatečné míře i časovém předstihu. Důležitý je také důraz na co nejmenší (ideálně žádnou) míru ohrožení funkcionality webových stránek. Dobrým příkladem toho, jak může tato „drobnost“ při špatné komunikace narušit proces fungování systému, je B2B segment. Případný problém či chyba v objednávce mají totiž velký vliv na dodání zboží zákazníkovi, které prodejce garantuje.
Přímý přístup do databáze ERP systému nabízí neomezené možnosti
Nezpochybnitelným pozitivem zde je, že přímé propojení ERP a CMS bez využití API rozhraní nabízí doslova neomezené možnosti. Lze tedy načítat nejen všechna požadovaná data, ale rovněž i vztahy mezi nimi. Odpadá tím nutnost přidávat nové endpointy a akcie, případně jakoukoliv podporu pro API.
Žádné API? Je třeba počítat s vyššími nároky na provoz ERP
Z výše uvedeného vyplývá, že pokud dáme stranou negativa, může přímé propojení CMS a ERP představovat lepší řešení nabízející navíc i možnost bez omezení nahrávat data z databáze ERP systému. Když si pak mezi CMS a daty z ERP představíme rozhraní API v roli jakési „překážky“, vyzní přímé ERP-CMS propojení jako ideální volba.
Ale pozor!
Všechny zmíněné body přímou úměrou zvyšují nároky na provoz ERP systému. Vyžadují totiž kvalitní technickou podporu, rychlou komunikaci s programátory CMS systému, správu VPN, potřebu vysvětlení dokumentace, případně i kontrolu kódování v knihovnách databáze a časové synchronizace.
V neposlední řadě je pak třeba myslet i na technické faktory jako jsou například vytížení serveru, na kterém ERP běží. Také může nastat situace, kdy SQL příkazy na databázi budou kvůli nedostatečné znalosti systému integrátora pomalé či nefektivní – a to může v konečném důsledku ERP systém taktéž neúnosně zatěžovat.
Dokonalé řešení tedy neexistuje. Navíc zde platí, že každé propojení ERP systému s kvalitním CMS je jiné. Rozhodnutí, zda se vydat cestou přímého přístupu do databáze či tyto dva celky propojit s pomocí API, obnáší především důkladné zvážení všech výše uvedených pro a proti.