Integracja bez strat, czyli jak bezpiecznie wejść do e-commerce

Dla przedsiębiorców, którzy posiadają jedynie doświadczenie z rynku tradycyjnego, otwarcie internetowego kanału sprzedaży, wydaje się być prostym zadaniem. Niewielu z nich zdaje sobie sprawę, że e-commerce jest osobnym bytem, który ze względów wydajnościowych i bezpieczeństwa, musi być odseparowany od istniejącego systemu zarządzającego działaniem firmy.


 REKLAMA 
 Baner srodtekstowy350x350 strona KSeF 
Problemów z integracją tych systemów jest kilka. Zaczynając od tego, że sklep internetowy operuje na własnej strukturze danych, która zazwyczaj różni się od tej obecnej w ERP. Stąd potrzebna jest dodatkowa warstwa w postaci usług integracyjnych, odpowiedzialna za przetwarzanie danych w taki sposób, aby oba systemy mogły się sprawnie komunikować. To dopiero początek wyzwań związanych z procesem przechodzenia z trybu offline na online.

1. Ujednolicamy dane

W handlu tradycyjnym, firma generuje ogromne ilości danych, które najczęściej przechowywane są w postaci nienadającej się do wykorzystania online. Oferta produktowa istnieje w formie plików PDF lub długiego opisu, na podstawie których nie da się stworzyć narzędzi pozwalających klientowi na wygodne filtrowanie asortymentu prezentowanego w sklepie. Zdjęcia przechowywane są z kolei w katalogach o nieujednoliconych nazwach, a ich jakość nie pozwala na odpowiednią ekspozycję oferowanych produktów. Polityka cenowa nie jest ściśle ustalona, bo często ostateczna cena jest efektem negocjacji klienta z handlowcem. W końcu dane, na których operowało jedynie wąskie grono pracowników firmy muszą zostać odpowiednio ustandaryzowane i zdygitalizowane, aby móc regularnie zasilać sklep internetowy. Dopiero mając uporządkowane te treści, można myśleć o sprawnym imporcie danych.

2. Odwzorujemy proces zakupowy

Trendy na rynku internetowym wymuszają na projektantach maksymalne uproszczenie procesu zakupowego od strony klienta przy jednoczesnej automatyzacji procesów po stronie sprzedawcy. Takie podejście pozwala na zwiększenie ilości zamówień, umożliwiając obniżenie kosztów związanych z ich obsługą. Może się to odbyć jedynie poprzez przeniesienie zadań wykonywanych do tej pory przez obsługę sklepu tradycyjnego na istniejący system informatyczny. Projektując funkcjonalności dla powstającego e-commerce, które umożliwią mu spełnienie oczekiwań wymagającego środowiska, jakim jest rynek online, musimy zastanowić się, czy istniejący system zarządzający działaniem firmy będzie w stanie sprostać naszej kreatywności. W większości przypadków, bowiem sklep internetowy jest nowym kanałem sprzedaży, istniejącym równolegle, bądź będącym uzupełnieniem dla tradycyjnych form zawierania transakcji. Sprzedaż online ze względu na swoją specyfikę powoduje dodatkowe obciążenia istniejącego systemu informatycznego w firmie. Warto zauważyć przy tym, że niezależnie od asortymentu proponowanego w sklepie, duża aktywność przyszłych klientów dokonujących zakupów online przypadać będzie na godziny, w których zawierane są również wszystkie transakcje na rynku tradycyjnym.

3. Pracujemy nad wydajnością

Przecenianie możliwości istniejącej infrastruktury informatycznej może doprowadzić do groźnej sytuacji, w której przeciążony system nie będzie w stanie poprawnie obsługiwać żadnego z kanałów sprzedaży, co przyczyni się do całkowitego paraliżu firmy. Szczególnie trudne w ocenie przyszłego obciążenia po uruchomieniu sklepu internetowego są aplikacje dedykowane oraz systemy zarządzania takie jak ERP, CRM czy WMS, które swoją premierę miały w latach 90. Systemy te w cyklu swojego życia przechodzą wiele modyfikacji w stosunku do swoich pierwotnych założeń. To powoduje powstawanie zależności w dotychczasowej strukturze danych, co znacząco obniża ich wydajność. Teraz wyobraźmy sobie jakie problemy z wydajnością pociąga za sobą sytuacja, w której system e-commerce pyta ERP za każdą odsłoną o stan magazynowy.

