Aby redakčný systém – CMS (Content Management System), na ktorom je e-shop či web postavený, fungoval s ERP systémom bez problémov, vynára sa do popredia jasná otázka. Staviť na priamy prístup do databázy ERP alebo zvoliť radšej API rozhranie, pomocou ktorého chod týchto dvoch systémov zosúladiť?
V nasledujúcom článku sme zhrnuli výhody a nevýhody oboch riešení. Tie často predstavujú hlavné parametre, ktoré je potrebné citlivo zvážiť tak, aby bola zvolená tá najvhodnejšia možnosť.
Neexistuje uniformné riešenie. S čím treba rátať pri priamom prepojení databázy ERP s CMS systémom?
Prelúskať sa dokumentáciou k ERP nie je jednoduché. S dobrou podporou to však ide ako po masle
V prvom kroku všetko stojí a padá na dokumentácii. Existujú dva extrémy, ktoré hneď na začiatku prepojenia dokážu veci značne skomplikovať. Prvým je, ak žiadna dokumentácia nie je. Tým druhým, len o kúsok potešujúcim je, ak dokumentácia existuje, avšak v takej rozsiahlej podobe, že prelúskať sa ňou trvá večnosť. Práve príliš rozsiahle dokumentácie, z ktorých napokon programátor potrebuje len zlomok informácií, zaberajú množstvo času, ktorý môže venovať priamo vývoju prepojenia.
Platí totiž, že modelové situácie neexistujú. Hoci by sa mohlo zdať, že sa dokumentáciou ERP systému stačí prehrýzť raz, opak je pravdou. Takmer každé riešenie má u konkrétneho klienta nejaké úpravy či prispôsobenia, ktoré je potrebné zohľadniť aj pri vytváraní prepojenia medzi ERP a CMS-kom.
Riešenie dokáže poskytnúť dobrá podpora zo strany ERP systému, ktorá bez problémov vývojárov nielen usmerní, ale vie najmä promptne reagovať na ich otázky.
Aby “komunikácia” neviazla, treba byť obozretný pri kódovaní špeciálnych vstupov
Najznámejšie databázy – MSSQL, Postgres, MySQL a i., používajú k sprostredkovaniu komunikácie pri priamom prepojení s CMS systémom knižnice. Tie sú síce zväčša dobre spravované, avšak problém môže nastať v kompatibilite medzi jednotlivými verziami alebo podporovanými funkciami.
Obozretnosť je na mieste napríklad v prípade detailov, akým je “poznámka k objednávke.” Keďže je tento vstup ťažšie kontrolovateľný, kameňom úrazu môže byť detail, akým je kódovanie. MSSQL pracuje často v režime kódovania Win1250 v unixovom prostredí a PHP, naopak, používa takmer výhradne UTF8. Hoci sa knižnice snažia problém s kódovaním pri prepojení na MSSQL databázu riešiť, považovať túto oblasť za bezproblémovú je skutočne optimistické.
Na scénu vstupuje VPN. Avšak niekedy ako ďalší možný zdroj komplikácií pri priamom prepojení
VPN (Virtual Private Network) prepojenie je považované za bezpečný spôsob, ako prepojiť CMS a ERP systém napriamo. Je však potrebné si uvedomiť, že to nie je len nositeľ informácií alebo ich sprostredkovateľ, ale aj ďalšia súčasť fungujúceho celku, o ktorú sa treba postarať. V preklade to znamená nakonfigurovať, spravovať, udržiavať a taktiež pravidelne aktualizovať.
Napokon platí, že aj VPN môže byť zdrojom nepríjemných komplikácií, ktoré môžu ohroziť funkčnosť celého systému. Ako príklad uvedieme problém s rýchlosťou prenosu, bezpečnosť alebo objem prenášaných dát, ktoré treba, spolu so spomínanými pravidelnými aktualizáciami, vziať do úvahy.
Aj databáza žije svojím životom. Dôležité je zmeny v nej odkomunikovať na všetkých frontoch
Databáza ERP systému nie je nemenný systém. Je bežnou realitou, že nastávajú zmeny napríklad v jej štruktúre a stĺpcoch. Tie môžu nielen neustále vznikať, ale i kompletne zaniknúť. Podobne sú na tom vzťahy, ktoré sú medzi jednotlivými stĺpcami zadefinované alebo typy dát, ktoré sú jej obsahom.
To, čo dokáže eliminovať problémy spôsobené zmenami v databáze, je opäť raz komunikácia medzi správcami systémov ERP a CMS. V dostatočnej miere, ale i časovom predstihu. To všetko s dôrazom na čo najmenšiu, ideálne žiadnu mieru ohrozenia funkcionality webstránky. Svetlým príkladom, v ktorom aj takáto zle odkomunikovaná “drobnosť” dokáže riadne narušiť proces fungovania, je B2B segment. Problém alebo chyba v objednávaní má totiž veľký vplyv na ďalšie dodanie zákazníkovi, ktoré predajca garantuje.
Priamy prístup do databázy ERP systému ponúka neobmedzené možnosti
Nepopierateľným pozitívom je, že priame prepojenie ERP a CMS, bez potreby API rozhrania, ponúka doslova voľné pole pôsobnosti. Znamená to, že je možné načítať nielen všetky požadované dáta, ale taktiež aj vzťahy medzi nimi. Odpadá tým teda potreba pridávať nové endpointy a akcie či akúkoľvek podporu pre API.
Žiadne API? Treba však rátať s vyššími nárokmi na prevádzku ERP
Z uvedeného možno vyčítať, že ak si odmyslíme negatíva, prepojenie CMS a ERP napriamo môže byť vlastne lepším riešením, ktoré navyše ponúka možnosti načítať dáta z databázy ERP systému bez obmedzení. Keď si predstavíme rozhranie API ako nejakú ďalšiu “prekážku” medzi fungujúcim CMS-kom a dátami z ERP, ktorá môže mať navyše rýchlostné, výkonové či objemové obmedzenia, vyznie priame prepojenie CMS-ka a databázy skutočne ako ideálne riešenie.
Avšak, pozor…
Práve všetky spomenuté body priamo úmerne zvyšujú nároky na prevádzku ERP systému. Príkladom je kvalitný support a promptná komunikácia s programátormi na strane CMS systému, správa VPN-ka, vysvetľovanie dokumentácie či kontrola kódovania v knižniciach databázy a časové zladenie.
Nuž, a napokon sú v hre aj technické faktory, akým je vyťaženia servera, na ktorom ERP beží. Môže sa tiež stať že SQL príkazy na databázu budú práve z dôvodu nedokonalej znalosti systému integrátora pomalé či neefektívne, čo môže v konečnom dôsledku taktiež neúmerne vyťažovať ERP systém.
Dokonalé riešenie teda neexistuje. Navyše platí, že každé prepojenie ERP systému s kvalitným CMS, je skutočne iné. Rozhodnúť sa, či sa vydať skôr cestou priameho prístupu do databázy alebo prepojiť tieto dva celky pomocou API, znamená dôkladne zvážiť všetky pre a proti, ktoré sme v článku uviedli.
ui42 je one-stop shop webová agentúra zameraná na e-commerce na Slovensku a v zahraničí. Pod jednou strechou sa nachádza tím špecialistov z oblasti vývoja, UX a marketingu, ktorý pomáha svojim klientom dosahovať exponenciálny rast v online priestore. Venujeme sa vývoju webových stránok, B2C aj B2B e-shopov a dizajnovaniu funkčných digitálnych produktov určených koncovým používateľom.