Integracje są ważnym elementem rozwiązań eCommerce. Dzięki mechanizmom synchronizacji wymiana danych między różnymi narzędziami informatycznymi przedsiębiorstwa może odbywać się w sposób szybki i autonomiczny. Dzięki temu kupujący mogą zawsze mieć dostęp do najbardziej aktualnych stanów magazynowych, a ich zamówienia będą przekazywane do realizacji bez zbędnej zwłoki. Co więcej, synchronizacja jest przydatna nie tylko tam, gdzie liczy się natychmiastowa reakcja na aktualizacje i zdarzenia.
Integracje z oprogramowaniem PIM czy CRM pozwalają uniknąć zbędnej pracy przy przenoszeniu danych do platformy sprzedażowej eCommerce, dzięki czemu w dalszym horyzoncie czasowym można znacząco obniżyć koszty związane z działalnością sklepu. Dodatkowym atutem automatyzacji tego procesu jest eliminacja ryzyka pomyłek związanych z ręcznym przepisywaniem. Wszystko to razem powoduje, że platforma jest w stanie zaoferować spójny, wysokiej jakości proces sprzedażowy, co wpływa na pozytywny odbiór przez klientów.
Jednak aby integracja mogła działać niezawodnie, konieczne jest spełnienie kilku założeń. Mechanizmy synchronizacji danych muszą oferować wysoką wydajność, aby umożliwić szybką reakcję na zachodzące zmiany. Ponadto niezbędne jest, aby przy przenoszeniu danych z jednego oprogramowania do drugiego następowało odpowiednie „tłumaczenie” różnic pojęciowych i niuansów pomiędzy nimi. Na pierwszy rzut oka warunkiem koniecznym wydaje się również aktywne wsparcie dla mechanizmów integracyjnych przez producenta danego oprogramowania, ale czy tak jest w rzeczywistości? Jakie są możliwości i czym one się od siebie różnią?
Integracja za pomocą API
Interfejs programowania aplikacji (ang. application programming interface, API) jest dość powszechnym sposobem na wymianę danych pomiędzy systemem udostępniającym interfejs, a oprogramowaniem zewnętrznym. W przypadku eCommerce typowym jest udostępnienie wymiany danych za pomocą protokołu HTTP, gdzie komunikacja najczęściej odbywa się albo za pomocą protokołu SOAP i komunikatów XML, albo za pomocą komunikatów JSON w architekturze REST. Są to popularne standardy, wspierane przez wszystkie nowoczesne platformy i języki programowania co sprawia, że takie rozwiązania są uniwersalne i szeroko stosowane przy tworzeniu różnego rodzaju integracji. Jeśli dane oprogramowanie ERP oferuje API, najczęściej jest dołączona do niego dokumentacja oraz wsparcie producenta. Dzięki temu zaprogramowanie mechanizmów wymiany informacji z takim systemem nie powinno w teorii sprawiać kłopotu. Jedyną odpowiedzialnością właściciela eCommerce jest dostarczenie zespołowi wdrożeniowemu dostępu i dokumentacji do API. Na pierwszy rzut oka może się więc wydawać bardzo wygodne i atrakcyjne.
Jednak pomimo tych udogodnień, nawet przy zachowaniu ze strony zespołu eCommerce należytej staranności może dojść do sytuacji, w której synchronizacja zbudowana na podstawie dostarczonego API nie będzie pozbawiona wad. Na taką sytuację może złożyć się bowiem kilka czynników, które leżą poza jego kontrolą. Jednym z nich może być fakt, że wykorzystanie zewnętrznego API nierzadko wiąże się z dodatkowymi opłatami. Czasem jest to stały lub cykliczny koszt za samą możliwość dostępu, czasem opłata za zwiększenie okresowej puli lub możliwej częstotliwości wykonywania zapytań. Jeśli model opłat oparty jest o progi, może dojść do sytuacji, w której niewielki wzrost ruchu doprowadzi do niespodziewanego i skokowego wzrostu kosztów lub opóźnień integracji. Dodatkowym wydatkiem jest też konieczność każdorazowego angażowania zespołu wdrożeniowego w przypadku, gdy zajdzie konieczność zmian w logice biznesowej, lub gdy producent wprowadzi do oprogramowania niekompatybilne wstecz zmiany. Ponadto, o zakresie funkcjonalności interfejsu programistycznego decyduje dostawca rozwiązania zewnętrznego.
W konsekwencji, jeśli API nie umożliwia dostępu do danego modułu, lub też po prostu nie istnieje wcale, to zespół wdrażający integrację nie ma możliwości obejścia takiej przeszkody. Problemem może być też sytuacja, w której interfejs w teorii zapewnia pełen zakres konieczny do wykonania integracji, jednak implementacja producenta nie oferuje wymaganej wydajności. Co gorsza, jakość udostępnianych przez zewnętrznych dostawców API bywa różna i nie zawsze idzie w parze z renomą odpowiadającej za nie organizacji. Dokumentacje API są w wielu przypadkach nieaktualne, nieprecyzyjne, czasem opisują zachowanie systemu inne niż w rzeczywistości. Może to prowadzić w konsekwencji do nieprzyjemnych sytuacji, w których będzie dochodziło do prób przerzucania odpowiedzialności za błędy na platformę eCommerce, gdzie poprawność działania będzie uzależniona również od zewnętrznego dostawcy.
Zalety:
- Wykorzystuje uniwersalne rozwiązania i technologie
- Producent zewnętrznego oprogramowaniamoże udzielać wsparcia oraz dostępu do dokumentacji
- Wymaga jedynie niewielkiego zaangażowania od właściciela eCommerce
Wady:
- Możliwa jedynie, jeśli dostawca w ogóle oferuje odpowiednie rozwiązanie
- Może wiązać się z dodatkowymi kosztami utrzymania oraz rozbudowy
- Zakres, wydajność oraz jakość integracji zależy w dużym stopniu od strony trzeciej (producenta oprogramowania ERP)
Integracja za pomocą widoków bazodanowych
Ciekawą alternatywą może być wykonanie integracji z użyciem widoków bazodanowych. Polega ona na utworzeniu na serwerze bazodanowym widoków, które będą zgodne z ustalonymi wcześniej wytycznymi dotyczącymi nazewnictwa, zakresu i formatu prezentowanych danych. Dzięki temu platforma eCommerce może odpytać znaną sobie strukturę, aby pobrać z niej odpowiednie informacje.
Takie podejście oferuje szereg nowych możliwości. Między innymi pozwala na integrację z plaformami, które domyślnie nie oferują takiej funkcjonalności. W niektórych przypadkach stanowi więc jedyne sensowne rozwiązanie. Jednak niezależnie od tego, czy oprogramowanie ERP udostępnia interfejs programistyczny, czy też nie, to dodatkowym atutem może być fakt, że o zakresie danych udostępnianych do synchronizacji za pomocą widoków nie decyduje zewnętrzny dostawca. Integracja może więc obejmować wiele dostępnych w platformie eCommerce obszarów bez względu na to, jakiego narzędzia dotyczy.
Braki w interfejsie programistycznym udostępnianym przez producenta ERP nie stanowią tu przeszkody. Jednocześnie nakład pracy ze strony zespołu wdrożeniowego jest zminimalizowany zarówno na etapie wdrożenia, jak i w razie późniejszej modyfikacji lub rozbudowy sklepu. Nie ma konieczności ponoszenia wysokich kosztów tworzenia opcji dedykowanej danemu systemowi zewnętrznemu. Przy wykorzystaniu widoków ciężar odpowiedzialności i decyzyjności zdejmowany jest z dostawcy ERP, a w zamian rozkłada się na właściciela eCommerce oraz dostawcę oprogramowania. Zatem jeśli przygotowane widoki będą spełniać określone przez platformę wymagania, ryzyko wystąpienia problemów w procesie synchronizacji zostanie znacznie zmniejszone. Pozwala to na zapewnienie zwiększonej niezawodności integracji w stosunku do komunikacji z użyciem API, będącego interfejsem narzuconym z zewnątrz, niezależnym od platformy eCommerce.
Wdrożenie takiego rozwiązania jednak nie zawsze jest możliwe. Konieczny jest bezpośredni dostęp do bazy danych danego oprogramowania. Choć jest to możliwe w przypadku znacznej części ERP, to takiej opcji mogą nie oferować niektóre chmurowe platformy SaaS. Ponadto, z uwagi na przeniesienie ciężaru odpowiedzialności, w przypadku gdy firma nie posiada własnego zaplecza IT, konieczne może okazać się skorzystanie z usług konsultingowych. Dotyczy to zarówno etapu wdrożenia, jak i późniejszych dużych zmian wersji czy dostawców używanych programów zewnętrznych.
Pomimo że może to potencjalnie powodować niedogodności, jest to też po części zaleta tego rozwiązania. Dzieje się tak, ponieważ w tym modelu integracji tego typu zmiany stają się „transparentne” dla platformy eCommerce i nie wpływają na jej działanie, jeśli poprawność danych w widokach zostanie zachowana.
Zalety:
- Umożliwia integrację z niemal dowolnym rozwiązaniem
- Pozwala dopasować lub rozszerzyć zakres integracji
- Obniża koszty wdrożenia oraz rozbudowy platformy eCommerce
- Zmniejsza zależność od strony trzeciej
Wady:
- Wymaga dostępu do zewnętrznej bazy danych
- Po stronie właściciela sklepu wskazane jest zaangażowanie dedykowanej technicznej osoby/zespołu lub zewnętrznej firmy konsultingowej
Które rozwiązanie zatem wybrać?
Integracja to proces, który pozwala na wzajemną komunikację pomiędzy niezależnymi systemami informatycznymi. Wykorzystywane oprogramowanie będzie warunkowało koszty (lub możliwość) synchronizacji danym sposobem. W każdym przedsiębiorstwie stosowane są nieco inne rozwiązania, a zatem proces wyboru odpowiedniej metody integracji powinien brać pod uwagę indywidualną sytuację, jaka ma miejsce przy konkretnym wdrożeniu platformy eCommerce. Przed podjęciem decyzji o sposobie integracji warto mieć więc świadomość istnienia alternatywnych możliwości podejścia do tego zagadnienia.
Autorem tekstu jest Olaf Kryus.