Rozwiązaniem znacząco obniżającym obciążenie systemów wewnątrz przedsiębiorstwa, które stosujemy we wdrożeniach Unity.Commerce jest interwałowy, przyrostowy i ukierunkowany na konkretny zakres danych import oraz eksport. Polega on na regularnej synchronizacji całości lub – w przypadku, gdy system zarządzający posiada wersjonowanie zmian (np. edycja pozycji zamówienia w systemie ERP odnotowuje dokładną datę takiej zmiany) – tylko zmienionej lub dodanej części danych do sklepu internetowego. Interwał uruchamiający przekazywanie danych jest dostosowywany do ich charakteru. W przypadku danych zmieniających się dynamicznie jak np. stany magazynowe czy cenniki, w zakresie których aktualne wersje powinny być widoczne krótko po zmianie, interwał jest możliwie najkrótszy. Natomiast biorąc pod uwagę dane zmieniających się rzadko, synchronizacje można przeprowadzać np. raz dziennie. Oczywiście nie da się uniknąć sytuacji, w których część operacji, jakie wykonuje klient dokonujący zakupów online musi być potwierdzana niezwłocznie przez ERP. Powinny być one jednak w miarę możliwości ograniczane lub zastępowane mechanizmami offline asynchronicznymi.

4. Nie pozwól klientowi czekać!

Projektując tego typu proces, musimy wziąć pod uwagę przede wszystkim czas, w jakim sklep internetowy będzie w stanie otrzymać odpowiedź z systemu zarządzającego. Pamiętajmy, że po drugiej stronie mamy wymagającego klienta, który z pewnością nie odwiedza naszego sklepu w celu podziwiania animacji ładowania strony. Jeżeli przy niewielkim obciążeniu odpowiedź z ERP dostarczana jest dopiero po kilku sekundach, to najlepszym wyjściem z takiej sytuacji jest całkowita rezygnacja z danej funkcjonalności. Bardzo dużą wadą tego rozwiązania jest również fakt, że uniemożliwiają one przejście procesu zakupowego na sklepie w momencie, w którym występują problemy z komunikacją na linii e-commerce ERP (problem z połączeniem, awaria ERP lub brak w odpowiedzi w przewidywanym przedziale czasowym). Jeżeli zarządzanie daną funkcjonalnością nie może zostać przeniesione bezpośrednio na sklep, a także nie można w żaden sposób stworzyć procesu, który wykorzystywałby dane archiwalne musimy liczyć się z tym, że jakakolwiek awaria systemu ERP czy planowane wyłączenie (np. inwentaryzacja) będzie generowała straty i zniechęcała potencjalnych klientów odwiedzających w tym czasie nasz sklep internetowy do ponownej wizyty.

Okiem programisty

W trakcie pracy często spotykam się z sytuacjami, w których na etapie projektowania i implementacji e-commerce nie dopuszcza się jakichkolwiek możliwości modyfikacji istniejących procesów biznesowych. Obawy i uwagi osób technicznych odpowiedzialnych za utrzymanie integrowanego systemu, lub sygnały pochodzące od samego wykonawcy sklepu często są świadomie pomijane lub wręcz traktowane, jako jedno z głównych zagrożeń projektowych. Tego typu podejście wymusza na programistach tworzenie nie do końca bezpiecznego i spójnego z pozostałymi elementami systemu kodu. Tymczasem, aby uniknąć takich problemów jak niedostępność sklepu, przywracanie kopii bazy danych, ponowne ręczne wprowadzanie danych czy czasowa dezorganizacja firmy, wystarczy właściwe zaplanowanie architektury integracji już we wstępnych fazach projektu.

Łukasz Babiarz .NET Leader & Developer w Grupie Unity, gdzie współpracuje z czołowymi klientami firmy, głownie w zakresie integracji systemów e-commerce.

PRZECZYTAJ RÓWNIEŻ:


Back to top