W chwili obecnej na całym świecie przeciętna firma warunkuje swoje istnienie od działania przynajmniej kilku aplikacji internetowych lub desktopowych. Pomijam fakt, że wszyscy pracownicy przeciętnej firmy mają laptopy i telefony z wieloma programami, bez których efektywna praca byłaby niemożliwa. Oprócz tego, firmy korzystają z zaawansowanych systemów informatycznych obsługujących wiele procesów: sprzedaż, wysyłka, faktury, magazyn, kontakt z klientem etc. Przedsiębiorstwo, w którym zarządzanie poszczególnymi działami jest wspomagane sprytnie zbudowaną siecią takich systemów, ma znacznie większe szanse na osiągnięcie wysokiej efektywności, a co za tym idzie sukcesu w swojej branży.
Na rynku istnieje wiele „kombajnów” do uniwersalnego zarządzania różnego rodzaju procesami, niemniej jednak nawet najbardziej wszechstronne programy muszą być stale sprzężone z innymi systemami, chociażby zewnętrznymi. Przykładem może być np. SAP – jeden z największych systemów ERP na świecie, posiadający mnóstwo dodatków. W każdej chwili gdzieś na Ziemi pisane są pluginy do tego oprogramowania, które integrują je z innymi serwisami – aukcyjnymi, kurierskimi, reklamowymi, a także z konkretnymi hurtowniami, sklepami internetowymi, systemami poszczególnych dystrybutorów i dostawców. Stała transmisja danych jest obecnie nieodłącznym elementem Wszechświata.
Dlatego właśnie dzisiejszy rynek e-commerce cechuje się bardzo dużym zapotrzebowaniem na różnego rodzaju integracje. Integracja z systemem kurierskim umożliwia szybkie zamawianie wielu przesyłek naraz, bez tego wiele firm nie byłoby w stanie funkcjonować. Integracja z systemami bankowymi to konieczność. Integracja z programem magazynowym jest w większości przypadków również po prostu wymagana. Integracja z narzędziami do analizy i marketing automation pozwala na zmaksymalizowanie zysków. Do tego dochodzą różnego rodzaju mniejsze połączenia: Allegro, Ebay, Ceneo, Google, Facebook, Freshmail.
INTEGRACJA SKLEPU INTERNETOWEGO Z HURTOWNIĄ
Integracja z hurtownią daje sprzedawcy wiele możliwości – szybki import produktów do sklepu, automatyczna aktualizacja oferty, mapowanie kategorii, automatyczne tłumaczenie wybranych fraz na języki obce. Jeśli dostawca obsługuje dropshipping, obsługę sklepu można zredukować do minimum. System automatycznie wysyła do hurtowni zamówienie w momencie jego złożenia, produkty są wysyłane do klienta końcowego praktycznie bez udziału sprzedawcy. Stany magazynowe i ceny produktów mogą być na bieżąco aktualizowane, co eliminuje problemy typu brak zamówionego towaru na magazynie lub niewłaściwa cena sprzedaży. Administrator może nałożyć marże na towary z hurtowni wg różnych kryteriów, np. kategorii, producenta. Integracja może automatycznie utworzyć drzewo kategorii i filtrów wyszukiwania, co w przypadku setek produktów byłoby bardzo uciążliwe do ręcznego wprowadzenia. Filtry mogą być automatycznie tłumaczone na inne języki, co w przypadku wielojęzycznego sklepu skraca wiele godzin żmudnej pracy do minimum.
JAK TO WYGLĄDA W PRAKTYCE
Typowa integracja pobiera dane z hurtowni za pomocą pliku XML lub łączy się z systemem API umożliwiającym pobranie oferty. Dane te są następnie przetwarzane wg aktualnej konfiguracji, którą ustawia się zwykle w panelu administracyjnym integracji. Jest to np.: filtrowanie niechcianych producentów, tłumaczenie nazw produktów, mapowanie kategorii, tworzenie kryteriów wyszukiwania itd. Następnie produkty są dodawane lub aktualizowane, jeśli istnieją już w sklepie. Zawsze wymagany jest uniwersalny klucz, aby móc zidentyfikować produkty w źródle danych (hurtowni) oraz systemie docelowym (sklepie). Zwykle jest to kod produktu. Raport o wykonanej aktualizacji jest zapisywany w logach, w przypadku błędów zostaje wysłane powiadomienie mailowe.
Oczywiście integracje mogą być bardzo różne. Nieraz wymagana jest tylko aktualizacja lub tylko dodawanie produktów. Czasami niektóre elementy nie są ruszane w ogóle – np. opisy produktów, kategorie. Niektórzy dostawcy w ogóle nie udostępniają wielu danych, np. kategorii, opisów, zdjęć. Wiele firm korzysta z usług kilku lub kilkunastu dostawców naraz, wtedy bardzo często integracja pobiera dane od wszystkich i wybiera dostawcę, u którego dany produkt jest dostępny najtaniej. Występują również integracje, w których dane o dostępności produktów są pobierane w locie, w momencie przeglądania oferty przez użytkownika sklepu, aby zredukować ryzyko zakupienia niedostępnego produktu do zera.
Niemniej jednak typowa integracja ma 2 tryby: aktualizacja stanów magazynowych i cen oraz dodawanie produktów. Dodawanie produktów odbywa się np. co 24 godziny. Aktualizacja może wykonywać się częściej – np. co godzinę. Cały proces bywa zupełnie bezobsługowy – administrator nie ingeruje w stan produktów dodanych przez integrację, są automatycznie wystawiane na sprzedaż w sklepie. Często zdarza się jednak, że zalecana jest ręczna ingerencja. Oznacza to, że nowe produkty lądują w roboczej kategorii jako nieaktywne, a administrator sklepu zmienia opisy i/lub uzupełnia dane, których dostawca nie udostępnia.
JAK TO MOŻE DZIAŁAĆ ZA 100 LAT
Pomijając pytanie, czy za 100 lat w ogóle będą istniały sklepy internetowe w formie zbliżonej do obecnej, uważam, że oprogramowanie do integracji systemów informatycznych będzie nadal absolutnie konieczne i wysoce zaawansowane technologicznie. Wynika to z konieczności komunikacji między niezależnymi programami. Wątpię, że stworzymy kiedyś zunifikowany system zawierający dane o wszystkim i umożliwiający dokonanie dowolnych operacji. Sądzę jednak, że prawdopodobnie w przyszłości w/w komunikacja będzie realizowana w sposób bardzo spójny i jednolity. Systemy API, generatory plików etc zostaną zastąpione jednakowym na całym świecie standardem wzajemnego połączenia. Mniej więcej tak, jak obecnie port USB. Zaawansowany system obsługi magazynu będzie mógł połączyć się z aplikacją do gry w pokera w dokładnie taki sam sposób, jak np. z globalnym systemem kurierskim. Programiści z całego świata będą udoskonalać standard komunikacji, co zresztą ma miejsce już teraz. Podejrzewam, że ta dziedzina mocno wyewoluuje.
Na chwilę obecną takich standardów jest niezliczona ilość. Niektóre są bardzo popularne np. REST, ale nie załatwiają wszystkiego. REST to tylko protokół, do całości połączenia potrzebne jest wiele innych elementów. Poza tym większość aplikacji ma swoje własne, zaprogramowane metody interakcji z innymi systemami i do wykonania integracji potrzebna jest dokładna znajomość obu programów. Zunifikowany standard na tej płaszczyźnie przyniesie wiele ogólnych korzyści: jeszcze większą aktualność publicznie dostępnych danych, nieprawdopodobnie szybszy rozwój oprogramowania, możliwość tworzenia o wiele bardziej zaawansowanych systemów, automatyzację większej ilości procesów. Brzmi dość… ogólnie, ale to świadczy tylko o tym, że metody komunikacji między aplikacjami to jedna z kluczowych kwestii w świecie komputerów.