Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the polylang domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/html/wordpress/wp-includes/functions.php on line 6114
Modernizacja procesu sprzedaży oraz poprawa efektywności w Education First dzięki wykorzystaniu Salesforce

Modernizacja procesu sprzedaży oraz poprawa efektywności w Education First dzięki wykorzystaniu Salesforce

IT system refactoring
new logos

Education First jest ogólnoświatowym liderem z branży edukacyjnej, który od ponad 50 lat oferuje przełomowe możliwości w zakresie nauki języków obcych dla osób w każdym wieku, różnych narodowości i środowisk. Firma posiada ponad 600 biur w ponad 60 krajach na wszystkich kontynentach.

Wyzwania

W systemach informatycznych wraz ze wzrostem ilości funkcjonalności często wzrasta trudność w dodawaniu nowych. System staje się trudny w rozwoju, a koszta związane z utrzymaniem systemu zaczynają przekraczać koszty wprowadzania nowych funkcjonalności. Tego typu sytuacje najczęściej są bardzo złym znakiem ostrzegającym przed problemami.

System Education First już na początku wykazywał znamiona erozji – coraz częściej zaczęło dochodzić do przekroczenia limitów platformy. Było to spowodowane nieprawidłowym wykonaniem funkcjonalności i prowadziło do uszkodzenia danych. Celem projektu było osiągnięcie szeroko idącej skalowalności, która umożliwiłaby stabilną pracę przy jednoczesnym obciążeniu na poziomie kilku tysięcy użytkowników i napływie do kilkudziesięciu do kilkuset tysięcy rekordów dziennie. Oczywiście wszystko to przy zachowaniu nieprzerwanej pracy systemu oraz wysokiego poziomu rozszerzalności.

Rozwiązania

Wysokie wymagania wymuszały szeroki zakres zmian w architekturze systemu. Jednym ze sposobów podnoszenia produktywności jest wprowadzanie do zakresu projektu fazy refaktoryzacji – iteracyjnej modyfikacji kodu, która nie powoduje zmian funkcjonalnych. Celem procesu refaktoryzacji jest poprawienie atrybutów jakościowych systemu, takich jak łatwość utrzymania, rozszerzalność, wydajność, skalowalność, obserwowalność, poprawa produktywności oraz elastyczność.

W ramach projektu przygotowano plan priorytezujacy te zadania, które wymagały najmniejszej ilości pracy, dając jednocześnie najlepsze rezultaty. W każdym sprincie wprowadzono od 10 do 30% zadań technicznych w taki sposób, aby nie kolidowały z implementacją nowych wymagań biznesowych.

W celu spełnienia potrzeb Education First zdecydowano się na zbudowanie modułu ułatwiającego optymalizowanie wykonywania funkcjonalności oraz redukującego ilość operacji bazodanowych. Wprowadzono moduł naśladujący działanie Messaging Queues oparty o Salesforce Platform Events, a także wprowadzono mechanizmy logowania błędów oraz śledzenia ilości i szybkości wywołań asynchronicznych, stanu kolejek systemowych, limitów platformy i stanu głównych procesów automatycznych w systemie.

Efekty

Proces refaktoryzacji z biegiem czasu bardzo ułatwił utrzymanie i rozwój systemu, a także w znaczący sposób wyeliminował błędy i utrudnił powstawanie nowych. Realizacja projektu pozwoliła na:

  • zwiększenie szybkości i wydajności – ułatwiono optymalizowanie funkcjonalności, zredukowano ilość cyklicznych zależności w logice, przeniesiono większość funkcjonalności do kodu
  • poprawę skalowalności – umożliwiono kolejkowanie zadań oraz ich przetwarzanie w przypadku wystąpienia błędów, zastosowano mechanizm wywołań, pozwalający na dobór odpowiedniej strategii w zależności od kontekstu wywołania,
  • lepszą obserwowalność – wprowadzono mechanizmy logowania błędów oraz śledzenia ilości i szybkości wywołań, limitów platformy i stanu głównych procesów w systemie; generowane raporty pokazują co aktualnie dzieje się w systemie od strony technicznej,
  • zwiększenie rozszerzalności i elastyczności – większość kodu została rozbita na mniejsze klasy, przy jednoczesnej dbałości o utrzymanie odpowiednich zależności; każda funkcjonalność może zostać dezaktywowana z poziomu administratora,
  • ułatwienie utrzymania – zbudowano dobrze przetestowane i stabilne narzędzie, na którym oparto logikę biznesową.
Zastosowane technologie i narzędzia

Salesforce, Sales Cloud, Service Cloud, Community Cloud, Marketing Cloud, AWS, Apex, Lightning Web Components.

Inne wpisy

creativity day MoodMon case study

Technologie

Innowacyjny system oparty na sztucznej inteligencji wspierający leczenie zaburzeń afektywnych

Wyzwania Na świecie żyje około 280 milionów osób chorujących na ...

Więcej
ROHLIG SUUS Logistics Customer portal Case Study

Java

Pierwszy etap projektu: Budowa Portalu Klienta dla Rohlig Suus

Rohlig Suus to ekspert w branży logistycznej oraz lider na niemieckim ry...

Więcej